# k8s 🔧 Кратко: Kubernetes‑манифесты для namespace `terra` — развёртывание `registry-server`, `terraform-operator`, Ingress, TLS и связанные ресурсы (S3, CRD, builder ConfigMap). ## Важные файлы - `00-namespace.yaml` — namespace `terra` - `00-rbac.yaml` — RBAC для оператора - `02-crd.yaml` — CRD для операторов (ProviderRelease) - `03-build-script.yaml` — ConfigMap для сборщика Job'ов - `04-operator-deployment.yaml` — Deployment для оператора - `05-registry-server.yaml`, `06-registry-server-docs.yaml` — Deployment, Service и Ingress для `registry-server` ## Как перенести на новый домен (коротко) ✅ 1. **Ingress**: в манифесте (обычно `05-*` или `registry-ingress`) заменить `host: terra.k8c.ru` на новый домен и убедиться в корректной аннотации `cert-manager.io/cluster-issuer` (или задать другой `secretName`). 2. **Certificate**: cert-manager автоматически выпустит/обновит TLS; проверьте `kubectl -n terra get certificate registry-tls -o yaml` и дождитесь `status.conditions[*].type == Ready`. 3. **Deployment env**: заменить `REGISTRY_HOSTNAME` в `04-operator-deployment.yaml` и в `registry-server` на новый домен. 4. **DNS**: добавить A/CNAME запись для нового домена, указывающую на IP балансировщика (`kubectl -n terra get ingress registry-ingress -o jsonpath='{.status.loadBalancer.ingress[0].ip}'`). 5. **Secrets & storage**: используйте `s3-credentials` (S3_ENDPOINT/S3_ACCESS_KEY/S3_SECRET_KEY) и убедитесь в доступности S3. 6. **Apply & Verify**: - `kubectl apply -f manifests/` - `kubectl -n terra describe ingress registry-ingress` - `kubectl -n terra get certificate registry-tls` - `curl -vk https:///docs////` ## Проверки (read-only) - `kubectl -n terra get ingress,svc,deploy,po,secret` - `kubectl -n terra get certificate registry-tls -o yaml` - `kubectl -n terra logs ` > Примечание: это инструкция для операции вручную/CI; я ничего не меняю в кластере автоматически.