Repository navigation
feat: restore dev web ingress with automatic DNS and TLS - #23
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Restore the existing dev public networking chain for exactly:
https://argo.syncjob.ru— Argo CD over its insecure-mode HTTP backend, service port 80.https://grafana.syncjob.ru— Grafana using a stable externally provisioned admin Secret.https://chat-dev.syncjob.ru/docs— FastAPI, protected with HTTP basic authentication.Dev overlays reuse the pinned ingress-nginx, cert-manager and external-dns Applications.
Cloudflare DNS reconciliation is ingress-only, zone/annotation-filtered, TXT-owned and
upsert-only. OpenWebUI, CrewAI, Loki and Vector are not exposed. Smoke and the other
environment compositions are unchanged.
TLS uses per-namespace ingress-shim certificates, not a replicated wildcard Secret.
The issuer is rendered by cert-manager extraObjects at sync wave 10, after its CRDs
and webhook, rather than placed in the bootstrap root. Cluster-bound old
SealedSecrets are excluded from dev.
Validation
node tests/test_release_notes.mjspasses.python3 tests/test_dev_networking.py: 8 tests pass, including real renders of allfour pinned controller/Grafana charts and Grafana repeat-render stability.
git diff --checkpasses.issue; replaced random Helm-generated credentials with admin.existingSecret and
verified the regression test RED → GREEN. This fix was self-verified, not an
independent approval of the final head.
Exact-head CI: Validate K8s Manifests, run 40871948947
completed SUCCESS for both dev and smoke at
da124f9b94943ebec827967657bf6513ddb9ce17. Local and CI tests are not runtime verification.Required before an authorized deployment
See
docs/DEV-WEBS.mdfor fresh Cloudflare Secrets in external-dns/cert-manager,the FastAPI ingress auth Secret, and the one-time Grafana admin Secret. These are
references, not committed credentials. Existing Grafana default passwords require
explicit rotation; no claim is made that Helm values rotate stored credentials.
The legacy ingress-nginx controller is retired upstream. This is temporary
restoration of the existing dev architecture, not a recommendation for a new
permanent public deployment; a controller migration is a separate decision.
A LoadBalancer/public IP can incur additional provider charges.
Boundaries and evidence
80bf015cc6e2066732dacb125ef4b6d41c17cd78.public auth: UNKNOWN until an authorized live deployment.
NOT_CHECKED (no federation authority claims); live_runtime: NOT_CHECKED.