Skip to content

Commit

Permalink
feat: add podLabels and podAnnotation options to helm chart
Browse files Browse the repository at this point in the history
  • Loading branch information
joshiste committed Aug 9, 2023
1 parent 1ab928f commit 0c421de
Show file tree
Hide file tree
Showing 6 changed files with 174 additions and 16 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ jobs:
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.9.0
version: v3.12.2

- name: Add dependency chart repos
run: |
Expand Down Expand Up @@ -187,10 +187,10 @@ jobs:
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
- name: Install Helm
- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.8.1
version: v3.12.2

- name: Add dependency chart repos
run: |
Expand Down
2 changes: 1 addition & 1 deletion charts/steadybit-extension-gatling/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
name: steadybit-extension-gatling
description: Steadybit gatling extension Helm chart for Kubernetes.
version: 1.0.3
version: 1.0.4
appVersion: latest
home: https://www.steadybit.com/
icon: https://steadybit-website-assets.s3.amazonaws.com/logo-symbol-transparent.png
Expand Down
7 changes: 7 additions & 0 deletions charts/steadybit-extension-gatling/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ spec:
labels:
app.kubernetes.io/name: {{ include "extensionlib.names.name" . }}
{{- include "extensionlib.labels" (list .) | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
annotations:
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
containers:
- image: {{ .Values.image.name }}:{{ .Values.image.tag }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,65 @@
manifest should match snapshot using podAnnotations and Labels:
1: |
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
steadybit.com/discovery-enabled: "false"
name: RELEASE-NAME-steadybit-extension-gatling
namespace: NAMESPACE
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: steadybit-extension-gatling
template:
metadata:
annotations:
some-annotation: some-annotation-value
labels:
app.kubernetes.io/name: steadybit-extension-gatling
some-label: some-label-value
steadybit.com/discovery-enabled: "false"
spec:
containers:
- env:
- name: STEADYBIT_LOG_LEVEL
value: INFO
- name: STEADYBIT_LOG_FORMAT
value: text
image: ghcr.io/steadybit/extension-gatling:latest
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /health/liveness
port: 8088
name: extension
readinessProbe:
httpGet:
path: /health/readiness
port: 8088
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 50m
memory: 64Mi
securityContext:
readOnlyRootFilesystem: true
runAsGroup: 10000
runAsNonRoot: true
runAsUser: 10000
volumeMounts:
- mountPath: /tmp
name: tmp-dir
- mountPath: /opt/gatling/target
name: gatling-target-dir
volumes:
- emptyDir: {}
name: tmp-dir
- emptyDir: {}
name: gatling-target-dir
manifest should match snapshot with TLS:
1: |
apiVersion: apps/v1
Expand All @@ -14,6 +76,7 @@ manifest should match snapshot with TLS:
app.kubernetes.io/name: steadybit-extension-gatling
template:
metadata:
annotations: null
labels:
app.kubernetes.io/name: steadybit-extension-gatling
steadybit.com/discovery-enabled: "false"
Expand Down Expand Up @@ -84,6 +147,7 @@ manifest should match snapshot with extra env vars:
app.kubernetes.io/name: steadybit-extension-gatling
template:
metadata:
annotations: null
labels:
app.kubernetes.io/name: steadybit-extension-gatling
steadybit.com/discovery-enabled: "false"
Expand Down Expand Up @@ -134,6 +198,86 @@ manifest should match snapshot with extra env vars:
name: tmp-dir
- emptyDir: {}
name: gatling-target-dir
manifest should match snapshot with mutual TLS:
1: |
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
steadybit.com/discovery-enabled: "false"
name: RELEASE-NAME-steadybit-extension-gatling
namespace: NAMESPACE
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: steadybit-extension-gatling
template:
metadata:
annotations: null
labels:
app.kubernetes.io/name: steadybit-extension-gatling
steadybit.com/discovery-enabled: "false"
spec:
containers:
- env:
- name: STEADYBIT_LOG_LEVEL
value: INFO
- name: STEADYBIT_LOG_FORMAT
value: text
- name: STEADYBIT_EXTENSION_TLS_SERVER_CERT
value: /etc/extension/certificates/server-cert/tls.crt
- name: STEADYBIT_EXTENSION_TLS_SERVER_KEY
value: /etc/extension/certificates/server-cert/tls.key
- name: STEADYBIT_EXTENSION_TLS_CLIENT_CAS
value: /etc/extension/certificates/client-cert-a/tls.crt,/etc/extension/certificates/client-cert-a/tls.crt
image: ghcr.io/steadybit/extension-gatling:latest
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /health/liveness
port: 8088
name: extension
readinessProbe:
httpGet:
path: /health/readiness
port: 8088
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 50m
memory: 64Mi
securityContext:
readOnlyRootFilesystem: true
runAsGroup: 10000
runAsNonRoot: true
runAsUser: 10000
volumeMounts:
- mountPath: /tmp
name: tmp-dir
- mountPath: /opt/gatling/target
name: gatling-target-dir
- mountPath: /etc/extension/certificates/client-cert-a
name: certificate-client-cert-a
readOnly: true
- mountPath: /etc/extension/certificates/server-cert
name: certificate-server-cert
readOnly: true
volumes:
- emptyDir: {}
name: tmp-dir
- emptyDir: {}
name: gatling-target-dir
- name: certificate-client-cert-a
secret:
optional: false
secretName: client-cert-a
- name: certificate-server-cert
secret:
optional: false
secretName: server-cert
manifest should match snapshot with mutual TLS using containerPaths:
1: |
apiVersion: apps/v1
Expand All @@ -150,6 +294,7 @@ manifest should match snapshot with mutual TLS using containerPaths:
app.kubernetes.io/name: steadybit-extension-gatling
template:
metadata:
annotations: null
labels:
app.kubernetes.io/name: steadybit-extension-gatling
steadybit.com/discovery-enabled: "false"
Expand Down Expand Up @@ -215,6 +360,7 @@ manifest should match snapshot without TLS:
app.kubernetes.io/name: steadybit-extension-gatling
template:
metadata:
annotations: null
labels:
app.kubernetes.io/name: steadybit-extension-gatling
steadybit.com/discovery-enabled: "false"
Expand Down
22 changes: 10 additions & 12 deletions charts/steadybit-extension-gatling/tests/deployment_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ tests:
- it: manifest should match snapshot without TLS
asserts:
- matchSnapshot: { }
- it: manifest should match snapshot using podAnnotations and Labels
set:
podAnnotations:
some-annotation: "some-annotation-value"
podLabels:
some-label: "some-label-value"
asserts:
- matchSnapshot: { }
- it: manifest should match snapshot with TLS
set:
tls:
Expand All @@ -23,6 +31,8 @@ tests:
fromSecrets:
- client-cert-a
- client-cert-a
asserts:
- matchSnapshot: { }
- it: manifest should match snapshot with mutual TLS using containerPaths
set:
tls:
Expand Down Expand Up @@ -50,15 +60,3 @@ tests:
name: env-secrets
asserts:
- matchSnapshot: {}
- it: manifest should match snapshot with extra env vars
set:
extraEnv:
- name: FOO
value: "bar"
extraEnvFrom:
- configMapRef:
name: env-configmap
- secretRef:
name: env-secrets
asserts:
- matchSnapshot: {}
7 changes: 7 additions & 0 deletions charts/steadybit-extension-gatling/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ resources:
# extra labels to apply to the Kubernetes resources
extraLabels: {}


# podAnnotations -- Additional annotations to be added to the pods.
podAnnotations: {}

# podLabels -- Additional labels to be added to the pods.
podLabels: {}

# nodeSelector -- Node labels for pod assignment
nodeSelector: {}

Expand Down

0 comments on commit 0c421de

Please sign in to comment.