Files
italiadatacenter/gitops
2026-09-12 19:21:41 +02:00
..
2026-09-12 19:21:41 +02:00
2026-09-12 19:21:41 +02:00
2026-09-12 19:21:41 +02:00
2026-09-12 19:21:41 +02:00
2026-09-12 19:21:41 +02:00

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

kubectl -n cattle-fleet-system get pods
kubectl get crd gitrepos.fleet.cattle.io

2. Applica il GitRepo

Esempio con namespace-C:

kubectl apply -f clusters/idc/namespace-C/application.yaml

3. Verifica stato Fleet

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.