How an application is designed, secured, and delivered โ from a Git commit to a running, exposed, observed app, riding a paved road that wires TLS, mesh, observability, and policy automatically.
The app's desired state lives in Git; Argo CD syncs it into the tenant namespace. No kubectl by humans.
Ingress+TLS, mesh mTLS, tracing, metrics, and policy are provided by the platform โ the app declares intent.
The recommended manifests already satisfy the guardrails, so the easy way is the compliant way.
Traces and metrics appear without instrumenting the app โ mesh sidecars + ServiceMonitor.
Stateless tiers scale; stateful tiers get stable identity + storage; batch runs as Jobs/CronJobs.
The app team operates only inside their namespace, under their scoped AppProject / kubeconfig.
storageClassName: longhorn.Write manifests/values under apps/<name>/ โ the golden-path chart for a simple service, or a kustomize/Helm bundle for a multi-tier app.
git commit && git push. Argo CD detects the change and syncs it under the tenant's scoped AppProject.
cert-manager issues TLS; Istio injects sidecars (mTLS + traces); Prometheus discovers the ServiceMonitor; Kyverno admits it.
Open https://<app>.<domain> โ running, TLS-terminated, mesh-secured, observed. The app team never ran kubectl.
# the whole full-stack app โ web + db + storage + jobs + mesh โ from one commit git add apps/wordpress && git commit -m "deploy wordpress" && git push # Argo CD reconciles; the platform layers on TLS, mTLS, tracing, metrics, policy.