refactor: 구조 변경
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# GitOps Bootstrap
|
||||
|
||||
Flux, Argo CD 등 **하나의** GitOps controller를 선택해 설치하고 cluster root에
|
||||
연결합니다. 선택하지 않은 controller의 병렬 구조를 만들지 않습니다.
|
||||
|
||||
포함 범위:
|
||||
|
||||
- controller 설치 또는 설치 manifest
|
||||
- source repository/OCI 연결
|
||||
- `gitops/clusters/<...>` root reconcile 선언
|
||||
- controller용 최소 identity와 secret manager 접근 연결
|
||||
|
||||
제외 범위:
|
||||
|
||||
- ingress, certificate, DNS, storage, observability addon
|
||||
- application workload
|
||||
- controller 설치 후 Git으로 관리할 수 있는 일반 Kubernetes 리소스
|
||||
|
||||
bootstrap credential과 recovery 절차는 `docs/runbooks`에 문서화합니다.
|
||||
@@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: AppProject
|
||||
metadata:
|
||||
name: gitops-control-plane
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-options: Prune=confirm,Delete=confirm
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
description: Bootstrap-only boundary for the project-gitops control plane
|
||||
sourceRepos:
|
||||
- https://git.learn.hyeonworks.com/donghyeon.kang/project-gitops
|
||||
destinations:
|
||||
- namespace: argocd
|
||||
server: https://kubernetes.default.svc
|
||||
namespaceResourceWhitelist:
|
||||
- group: argoproj.io
|
||||
kind: AppProject
|
||||
- group: argoproj.io
|
||||
kind: ApplicationSet
|
||||
orphanedResources:
|
||||
warn: true
|
||||
@@ -0,0 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- control-plane-project.yaml
|
||||
- root-application.yaml
|
||||
@@ -0,0 +1,23 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: project-gitops-control-plane
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: gitops-control-plane
|
||||
source:
|
||||
repoURL: https://git.learn.hyeonworks.com/donghyeon.kang/project-gitops
|
||||
targetRevision: main
|
||||
path: gitops/clusters/dev-k3s
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: argocd
|
||||
syncPolicy:
|
||||
automated:
|
||||
enabled: true
|
||||
prune: true
|
||||
selfHeal: true
|
||||
syncOptions:
|
||||
- PruneLast=true
|
||||
- FailOnSharedResource=true
|
||||
revisionHistoryLimit: 10
|
||||
@@ -0,0 +1,2 @@
|
||||
ARGOCD_VERSION=v3.4.2
|
||||
ARGOCD_INSTALL_SHA256=69114b8c9eb48a1d08598e6f654a0869b10ae902456ea4b70796cb563760f5ec
|
||||
Reference in New Issue
Block a user