Skip to content

Commit 2a83d98

Browse files
Distinguish between smart generator
1 parent 535f7a3 commit 2a83d98

File tree

5 files changed

+164
-3
lines changed

5 files changed

+164
-3
lines changed

rollout-configmaps/with-generator/kustomization.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ resources:
66
- service-active.yml
77
- service-preview.yml
88

9-
configurations:
10-
- https://argoproj.github.io/argo-rollouts/features/kustomize/rollout-transform.yaml
11-
129
# declare ConfigMap from a ConfigMapGenerator
1310
configMapGenerator:
1411
- name: my-settings
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
apiVersion: argoproj.io/v1alpha1
2+
kind: Rollout
3+
metadata:
4+
name: my-smart-rollout
5+
spec:
6+
replicas: 3
7+
strategy:
8+
blueGreen:
9+
# activeService specifies the service to update with the new template hash at time of promotion.
10+
# This field is mandatory for the blueGreen update strategy.
11+
activeService: my-smart-rollout-active
12+
# previewService specifies the service to update with the new template hash before promotion.
13+
# This allows the preview stack to be reachable without serving production traffic.
14+
# This field is optional.
15+
previewService: my-smart-rollout-preview
16+
# autoPromotionEnabled disables automated promotion of the new stack by pausing the rollout
17+
# immediately before the promotion. If omitted, the default behavior is to promote the new
18+
# stack as soon as the ReplicaSet are completely ready/available.
19+
# Rollouts can be resumed using: `kubectl argo rollouts resume ROLLOUT`
20+
autoPromotionEnabled: false
21+
revisionHistoryLimit: 2
22+
selector:
23+
matchLabels:
24+
app: my-smart-rollout
25+
template:
26+
metadata:
27+
labels:
28+
app: my-smart-rollout
29+
spec:
30+
containers:
31+
- name: my-container
32+
image: docker.io/kostiscodefresh/configmaps-argo-rollouts-example:1.0
33+
env:
34+
- name: APP_VERSION
35+
valueFrom:
36+
configMapKeyRef:
37+
name: my-settings
38+
key: APP_VERSION
39+
- name: ENV
40+
valueFrom:
41+
configMapKeyRef:
42+
name: my-settings
43+
key: ENV
44+
- name: ENV_TYPE
45+
valueFrom:
46+
configMapKeyRef:
47+
name: my-settings
48+
key: ENV_TYPE
49+
- name: REGION
50+
valueFrom:
51+
configMapKeyRef:
52+
name: my-settings
53+
key: REGION
54+
- name: PAYPAL_URL
55+
valueFrom:
56+
configMapKeyRef:
57+
name: my-settings
58+
key: PAYPAL_URL
59+
- name: DB_USER
60+
valueFrom:
61+
configMapKeyRef:
62+
name: my-settings
63+
key: DB_USER
64+
- name: DB_PASSWORD
65+
valueFrom:
66+
configMapKeyRef:
67+
name: my-settings
68+
key: DB_PASSWORD
69+
- name: GPU_ENABLED
70+
valueFrom:
71+
configMapKeyRef:
72+
name: my-settings
73+
key: GPU_ENABLED
74+
- name: UI_THEME
75+
valueFrom:
76+
configMapKeyRef:
77+
name: my-settings
78+
key: UI_THEME
79+
- name: CACHE_SIZE
80+
valueFrom:
81+
configMapKeyRef:
82+
name: my-settings
83+
key: CACHE_SIZE
84+
- name: PAGE_LIMIT
85+
valueFrom:
86+
configMapKeyRef:
87+
name: my-settings
88+
key: PAGE_LIMIT
89+
- name: SORTING
90+
valueFrom:
91+
configMapKeyRef:
92+
name: my-settings
93+
key: SORTING
94+
- name: N_BUCKETS
95+
valueFrom:
96+
configMapKeyRef:
97+
name: my-settings
98+
key: N_BUCKETS
99+
ports:
100+
- name: http
101+
containerPort: 8080
102+
protocol: TCP
103+
livenessProbe:
104+
httpGet:
105+
path: /health
106+
port: 8080
107+
readinessProbe:
108+
httpGet:
109+
path: /health
110+
port: 8080
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
# declare ConfigMap as a resource
4+
resources:
5+
- example-rollout.yml
6+
- service-active.yml
7+
- service-preview.yml
8+
9+
configurations:
10+
- https://argoproj.github.io/argo-rollouts/features/kustomize/rollout-transform.yaml
11+
12+
# declare ConfigMap from a ConfigMapGenerator
13+
configMapGenerator:
14+
- name: my-settings
15+
literals:
16+
- APP_VERSION=1.0
17+
- ENV="asia-staging"
18+
- ENV_TYPE="non-prod"
19+
- REGION="asia"
20+
- PAYPAL_URL="staging2.paypal.com"
21+
- DB_USER="non-prod-user"
22+
- DB_PASSWORD="non-prod-password"
23+
- GPU_ENABLED="0"
24+
- UI_THEME="light"
25+
- CACHE_SIZE="2048kb"
26+
- PAGE_LIMIT="25"
27+
- SORTING="ascending"
28+
- N_BUCKETS="42"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: my-smart-rollout-active
5+
spec:
6+
type: ClusterIP
7+
selector:
8+
app: my-smart-rollout
9+
ports:
10+
- name: http
11+
protocol: TCP
12+
port: 8080
13+
targetPort: 8080
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: my-smart-rollout-preview
5+
spec:
6+
type: ClusterIP
7+
selector:
8+
app: my-smart-rollout
9+
ports:
10+
- name: http
11+
protocol: TCP
12+
port: 8080
13+
targetPort: 8080

0 commit comments

Comments
 (0)