본문으로 건너뛰기

Tekton

목적

Tekton 매니페스트는 Lumie의 과거 인클러스터 빌드 시스템을 재활성화하기 위한 경로로 체크인되어 있습니다. 활성 applications/kustomization.yaml은 Tekton Pipelines, Tekton Triggers, Tekton 대시보드, tekton-ci-cd를 모두 주석 처리하므로, 이 Argo CD 애플리케이션은 활성 App-of-Apps 집합에 포함되지 않습니다.

이 페이지는 Tekton 설치, 네임스페이스 동작, 이미지 rewrite 정책, 업스트림 Tekton 릴리스와 Lumie CI 정의 사이의 경계를 변경하는 개발자를 위한 레퍼런스 문서입니다. 빌드 흐름 자체는 CI/CD를 참고하세요.

소스 경로

경로역할
lumie-infra/applications/tekton/pipeline/argocd.yamlTekton Pipelines용 Argo CD 애플리케이션
lumie-infra/applications/tekton/pipeline/kustomization.yaml업스트림 Tekton Pipeline 릴리스를 가져와 이미지를 Zot으로 rewrite
lumie-infra/applications/tekton/triggers/argocd.yamlTekton Triggers용 Argo CD 애플리케이션
lumie-infra/applications/tekton/triggers/kustomization.yaml업스트림 Triggers와 interceptor 릴리스를 가져와 이미지 rewrite
lumie-infra/applications/tekton/dashboard/argocd.yamlTekton Dashboard용 Argo CD 애플리케이션
lumie-infra/applications/tekton/dashboard/kustomization.yaml업스트림 대시보드 릴리스를 가져오고 리소스 재정의 적용
lumie-infra/applications/tekton/ci-cd/argocd.yamlLumie 전용 Tekton 런타임 오브젝트

체크인된 컴포넌트

애플리케이션네임스페이스소스
tekton-pipelinetekton-pipelinesapplications/tekton/pipeline/kustomization.yaml이 참조하는 업스트림 매니페스트 엔드포인트, 미러 이미지 태그는 v1.6.0으로 고정
tekton-triggerstekton-pipelinesapplications/tekton/triggers/kustomization.yaml이 참조하는 업스트림 매니페스트 엔드포인트, 미러 이미지 태그는 v0.34.0으로 고정
tekton-dashboardtekton-pipelinesapplications/tekton/dashboard/kustomization.yaml이 참조하는 업스트림 매니페스트 엔드포인트, 미러 dashboard 이미지는 v0.63.1로 고정
tekton-ci-cdtekton-pipelinesapplications/tekton/ci-cd/manifests 아래 Lumie 저장소 로컬 매니페스트

네 애플리케이션 모두 Argo CD 매니페스트를 갖고 있지만, lumie-infra/applications/kustomization.yaml에서 항목을 주석 해제하지 않으면 비활성입니다.

런타임 토폴로지

네임스페이스 및 이미지 정책

Tekton을 재활성화하면 해당 네임스페이스는 의도적으로 특별 취급됩니다.

  • applications/tekton/pipeline/kustomization.yamltekton-pipelinespod-security.kubernetes.io/enforce: privileged 라벨을 붙입니다.
  • 같은 파일은 메인 및 resolver 네임스페이스에 goldilocks.fairwinds.com/enabled: "true"도 켭니다.
  • 컨트롤러 설치용 kustomization은 의도적으로 움직이는 업스트림 릴리스 엔드포인트를 추적하지만, 체크인된 모든 images: rewrite는 zot.lumie-infra.com/... 아래의 명시적 태그로 미러 컨트롤러 이미지를 고정합니다.

소스 앵커: lumie-infra/applications/tekton/pipeline/kustomization.yamlimages: rewrite entry.

핵심 불변식은 다음과 같습니다.

images:
- name: ghcr.io/tektoncd/pipeline/controller-10a3e32792f33651396d02b6855a6e36
newName: zot.lumie-infra.com/tektoncd/pipeline/controller-10a3e32792f33651396d02b6855a6e36
newTag: v1.6.0

업스트림 매니페스트가 이미지 이름이나 해시를 바꾸면 rewrite가 더 이상 매칭되지 않아 Tekton이 Zot 대신 업스트림에서 pull하려고 시도합니다.

소유권 경계

책임소유자
Tekton CRD와 컨트롤러 설치applications/tekton/pipelineapplications/tekton/triggers
Tekton dashboardapplications/tekton/dashboard
Lumie pipeline, task, trigger, quota, cleanupapplications/tekton/ci-cd
이미지 콘텐츠업스트림 레지스트리가 아니라 Zot

장애 및 드리프트 동작

장애 지점동작
업스트림 릴리스가 이미지 이름 변경Kustomize images: rewrite가 정확한 이름과 더 이상 매칭되지 않음
Tekton CRD status 변화Argo CD는 tekton-pipeline, tekton-triggers, tekton-dashboard 앱에서 CRD status diff를 무시
EventListener sink 이미지 불일치applications/tekton/triggers/kustomization.yaml이 컨트롤러 arg index 4를 명시적으로 패치하므로, 업스트림 arg 순서 변경 시 패치가 깨짐
CI 런타임 오브젝트 churn예상된 현상이며, 장기 정리는 컨트롤러 설치가 아니라 tekton-ci-cd가 담당

검증

cd lumie-infra
rg -n "tekton/(pipeline|triggers|dashboard|ci-cd)" applications/kustomization.yaml
rg -n "storage.googleapis.com/tekton-releases|infra.tekton.dev|zot.lumie-infra.com/tektoncd|pod-security.kubernetes.io/enforce" applications/tekton
kubectl get applications -n argocd | rg 'tekton' || true

성공 신호:

  • 플랫폼이 축소된 활성 형태일 때는 저장소 grep에서 Tekton 항목이 applications/kustomization.yaml에 주석 처리된 상태로 보입니다.
  • 재활성화한 경우에는 네 Argo CD 애플리케이션이 모두 HealthySynced가 되어야 하고, tekton-pipelines 네임스페이스에 예상 컨트롤러 deployment가 있어야 하며, tekton-ci-cd가 조정되기 전에 tekton.devtriggers.tekton.dev용 CRD가 존재해야 합니다.
  • 저장소 grep에서 설치용 kustomization에 선언된 업스트림 매니페스트 참조와 매칭되는 zot.lumie-infra.com/tektoncd/... 이미지 rewrite가 계속 보입니다.