Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

정책 api match kind 타입 변경 #512

Merged
merged 1 commit into from
May 28, 2024

Conversation

sangkenlee
Copy link
Contributor

개요

apiGroup이 다른 kind가 표시되지 않는 문제임

  • 백엔드와 프론트엔드의 파라미터 처리 방식 불일치로 서로 apiGroup이 다른 리소스를 선택했을 경우 한 apiGroup만 표시되는 문제
  • 프론트엔드에서는 kind만 지정하고 apiGroup은 백엔드에서 채워 주는데, 조회시 백엔드가 리턴한 apiGroup이 다르면 apiGroup 별로 분할해서 kind를 리턴함
  • 프론트에서는 첫번째 kinds만 처리해서 그룹이 여러개인 경우 표시 안 됨

처리 방안

  • 프론트에서 처리하는 Kinds를 flatten해서 ui에서 조회할 때에는 apiGroup을 제거하고 하나의 배열로 리턴
  • 백엔드에서 저장하고 처리는 유지
  • 관련 자료 구조를 다음 As-is 에서 To-be로 변경

As-is

api에서 policies 조회 시 리턴하는 match는 향식은 다음과 같음.

"match": {
  "kinds": [
    {
      "apiGroups": [
        ""
      ],
      "kinds": [
        "Pod"
      ]
    }
  ]
}

또는

matchYaml : "...."

To-be

  • 형태에서 다음으로 변경 에정
  • type에 따른 value 세팅으로 변경, value는 스트링 타입으로 json이나 yaml을 escape해서 보내야 함
  • namespaces, exlucdeNamespaces는 ui에서 보내는 부분은 없지만 향후 사용할 여지가 있으므로 백엔드 기능은 살려 둠
"target": {
   "type": "simple" or "yaml", 
   "value": "...<yaml>.." or "{\"kinds\":[\"Pod\","\"Deployment\"],\"namespaces\":[\"ns1\"],\"excludeNamespaces\":[\"ns2\"]}"
}

@ktkfree
Copy link
Contributor

ktkfree commented May 27, 2024

base branch 를 release 로 변경해주세요 ( 제목에서 edit 누르시고 변경하심 됩니다. )

@sangkenlee sangkenlee changed the base branch from develop to release May 27, 2024 03:15
@ktkfree ktkfree merged commit 2c5f316 into openinfradev:release May 28, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants