Skip to content

chore: 웹훅 제외 네임스페이스 목록을 신규 aipub-installer 씨드와 동기화 (AIP-3362) - #124

Merged
juu-n-oo merged 2 commits into
developfrom
feat/AIP-3362
Oct 22, 2026
Merged

juu-n-oo merged 2 commits into
developfrom
feat/AIP-3362

Conversation

@juu-n-oo

@juu-n-oo juu-n-oo commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • 참고용 웹훅 매니페스트 3개의 namespaceSelector NotIn 목록이 installer 씨드와 어긋나 있어 21개로 맞췄다
  • 신규 aipub-installer 레포 기준으로 재확인했다 (2026-10-16 생성, 히스토리 단절·모듈 구조). 씨드의 위치·변수명이 바뀌었고 목록 자체도 달라졌다
  • 대조하다 발견한 drift 1건(namespaces CREATE 룰 유실)을 함께 고친다
  • 관련 티켓: AIP-3362

🔍 여기만은 꼭 봐주세요!!

  • 이 파일들은 kustomization.yaml 의 resources 에 없는 개발/참고용 매니페스트입니다. 운영 설치는
    aipub-installer 의 helm 차트가 합니다. 즉 이 PR 은 런타임 동작을 바꾸지 않고, 어긋난 참고 자료를
    실제와 맞추는 것입니다.
  • aipub-volume-clusters 는 어디에도 없는 이름이었습니다. 신규·구 installer 모두 실제 값은
    aipub-cluster-volumes 입니다. 그대로 두면 참고본이 존재하지 않는 ns 를 제외하고 진짜 ns 는
    제외하지 않는
    상태가 됩니다.
  • mutating-webhook-user-v2.yaml 에 namespaces CREATE 룰을 되살립니다. AIP-2739(e9221f6)가
    이 룰을 구 userrelationship 웹훅 정의(java-webhook-configuration.yaml)에만 넣었는데, 그 정의가
    87011f8 에서 죽은 정의로 제거되며 같이 사라졌습니다. installer 차트에는 있고
    UserLabelReviewHandler 도 Namespace CREATE 를 처리하므로, 참고본만 실제와 달랐습니다.
  • java-webhook-configuration.yaml 이 mutating-webhook-workload-label.yaml 과 같은 이름의 웹훅
    (workload-label.project-controller.project.aipub.ten1010.io)을 중복 정의하고 있습니다. 이번엔 셋 다
    동일하게 맞추기만 했고, 중복 자체의 정리는 별건으로 남깁니다.

씨드 경로가 바뀌었습니다

구 레포(aipub-installer-archive) 기준으로 적었던 주석을 신규 레포 경로로 교체했습니다.
변수명도 aipub_system_namespaces → aipub_java_system_namespaces 로 바뀌었고,
config.yaml : project_controller.system_namespaces 단계는 사라졌습니다.

ansible/aipub_vars/defaults/aipub-java.yml : aipub_java_system_namespaces   <- 원천
  -> scripts/aipub/java/templates/values.yaml.j2 : infra.projectController.systemNamespaces
  -> installer/components/project-controller.sh 가 values-derived.yaml 작성
  -> charts/aipub/charts/project-controller : webhook.excludedNamespaces (+ aipub.reservedNamespace)

Changes

  • 웹훅 제외 목록: 세 파일(mutating-webhook-user-v2.yaml, mutating-webhook-workload-label.yaml,
    java-webhook-configuration.yaml) 모두 15개 → 21개
    • 추가: default, aipub-monitoring, aipub-linkerd, network-operator,
      aipub-cluster-volumes, cilium-secrets(신규 씨드에 들어온 항목, cilium ingress 의 TLS 시크릿 ns)
  • namespaces CREATE 룰 복원 (mutating-webhook-user-v2.yaml, scope: Cluster) — installer 차트와 일치
  • 주석: 각 namespaceSelector 위에 원천과 갱신 규칙을 신규 경로로 적었다. 리포 컨벤션에 맞춰
    주석의 Jira 키는 뺐다 (.claude/rules/controller-code-style.md)

