feat(flux): каталог repositories и общий источник app-template #10

Merged
grachevko merged 2 commits from feat/flux-repositories into main 2026-09-17 20:26:39 +00:00
Collaborator

Одна задача = один 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.yamlOCIRepository 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, ссылается на источник без версии:

spec:
  chartRef:
    kind: OCIRepository
    name: app-template
    namespace: flux-system

Проверено локально

  • kubectl kustomize kubernetes/flux/repositories собирается.
  • Flate на предыдущей ревизии: 1 failed (отсутствующий oci/kustomization.yaml), после фикса — перезапущен.
Одна задача = один 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`), после фикса — перезапущен.
hermes added 1 commit 2026-09-17 20:07:32 +00:00
feat(flux): каталог repositories и общий источник app-template
Flate / Flate - Filter (pull_request) Successful in 4s
Flate / Flate (pull_request) Failing after 15s
Flate / Flate - Success (pull_request) Canceled after 0s
78f714414d
hermes added 1 commit 2026-09-17 20:18:09 +00:00
fix(flux): kustomization.yaml внутри repositories/oci
Flate / Flate - Success (pull_request) Blocked by required conditions
Flate / Flate - Filter (pull_request) Successful in 7s
Flate / Flate (pull_request) Successful in 16s
98a8093a98
grachevko merged commit e1bf3fc554 into main 2026-09-17 20:26:39 +00:00
grachevko deleted branch feat/flux-repositories 2026-09-17 20:26:39 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: grachevko/home-ops#10