feat(ai): toolhive-operator и его CRD в ns ai #11

Merged
grachevko merged 1 commits from feat/toolhive into main 2026-09-17 21:18:29 +00:00
Collaborator

Одна задача = один MR: поднимается ТОЛЬКО оператор ToolHive со своими CRD. MCP-серверы (searxng-mcp и далее) поедут отдельными MR вместе с теми приложениями, которым служат.

Что сделано

  • kubernetes/apps/ai/namespace.yaml — ns ai с kustomize.toolkit.fluxcd.io/prune: disabled (в этом ns будет жить агент и его PVC, случайный prune не должен его сносить).
  • kubernetes/apps/ai/kustomization.yaml — ns-каталог по образцу security: namespace: ai, компонент sops, ресурсы.
  • kubernetes/apps/ai/toolhive/ks.yaml — две Kustomization: toolhive-operator-crds и toolhive-operator (вторая с dependsOn на первую). CRD ставятся отдельным релизом до оператора — так это делают все 34 home-ops репозитория, и это же структурно снимает нашу грабельку «CR раньше CRD».
  • kubernetes/apps/ai/toolhive/{app,crds}/ — по kustomization.yaml, ocirepository.yaml, helmrelease.yaml.

Источники

  • oci://ghcr.io/stacklok/toolhive/toolhive-operator тег 0.49.0
  • oci://ghcr.io/stacklok/toolhive/toolhive-operator-crds тег 0.49.0
  • Версии и форма values сверены с рабочим репозиторием (drag0n141/home-ops, kubernetes/apps/ai/toolhive). Тег 0.49.0 — действующий: запрос списка тегов у ghcr отдаёт постранично и в первую страницу не попадает.

Проверено

  • kubectl kustomize kubernetes/apps/ai собирается (Namespace + 2 Kustomization + Secret из sops-компонента).
  • Компонент sops подключается так же, как в ns security.
Одна задача = один MR: поднимается ТОЛЬКО оператор ToolHive со своими CRD. MCP-серверы (searxng-mcp и далее) поедут отдельными MR вместе с теми приложениями, которым служат. **Что сделано** - `kubernetes/apps/ai/namespace.yaml` — ns `ai` с `kustomize.toolkit.fluxcd.io/prune: disabled` (в этом ns будет жить агент и его PVC, случайный prune не должен его сносить). - `kubernetes/apps/ai/kustomization.yaml` — ns-каталог по образцу `security`: `namespace: ai`, компонент `sops`, ресурсы. - `kubernetes/apps/ai/toolhive/ks.yaml` — две Kustomization: `toolhive-operator-crds` и `toolhive-operator` (вторая с `dependsOn` на первую). CRD ставятся отдельным релизом до оператора — так это делают все 34 home-ops репозитория, и это же структурно снимает нашу грабельку «CR раньше CRD». - `kubernetes/apps/ai/toolhive/{app,crds}/` — по `kustomization.yaml`, `ocirepository.yaml`, `helmrelease.yaml`. **Источники** - `oci://ghcr.io/stacklok/toolhive/toolhive-operator` тег `0.49.0` - `oci://ghcr.io/stacklok/toolhive/toolhive-operator-crds` тег `0.49.0` - Версии и форма values сверены с рабочим репозиторием (drag0n141/home-ops, `kubernetes/apps/ai/toolhive`). Тег `0.49.0` — действующий: запрос списка тегов у ghcr отдаёт постранично и в первую страницу не попадает. **Проверено** - `kubectl kustomize kubernetes/apps/ai` собирается (Namespace + 2 Kustomization + Secret из sops-компонента). - Компонент `sops` подключается так же, как в ns `security`.
hermes added 1 commit 2026-09-17 20:28:12 +00:00
feat(ai): toolhive-operator и его CRD в ns ai
Flate / Flate - Success (pull_request) Blocked by required conditions
Flate / Flate - Filter (pull_request) Successful in 5s
Flate / Flate (pull_request) Successful in 17s
dad469501f
grachevko merged commit 5b33310a44 into main 2026-09-17 21:18:29 +00:00
grachevko deleted branch feat/toolhive 2026-09-17 21:18:30 +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#11