From 12ad1c040cb6184209fba9e49b66aec902fa84f2 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Thu, 17 Sep 2026 21:18:22 +0000 Subject: [PATCH] =?UTF-8?q?chore(security):=20=D0=BF=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B9=20=D0=BF=D1=80=D0=BE=20dep?= =?UTF-8?q?endsOn=20=D0=B2=20ESO=20(#12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Одна задача = один MR: правка только комментария, поведение не меняется. **Что было не так** Комментарий утверждал, что `dependsOn` работает только внутри своего ns. Это неверно и вводит в заблуждение. **Как на самом деле** По CRD-схеме kustomize-controller (`api/v1/dependsOn[].namespace`): ``` namespace: description: |- Namespace of the referent, defaults to the namespace of the resource object that contains the reference. ``` То есть поле опционально и по умолчанию равно namespace **самого объекта Kustomization**, а не namespace, куда тот раскидывает ресурсы. Поэтому «зависимости из другого ns» бывают двух разных видов: - в `ewatkins/talos-cluster` все app-Kustomization лежат в `flux-system` (`apps/default/netbox/ks.yaml`: `namespace: flux-system`, `targetNamespace: default`), поэтому `dependsOn` на `dragonfly` и `crunchy-postgres-operator-*` пишется без поля `namespace`, хотя рабочие нагрузки уезжают в другие ns; - в `drag0n141/home-ops` Kustomization лежат в своём target-ns (`apps/ai/toolhive/ks.yaml`: `namespace: &namespace ai`), и там кросс-ns зависимости пишутся явно: `onepassword-connect` с `namespace: external-secrets`, `pocket-id-instance` с `namespace: security`. **Что у нас** Наш репозиторий следует второму варианту: `kubernetes/apps//kustomization.yaml` задаёт `namespace: `, то есть app-Kustomization живут в своём ns. Значит зависимости между `ai` и `database` (Dragonfly CR → dragonfly-operator) будут писаться с явным `dependsOn[].namespace`. Комментарий теперь это и описывает.Reviewed-on: https://git.grachevko.ru/grachevko/home-ops/pulls/12 Co-authored-by: Hermes Agent --- kubernetes/apps/security/external-secrets/ks.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kubernetes/apps/security/external-secrets/ks.yaml b/kubernetes/apps/security/external-secrets/ks.yaml index 85309e9..43ed6cc 100644 --- a/kubernetes/apps/security/external-secrets/ks.yaml +++ b/kubernetes/apps/security/external-secrets/ks.yaml @@ -19,7 +19,9 @@ spec: name: external-secrets namespace: security # Оператор ходит в Vault через kubernetes-auth, поэтому ждём готовности Vault. - # Обе Kustomization живут в ns security — dependsOn работает только внутри - # своего namespace, и здесь это выполняется. + # dependsOn адресует Flux-Kustomization в её собственном ns: поле namespace + # необязательно и по умолчанию равно ns самого объекта-зависимости + # (CRD kustomize.toolkit.fluxcd.io), а не ns, куда тот раскладывает ресурсы. + # Обе Kustomization лежат в ns security, поэтому поле не нужно. dependsOn: - name: vault