배포 시 필수 확인 사항

  • 런타임 영향 없음 (kustomize resources 밖). 실제 값은 aipub-installer 가 배포한다. 배포 순서 의존성은 없다.
  • 관련 installer PR: ten1010-io/aipub-installer#18 (씨드에는 있는데 폴백 두 곳에 빠져 있던
    cilium-secrets 를 맞춘다 — 정상 설치 경로에는 영향 없음)
  • 최초 동기화의 installer 쪽 짝인 ten1010-io/aipub-installer-archive#343 은 레포 리네임으로 archive 에 있다

Test plan

  • 세 파일 YAML 파싱 후 웹훅별 selector 확인 — userrelationship-v2 / workload-label 각 NotIn
    21개, 씨드와 순서까지 일치. userauthorityreview-mutate / -validate 는 기존대로 빈 selector
  • helm template 으로 installer 차트(charts/aipub/charts/project-controller)를 렌더해
    웹훅 집합 전체(이름·failurePolicy·clientConfig path·rules)를 참고 매니페스트와 대조 — 전부 일치
  • 차트에만 있던 namespaces CREATE 룰이 유일한 rules 차이였고, 이 PR 에서 해소
  • (사람) 클러스터에서 kubectl get mutatingwebhookconfiguration 로 실제 배포본과 최종 대조

🚀 Release Version

v5.2.0

참고용 매니페스트 세 곳(mutating-webhook-user-v2, mutating-webhook-workload-label,
java-webhook-configuration)의 namespaceSelector NotIn 목록이 installer 차트와
서로 어긋나 있었다. aipub-monitoring / default / network-operator / aipub-linkerd
가 빠져 있고, 신규 aipub-volume-clusters 도 없었다.

installer 의 단일 씨드(group_vars/all/aipub.yml : aipub_system_namespaces)와
같은 통합 목록 20개로 맞추고, 각 선택자 위에 원천이 그 씨드임을 적었다.

이 파일들은 kustomization.yaml 의 resources 에 없는 개발/참고용이고 운영
설치는 installer 의 helm 차트가 한다. 그래도 어긋난 채 두면 다음 사람이
틀린 목록을 보게 되므로 함께 갱신한다.

java-webhook-configuration.yaml 이 mutating-webhook-workload-label.yaml 과
같은 이름의 웹훅을 중복 정의하는 문제는 이번 범위 밖이라 그대로 둔다.
@juu-n-oo juu-n-oo added this to the v5.2.0 milestone Sep 30, 2026
@juu-n-oo juu-n-oo self-assigned this Sep 30, 2026
installer 레포가 새로 만들어지며(모듈 구조) 씨드의 위치와 변수명이 바뀌었고,
목록 자체도 달라져 이전 동기화가 어긋났다.

- `aipub-volume-clusters` → `aipub-cluster-volumes`. 앞 이름은 구 installer 에도
  없던 오타였다 — 그대로 두면 없는 ns 를 제외하고 실제 ns 는 제외하지 않는다
- `cilium-secrets` 추가 (신규 씨드에 들어온 항목). 20 → 21개
- 포인터 주석을 신규 경로로 교체:
  ansible/aipub_vars/defaults/aipub-java.yml : aipub_java_system_namespaces
    -> scripts/aipub/java/templates/values.yaml.j2 : infra.projectController.systemNamespaces
    -> charts/aipub/charts/project-controller : webhook.excludedNamespaces

같이 대조하다 발견한 drift 하나를 함께 고친다. `mutating-webhook-user-v2.yaml` 에
`namespaces` CREATE 룰이 없다. AIP-2739 가 이 룰을 구 userrelationship 웹훅 정의
(java-webhook-configuration.yaml)에만 넣었고, 그 정의가 87011f8 에서 죽은 정의로
제거되며 같이 사라졌다. installer 차트에는 있고 UserLabelReviewHandler 도 Namespace
CREATE 를 처리하므로, 참고본만 실제와 달랐다.
@juu-n-oo juu-n-oo changed the title chore: 웹훅 제외 네임스페이스 목록을 installer 씨드와 동기화 (AIP-3362) chore: 웹훅 제외 네임스페이스 목록을 신규 aipub-installer 씨드와 동기화 (AIP-3362) Oct 22, 2026
@juu-n-oo
juu-n-oo merged commit 3f7823a into develop Oct 22, 2026
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.

1 participant