Preliminary
1. Kubernetes is installed; if not, check 🔗
link2. Helm is installed; if not, check 🔗
link3. ArgoCD is installed; if not, check 🔗
link1.prepare `charge` DNS A record
Details
# zone 72602.space, RR charge, type A, value 47.110.67.161, TTL 600
# create only when the matching enabled record is absent
2.prepare `charge-spot-quest-argocd.yaml`
Details
git -C /home/aaron/Ops/docs fetch origin main
git -C /home/aaron/Ops/docs \
show origin/main:manifests/charge-spot-quest-argocd.yaml >/dev/null
argocd app get ops-docs --hard-refresh
argocd app sync ops-docs --revision main
argocd app wait ops-docs --sync --timeout 300
kubectl wait --for=jsonpath='{.status.phase}'=Active \
namespace/charge-spot --timeout=120s
The parent ops-docs Application reads the manifests path and creates the
child Application. The child creates namespace charge-spot through
CreateNamespace=true. SQLite is enabled; bundled and external PostgreSQL
stay off.
3.sync by argocd
Details
argocd app get charge-spot-quest --hard-refresh
argocd app sync charge-spot-quest
argocd app wait charge-spot-quest --sync --health --timeout 600
4.verify
Details
kubectl -n argocd get application charge-spot-quest \
-o jsonpath='{.spec.source.repoURL}{"\n"}{.spec.source.path}{"\n"}{.spec.source.targetRevision}{"\n"}'
kubectl -n charge-spot get deployment charge-spot-quest \
-o jsonpath='{range .spec.template.spec.containers[*]}{.name}{"="}{.image}{"\n"}{end}'
kubectl -n charge-spot rollout status deployment/charge-spot-quest --timeout=600s
kubectl -n charge-spot get pods,svc,ingress,pvc
kubectl -n charge-spot get certificate
kubectl -n charge-spot get pods -l app.kubernetes.io/component=postgresql
curl -fsS https://charge.72602.space/health
curl -fsS https://charge.72602.space/readyz
curl -fsS -o /dev/null -w '%{content_type}\n' https://charge.72602.space/
curl -fsS https://charge.72602.space/api/spots >/dev/null
Expected release values: chart charge-spot-quest version 0.1.3 and image
ghcr.io/aaronyang0628/charge-spot-quest@sha256:c5e5b853b783b435f6bb0c369c5fb05ff79757f457714c6de11f4f7720e4aa35.
Ingress / returns text/html. PVC charge-spot-quest-sqlite is Bound at 1Gi. TLS certificate
charge.72602.space-tls should be Ready with expiry 2026-12-14T06:20:17Z.