feat(flux): каталог repositories и общий источник app-template (#10)
Одна задача = один MR. Здесь только общий каталог Flux-источников и единственное объявление app-template, без добавления сервисов.
**Что сделано**
- `kubernetes/flux/repositories/kustomization.yaml` — корневой каталог источников (`git/`, `helm/`, `oci/` добавляются по мере появления).
- `kubernetes/flux/repositories/oci/kustomization.yaml` — перечень источников в `oci/` (kustomize требует kustomization.yaml внутри каждого каталога, из-за его отсутствия первый прогон Flate падал).
- `kubernetes/flux/repositories/oci/app-template.yaml` — `OCIRepository` `app-template` в ns `flux-system`, `tag: 5.1.0`, `layerSelector.mediaType ... operation: copy`, `url: oci://ghcr.io/bjw-s-labs/helm/app-template` (у bjw-s OCI-путь `/helm/`, а не `/charts/`: kubesearch по имени чарта показывает `/charts/app-template` и на этом легко собрать нерабочий источник).
- `kubernetes/flux/cluster/repositories.yaml` — Kustomization `repositories` (path `./kubernetes/flux/repositories`).
**Про размещение**
`kubernetes/flux/cluster` — это sync-каталог НАШЕГО репозитория (FluxInstance, `.values.instance.sync.path`), поэтому новый Kustomization подхватывается автоматически и bootstrap править не нужно. У ewatkins аналог называется `kubernetes/flux/config`; оттуда взят только layout `repositories/{git,helm,oci}` и форма файла источника.
**Как пользуются**
Версия чарта теперь живёт ровно в одном файле. HelmRelease любого приложения, в любом ns, ссылается на источник без версии:
```yaml
spec:
chartRef:
kind: OCIRepository
name: app-template
namespace: flux-system
```
**Проверено локально**
- `kubectl kustomize kubernetes/flux/repositories` собирается.
- Flate на предыдущей ревизии: 1 failed (отсутствующий `oci/kustomization.yaml`), после фикса — перезапущен.Reviewed-on: #10
Co-authored-by: Hermes Agent <hermes@grachevko.ru>
This commit was merged in pull request #10.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: repositories
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 1h
|
||||
path: ./kubernetes/flux/repositories
|
||||
prune: true
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: flux-system
|
||||
namespace: flux-system
|
||||
wait: false
|
||||
Reference in New Issue
Block a user