Files
hermesandgrachevko e1bf3fc554 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>
2026-09-17 20:26:36 +00:00

16 lines
437 B
YAML

---
# yaml-language-server: $schema=https://datreeio.github.io/CRDs-catalog/source.toolkit.fluxcd.io/ocirepository_v1.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: OCIRepository
metadata:
name: app-template
namespace: flux-system
spec:
interval: 15m
layerSelector:
mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip
operation: copy
ref:
tag: 5.1.0
url: oci://ghcr.io/bjw-s-labs/helm/app-template