initial push

This commit is contained in:
2026-07-19 02:33:48 +07:00
commit cf03e8e0e9
5 changed files with 125 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# Plain Deployment — note there is NO `namespace:` here. ArgoCD places it in the
# namespace named by the Application's destination (dev). Leaving it out keeps
# these manifests reusable for prod later (a prod Application would drop the
# same files into the prd namespace).
apiVersion: apps/v1
kind: Deployment
metadata:
name: gitops-demo
spec:
replicas: 1
selector:
matchLabels:
app: gitops-demo
template:
metadata:
labels:
app: gitops-demo
spec:
containers:
- name: whoami
image: traefik/whoami:latest
ports:
- containerPort: 80

View File

@@ -0,0 +1,27 @@
# Same Ingress shape as Phases 1-2, now delivered via GitOps. When ArgoCD syncs
# this, the full platform reacts: cert-manager issues the cert, external-dns
# creates the A record, Traefik routes it. A brand-new host proves the whole
# chain end-to-end from a single git commit.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: gitops-demo
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: traefik
tls:
- hosts:
- gitops-demo.dev.lgkentang.com
secretName: gitops-demo-tls
rules:
- host: gitops-demo.dev.lgkentang.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: gitops-demo
port:
number: 80

View File

@@ -0,0 +1,10 @@
apiVersion: v1
kind: Service
metadata:
name: gitops-demo
spec:
selector:
app: gitops-demo
ports:
- port: 80
targetPort: 80