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

86 lines
2.6 KiB
Markdown

# 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:
- <tua-org> -> 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.