diff --git a/scripts/test.sh b/scripts/test.sh new file mode 100755 index 0000000..f1ec04a --- /dev/null +++ b/scripts/test.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -o errexit +set -o pipefail +set -o errtrace + +HELM="${HELM:-helm}" + +cd "tests/values" + +for file in *yaml; do + echo "helm $file" + ${HELM} template ../../ -f "${file}" --include-crds --namespace test-namespace > "../outputs/${file}" +done diff --git a/templates/deployment.yaml b/templates/deployment.yaml index bf44fd4..da32ca2 100644 --- a/templates/deployment.yaml +++ b/templates/deployment.yaml @@ -24,6 +24,8 @@ spec: {{ .Values.vxlanController.metadataKey }}: "true" {{- end }} annotations: + checksum/config: {{ include (print .Template.BasePath "/sftp-config.yaml") . | sha256sum }} + checksum/keys: {{ include (print .Template.BasePath "/authorized-keys-config.yaml") . | sha256sum }} {{- if .Values.vxlanController.enabled }} {{ .Values.vxlanController.annotationKey }}: | {{ .Values.vxlanController.network }} diff --git a/tests/outputs/empty.yaml b/tests/outputs/empty.yaml new file mode 100644 index 0000000..7fe3cfc --- /dev/null +++ b/tests/outputs/empty.yaml @@ -0,0 +1,107 @@ +--- +# Source: sftp-server/templates/sftp-config.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: release-name-sftp-server-users +data: + users.conf: | + sftp::: +--- +# Source: sftp-server/templates/data-pvc.yaml +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: release-name-sftp-server-data +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: "20Gi" +--- +# Source: sftp-server/templates/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: release-name-sftp-server + labels: + app.kubernetes.io/name: sftp-server + helm.sh/chart: sftp-server-0.3.2 + app.kubernetes.io/instance: release-name + app.kubernetes.io/managed-by: Helm +spec: + type: ClusterIP + ports: + - port: 22 + targetPort: ssh + protocol: TCP + name: ssh + selector: + app.kubernetes.io/name: sftp-server + app.kubernetes.io/instance: release-name +--- +# Source: sftp-server/templates/deployment.yaml +apiVersion: apps/v1 +kind: Deployment +metadata: + name: release-name-sftp-server + labels: + app.kubernetes.io/name: sftp-server + helm.sh/chart: sftp-server-0.3.2 + app.kubernetes.io/instance: release-name + app.kubernetes.io/managed-by: Helm +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: sftp-server + app.kubernetes.io/instance: release-name + strategy: + type: Recreate + template: + metadata: + labels: + app.kubernetes.io/name: sftp-server + app.kubernetes.io/instance: release-name + annotations: + checksum/config: c59a65a89dc772d7099b3ba9ce2e7c06f991b0dcaa13288c1c85ed81a9c62ddc + checksum/keys: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b + spec: + initContainers: + containers: + - name: sftp-server + image: "quay.io/openvnf/sftp:alpine-3.7" + imagePullPolicy: IfNotPresent + securityContext: + capabilities: + add: ["NET_ADMIN"] + ports: + - name: ssh + containerPort: 22 + protocol: TCP + volumeMounts: + - name: sftp-config + mountPath: /etc/sftp/ + - name: data + mountPath: /home/sftp/ + livenessProbe: + tcpSocket: + port: 22 + readinessProbe: + tcpSocket: + port: 22 + resources: + limits: + cpu: 100m + memory: 128Mi + requests: + cpu: 100m + memory: 128Mi + volumes: + - name: sftp-config + configMap: + name: release-name-sftp-server-users + - name: data + persistentVolumeClaim: + claimName: release-name-sftp-server-data diff --git a/tests/values/empty.yaml b/tests/values/empty.yaml new file mode 100644 index 0000000..ed97d53 --- /dev/null +++ b/tests/values/empty.yaml @@ -0,0 +1 @@ +---