# gitops-repo - esempio completo (3 namespace, Fleet su RKE2) Repo di esempio pronto da usare come base: GitOps limitato a namespace-A, namespace-B, namespace-C, con Fleet come motore di sync. ## Struttura ``` . ├── bootstrap/ <- file legacy Argo CD (non usati con Fleet) │ ├── 00-namespace.yaml │ ├── 01-appproject.yaml │ └── 02-root.yaml │ └── clusters/ └── idc/ <- nome cluster/repository scope attuale ├── namespace-A/ │ ├── application.yaml <- da migrare a Fleet GitRepo │ └── manifests/ │ └── deployment.yaml ├── namespace-B/ │ ├── application.yaml <- da migrare a Fleet GitRepo │ └── manifests/ │ └── deployment.yaml └── namespace-C/ ├── application.yaml <- gia convertito a Fleet GitRepo └── manifests/ └── deployment.yaml ``` ## Cosa applichi a mano con Fleet - Applichi a mano i manifest Fleet di tipo GitRepo (uno per namespace o uno aggregato). - I file in clusters/idc/namespace-*/manifests vengono sincronizzati automaticamente da Fleet. - I file in bootstrap sono legacy Argo CD: con Fleet installato, non sono necessari. ## Bootstrap Fleet - passo per passo ### 1. Verifica Fleet ```bash kubectl -n cattle-fleet-system get pods kubectl get crd gitrepos.fleet.cattle.io ``` ### 2. Applica il GitRepo Esempio con namespace-C: ```bash kubectl apply -f clusters/idc/namespace-C/application.yaml ``` ### 3. Verifica stato Fleet ```bash kubectl -n fleet-local get gitrepo kubectl -n cattle-fleet-system get bundles kubectl -n cattle-fleet-system get bundledeployments ``` ## Repo privato GitHub Se il repo e privato, configura le credenziali per Fleet (Secret nel namespace Fleet usato, tipicamente fleet-local o fleet-default). ## Prima di usare questo repo Sostituisci ovunque compare: - -> org/utente reale del tuo repo Git - i deployment di esempio -> i tuoi manifest reali ## Migrazione consigliata (A e B) Attualmente solo namespace-C e gia in formato Fleet. Per allineare tutto: 1. Converti clusters/idc/namespace-A/application.yaml in GitRepo Fleet. 2. Converti clusters/idc/namespace-B/application.yaml in GitRepo Fleet. 3. Applica i due manifest e verifica bundle/bundledeployments. ## Estendere a un quarto namespace in futuro 1. Crea clusters/idc/namespace-D/manifests con i tuoi YAML. 2. Crea clusters/idc/namespace-D/application.yaml in formato Fleet GitRepo. 3. Applica il manifest e verifica la generazione dei bundle.