summaryrefslogtreecommitdiff
path: root/f3s/tracing-demo/helm-chart/templates
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-01-15 21:01:35 +0200
committerPaul Buetow <paul@buetow.org>2026-01-15 21:01:43 +0200
commit8e0cf186a1e1dba042e4dd4eb6727889d2b22bbd (patch)
tree5f1c70195961a5bbf3cc8765f8cec87ae474f2f7 /f3s/tracing-demo/helm-chart/templates
parent617a9f741bad57640e06f03b67b8ea2983c5904e (diff)
feat: add Argo Rollouts controller and tracing-demo canary rollout demo
Diffstat (limited to 'f3s/tracing-demo/helm-chart/templates')
-rw-r--r--f3s/tracing-demo/helm-chart/templates/frontend-rollout.yaml75
1 files changed, 75 insertions, 0 deletions
diff --git a/f3s/tracing-demo/helm-chart/templates/frontend-rollout.yaml b/f3s/tracing-demo/helm-chart/templates/frontend-rollout.yaml
new file mode 100644
index 0000000..156fd0a
--- /dev/null
+++ b/f3s/tracing-demo/helm-chart/templates/frontend-rollout.yaml
@@ -0,0 +1,75 @@
+# Frontend Service Rollout (Progressive Delivery)
+# Replaces frontend-deployment.yaml with canary strategy
+apiVersion: argoproj.io/v1alpha1
+kind: Rollout
+metadata:
+ name: tracing-demo-frontend
+ namespace: services
+ labels:
+ app: tracing-demo-frontend
+ component: frontend
+spec:
+ replicas: 2
+ strategy:
+ canary:
+ # Canary strategy configuration
+ steps:
+ # Step 1: Send 50% of traffic to new version
+ - setWeight: 50
+ # Step 2: Wait 2 minutes before proceeding
+ - pause:
+ duration: 2m
+ # Step 3: Promote to 100% traffic
+ - setWeight: 100
+
+ # Traffic management via service weight
+ trafficRouting:
+ # Simple service-based traffic splitting (native K8s round-robin)
+ # For more advanced traffic splitting, install Istio or Linkerd
+ {}
+
+ # Rollout revision history
+ revisionHistoryLimit: 3
+
+ # Pod template specification (same as Deployment)
+ selector:
+ matchLabels:
+ app: tracing-demo-frontend
+ template:
+ metadata:
+ labels:
+ app: tracing-demo-frontend
+ component: frontend
+ spec:
+ containers:
+ - name: frontend
+ image: registry.lan.buetow.org:30001/tracing-demo-frontend:latest
+ imagePullPolicy: IfNotPresent
+ ports:
+ - containerPort: 5000
+ name: http
+ protocol: TCP
+ env:
+ - name: MIDDLEWARE_URL
+ value: "http://middleware-service.services.svc.cluster.local:5001"
+ - name: OTEL_EXPORTER_OTLP_ENDPOINT
+ value: "http://alloy.monitoring.svc.cluster.local:4317"
+ resources:
+ limits:
+ cpu: 200m
+ memory: 256Mi
+ requests:
+ cpu: 100m
+ memory: 128Mi
+ livenessProbe:
+ httpGet:
+ path: /health
+ port: 5000
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ readinessProbe:
+ httpGet:
+ path: /health
+ port: 5000
+ initialDelaySeconds: 5
+ periodSeconds: 5