Image entrypoint uses set -e + CREATE USER without IF NOT EXISTS.
On PVC reuse the role already exists → entrypoint exits with code 1.
Patch: sed replaces CREATE USER with IF NOT EXISTS variant at startup.
Namespace test-env is shared between test-env and kargo-test-env-pipeline apps.
Having namespace.yaml in both causes ArgoCD OutOfSync conflict.
ArgoCD creates the namespace via syncOptions.CreateNamespace.
* feat(test-env): add 1C test environment manifests (#11)
- PostgreSQL 18.x-2.1C StatefulSet with ru_RU.UTF-8 locale init
- 1C server (ragent+crserver+ras) StatefulSet with stable hostname
- Gitea runner Deployment with edt label for apk-ci-ng
- NodePort services for external 1C access (31540-31545)
- Deploy/verify script: dev/deploy-test-env.sh
- config.yaml for ApplicationSet integration
- test-env only in dev cluster (not in prod AppSet)
* fix(test-env): use initContainer for PG data + remove custom entrypoint
PVC mount on /var/lib/postgresql wipes the image's pre-built cluster.
Solution: initContainer copies cluster data from image to PVC on first run.
Removed custom pg-entrypoint.sh ConfigMap — image has its own.
* feat(test-env): DinD sidecar for runner + auto-registration Job
- Add Docker-in-Docker sidecar to gitea-runner Deployment
- Add register-job.yaml: Job that obtains Gitea runner token via API,
creates Secret, and scales runner to 1
- RBAC: ServiceAccount + Role/ClusterRole for cross-namespace secret access
- Runner labels: edt (for apk-ci-ng), ubuntu-latest
---------
Co-authored-by: XoR <xor@benadis.ru>
Avoids race condition with k3s built-in Traefik Helm chart which
creates its own 'traefik-dashboard' IngressRoute. Both charts tried
to own the same resource name, causing Helm install failure when
ArgoCD created it first.
- Create bootstrap/ dir: cert-manager, traefik-routes, argo-rollouts,
kargo, kargo-*-pipeline (not managed by Kargo promotion)
- infra/ now only: gitea, gitea-custom (promoted by Kargo)
- ci/ unchanged: gitea-runner (promoted by Kargo)
- Split kargo/credentials/ into dev/ and prod/ with separate ksops generators
- Remove kargo-credentials from AppSet (managed by Pulumi Go code)
- Update infra Warehouse: only gitea (was also argo-rollouts, cert-manager)
- Update infra Stage dev: only yaml-update for gitea version
- Fix test-env warehouse: valid subscription instead of empty array
- Update step numbers: bootstrap 1-5, infra 1-2