Files
argocd-apps/apps/base/ghp/certificate.yaml
T
unkin-agent 42c1794d0e
ci/woodpecker/pr/vector-test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
ghp: fix first-install ordering deadlock via sync-waves
The migrate Job was a PreSync hook but connects to postgres-rw, whose CNPG
Cluster + generated postgres-app secret apply in the Sync phase (after all
PreSync hooks). On a fresh install migrate ran before Postgres existed, failed,
exhausted backoffLimit, failed PreSync, and blocked the Sync phase that creates
the DB.

- Move migrate off PreSync to a Sync-phase hook at sync-wave 1.
- Put the CNPG Cluster + backup resources, VSO auth/secrets, and Certificate at
  wave 0 so the DB is Healthy (and creds/cert exist) before migrate runs.
- Put the Deployment + Service/Gateway/HTTPRoute/PDB/VMServiceScrape at wave 2
  so serve starts after migrate completes.
- Add a writable /tmp emptyDir to the serve container and migrate Job (root FS
  is read-only) so codeload/staging writes cannot crash the process.
2026-08-13 19:53:09 +10:00

29 lines
703 B
YAML

---
# Serving cert off the internal Vault-PKI CA (agents already trust vault-ca-cert).
# SANs cover the GitHub endpoints ghp impersonates plus its own management host.
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: ghp-tls
namespace: ghp
labels:
app.kubernetes.io/name: ghp
app.kubernetes.io/instance: ghp
annotations:
argocd.argoproj.io/sync-wave: "0"
spec:
secretName: ghp-tls
issuerRef:
kind: ClusterIssuer
name: vault-issuer
commonName: ghp.k8s.syd1.au.unkin.net
dnsNames:
- github.com
- api.github.com
- codeload.github.com
- "*.githubcopilot.com"
- ghp.k8s.syd1.au.unkin.net
privateKey:
algorithm: RSA
size: 4096