Skip to content

Commit c5c0910

Browse files
authored
Feature enhancement to support #375 (#425)
* New chart version 3-11-0 * Updated app and test values
1 parent 3e7eaac commit c5c0910

25 files changed

+2080
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*~
18+
# Various IDEs
19+
.project
20+
.idea/
21+
*.tmproj
22+
.vscode/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"server":{"deployment":{"image_tag":"{{.Tag}}","image":"{{.Name}}"}},"pipelineName": "{{.PipelineName}}","releaseVersion":"{{.ReleaseVersion}}","deploymentType": "{{.DeploymentType}}", "app": "{{.App}}", "env": "{{.Env}}", "appMetrics": {{.AppMetrics}}}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v1
2+
appVersion: "1.0"
3+
description: A Helm chart for Kubernetes
4+
name: reference-chart_3-11-0
5+
version: 3.11.0
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
# Mandatory configs
2+
replicaCount: 1
3+
MinReadySeconds: 60
4+
GracePeriod: 30
5+
image:
6+
pullPolicy: IfNotPresent
7+
service:
8+
type: ClusterIP
9+
#name: "service-1234567890"
10+
annotations: {}
11+
# test1: test2
12+
# test3: test4
13+
ContainerPort:
14+
- name: app
15+
port: 8080
16+
servicePort: 80
17+
envoyPort: 8799
18+
useHTTP2: true
19+
supportStreaming: true
20+
idleTimeout: 1800s
21+
# servicemonitor:
22+
# enabled: true
23+
# path: /abc
24+
# scheme: 'http'
25+
# interval: 30s
26+
# scrapeTimeout: 20s
27+
# metricRelabelings:
28+
# - sourceLabels: [namespace]
29+
# regex: '(.*)'
30+
# replacement: myapp
31+
# targetLabel: target_namespace
32+
resources:
33+
# We usually recommend not to specify default resources and to leave this as a conscious
34+
# choice for the user. This also increases chances charts run on environments with little
35+
# resources, such as Minikube. If you do want to specify resources, uncomment the following
36+
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
37+
limits:
38+
cpu: 1
39+
memory: 200Mi
40+
requests:
41+
cpu: 0.10
42+
memory: 100Mi
43+
44+
45+
# Optional configs
46+
LivenessProbe:
47+
Path: ""
48+
port: 8080
49+
scheme: ""
50+
httpHeader:
51+
name: ""
52+
value: ""
53+
tcp: false
54+
command: []
55+
initialDelaySeconds: 20
56+
periodSeconds: 10
57+
successThreshold: 1
58+
timeoutSeconds: 5
59+
failureThreshold: 3
60+
61+
ReadinessProbe:
62+
Path: ""
63+
port: 8080
64+
scheme: ""
65+
httpHeader:
66+
name: ""
67+
value: ""
68+
tcp: false
69+
command: []
70+
initialDelaySeconds: 20
71+
periodSeconds: 10
72+
successThreshold: 1
73+
timeoutSeconds: 5
74+
failureThreshold: 3
75+
76+
ingress:
77+
enabled: false
78+
annotations:
79+
nginx.ingress.kubernetes.io/force-ssl-redirect: 'false'
80+
nginx.ingress.kubernetes.io/ssl-redirect: 'false'
81+
kubernetes.io/ingress.class: nginx
82+
# nginx.ingress.kubernetes.io/rewrite-target: /$2
83+
# nginx.ingress.kubernetes.io/canary: "true"
84+
# nginx.ingress.kubernetes.io/canary-weight: "10"
85+
86+
hosts:
87+
- host: chart-example1.local
88+
paths:
89+
- /example1
90+
- host: chart-example2.local
91+
paths:
92+
- /example2
93+
- /example2/healthz
94+
tls: []
95+
# - secretName: chart-example-tls
96+
# hosts:
97+
# - chart-example.local
98+
99+
ingressInternal:
100+
enabled: false
101+
annotations: {}
102+
# kubernetes.io/ingress.class: nginx
103+
# kubernetes.io/tls-acme: "true"
104+
# nginx.ingress.kubernetes.io/canary: "true"
105+
# nginx.ingress.kubernetes.io/canary-weight: "10"
106+
107+
hosts:
108+
- host: chart-example1.internal
109+
paths:
110+
- /example1
111+
- host: chart-example2.internal
112+
paths:
113+
- /example2
114+
- /example2/healthz
115+
tls: []
116+
# - secretName: chart-example-tls
117+
# hosts:
118+
# - chart-example.local
119+
120+
command:
121+
enabled: false
122+
value: []
123+
124+
args:
125+
enabled: false
126+
value:
127+
- /bin/sh
128+
- -c
129+
- touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
130+
131+
#For adding custom labels to pods
132+
#podLabels:
133+
# customKey: customValue
134+
135+
rawYaml: []
136+
137+
initContainers: []
138+
## Additional init containers to run before the Scheduler pods.
139+
## for example, be used to run a sidecar that chown Logs storage .
140+
#- name: volume-mount-hack
141+
# image: busybox
142+
# command: ["sh", "-c", "chown -R 1000:1000 logs"]
143+
# volumeMounts:
144+
# - mountPath: /usr/local/airflow/logs
145+
# name: logs-data
146+
147+
containers: []
148+
## Additional containers to run along with application pods.
149+
## for example, be used to run a sidecar that chown Logs storage .
150+
#- name: volume-mount-hack
151+
# image: busybox
152+
# command: ["sh", "-c", "chown -R 1000:1000 logs"]
153+
# volumeMounts:
154+
# - mountPath: /usr/local/airflow/logs
155+
# name: logs-data
156+
157+
volumeMounts: []
158+
# - name: log-volume
159+
# mountPath: /var/log
160+
161+
volumes: []
162+
# - name: log-volume
163+
# emptyDir: {}
164+
165+
dbMigrationConfig:
166+
enabled: false
167+
168+
tolerations: []
169+
170+
Spec:
171+
Affinity:
172+
Key:
173+
# Key: kops.k8s.io/instancegroup
174+
Values:
175+
176+
autoscaling:
177+
enabled: false
178+
MinReplicas: 1
179+
MaxReplicas: 2
180+
TargetCPUUtilizationPercentage: 70
181+
TargetMemoryUtilizationPercentage: 80
182+
extraMetrics: []
183+
# - external:
184+
# metricName: pubsub.googleapis.com|subscription|num_undelivered_messages
185+
# metricSelector:
186+
# matchLabels:
187+
# resource.labels.subscription_id: echo-read
188+
# targetAverageValue: "2"
189+
# type: External
190+
#
191+
192+
prometheus:
193+
release: monitoring
194+
195+
server:
196+
deployment:
197+
image_tag: 1-95af053
198+
image: ""
199+
200+
servicemonitor:
201+
additionalLabels: {}
202+
203+
envoyproxy:
204+
image: envoyproxy/envoy:v1.14.1
205+
configMapName: ""
206+
resources:
207+
limits:
208+
cpu: 50m
209+
memory: 50Mi
210+
requests:
211+
cpu: 50m
212+
memory: 50Mi
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
replicaCount: 1
2+
MaxSurge: 1
3+
MaxUnavailable: 0
4+
GracePeriod: 30
5+
pauseForSecondsBeforeSwitchActive: 30
6+
waitForSecondsBeforeScalingDown: 30
7+
8+
Spec:
9+
Affinity:
10+
key: ""
11+
Values: nodes
12+
13+
autoscaling:
14+
enabled: false
15+
MinReplicas: 1
16+
MaxReplicas: 2
17+
TargetCPUUtilizationPercentage: 90
18+
TargetMemoryUtilizationPercentage: 80
19+
20+
secret:
21+
enabled: false
22+
data: {}
23+
# my_own_secret: S3ViZXJuZXRlcyBXb3Jrcw==
24+
25+
EnvVariables: []
26+
# - name: FLASK_ENV
27+
# value: qa
28+
29+
resources:
30+
# We usually recommend not to specify default resources and to leave this as a conscious
31+
# choice for the user. This also increases chances charts run on environments with little
32+
# resources, such as Minikube. If you do want to specify resources, uncomment the following
33+
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
34+
limits:
35+
cpu: "0.05"
36+
memory: 50Mi
37+
requests:
38+
cpu: "0.01"
39+
memory: 10Mi
40+
41+
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
deployment:
2+
strategy:
3+
blueGreen:
4+
autoPromotionSeconds: 30
5+
scaleDownDelaySeconds: 30
6+
previewReplicaCount: 1
7+
autoPromotionEnabled: false
8+
rolling:
9+
maxSurge: "25%"
10+
maxUnavailable: 1
11+
canary:
12+
maxSurge: "25%"
13+
maxUnavailable: 1
14+
steps:
15+
- setWeight: 25
16+
- pause:
17+
duration: 15 # 1 min
18+
- setWeight: 50
19+
- pause:
20+
duration: 15 # 1 min
21+
- setWeight: 75
22+
- pause:
23+
duration: 15 # 1 min
24+
recreate: {}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
server:
2+
deployment:
3+
image_tag: IMAGE_TAG
4+
image: IMAGE_REPO
5+
enabled: false
6+
dbMigrationConfig:
7+
enabled: false
8+
9+
pauseForSecondsBeforeSwitchActive: 0
10+
waitForSecondsBeforeScalingDown: 0
11+
autoPromotionSeconds: 30
12+
13+
#used for deployment algo selection
14+
orchestrator.deploymant.algo: 1
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"ConfigSecrets":{"enabled":true,"secrets":[{"data":{"standard_key":"c3RhbmRhcmQtdmFsdWU="},"external":false,"externalType":"","mountPath":"/test","name":"normal-secret","type":"volume"},{"data":{"secret_key":"U0VDUkVUIERBVEE="},"external":true,"externalType":"AWSSecretsManager","mountPath":"","name":"external-secret-3","type":"environment"}]}}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
1. Get the application URL by running these commands:
2+
{{- if .Values.ingress.enabled }}
3+
{{- range $host := .Values.ingress.hosts }}
4+
{{- range $.Values.ingress.paths }}
5+
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host }}{{ . }}
6+
{{- end }}
7+
{{- end }}
8+
{{- else if contains "NodePort" .Values.service.type }}
9+
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include ".Chart.Name .fullname" . }})
10+
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11+
echo http://$NODE_IP:$NODE_PORT
12+
{{- else if contains "LoadBalancer" .Values.service.type }}
13+
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14+
You can watch the status of by running 'kubectl get svc -w {{ include ".Chart.Name .fullname" . }}'
15+
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include ".Chart.Name .fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
16+
echo http://$SERVICE_IP:{{ .Values.service.port }}
17+
{{- else if contains "ClusterIP" .Values.service.type }}
18+
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include ".Chart.Name .name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19+
{{- end }}

0 commit comments

Comments
 (0)