diff options
| author | Vito G. Graffagnino <vito@graffagnino.xyz> | 2022-08-28 12:24:01 +0100 |
|---|---|---|
| committer | Vito G. Graffagnino <vito@graffagnino.xyz> | 2022-08-28 12:24:01 +0100 |
| commit | 823302458ec6c53455a3f34674415c43ce6a3187 (patch) | |
| tree | 92168b44b01f5b2236b7cdf331e227c4790431ee /snippets/helm.snippets | |
| parent | 9ea6111717518625cbd28a020493ec06610ff01e (diff) | |
Added snippets directory
Diffstat (limited to 'snippets/helm.snippets')
| -rw-r--r-- | snippets/helm.snippets | 591 |
1 files changed, 591 insertions, 0 deletions
diff --git a/snippets/helm.snippets b/snippets/helm.snippets new file mode 100644 index 0000000..241cc44 --- /dev/null +++ b/snippets/helm.snippets @@ -0,0 +1,591 @@ +snippet service_sample_spec + apiVersion: v1 + kind: Service + metadata: + {{- if .Values.$1.service.annotations }} + annotations: + {{ toYaml .Values.$1.service.annotations | indent 4 }} + {{- end }} + labels: + {{- if .Values.$1.service.labels }} + {{ toYaml .Values.$1.service.labels | indent 4 }} + {{- end }} + app: {{ template "$2.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: "{{ .Values.$1.name }}" + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "$2.$1.fullname" . }} + spec: + clusterIP: "{{ .Values.$1.service.clusterIP }}" + {{- if .Values.$1.service.externalIPs }} + externalIPs: + {{ toYaml .Values.$1.service.externalIPs | indent 4 }} + {{- end }} + {{- if .Values.$1.service.loadBalancerIP }} + loadBalancerIP: "{{ .Values.$1.service.loadBalancerIP }}" + {{- end }} + {{- if .Values.$1.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{ toYaml .Values.$1.service.loadBalancerSourceRanges | indent 4 }} + {{- end }} + healthCheckNodePort: {{ .Values.$1.service.healthCheckNodePort }} + ports: + - name: http + port: 80 + protocol: TCP + targetPort: {{ .Values.$1.service.targetPorts.http }} + {{- if (and (eq .Values.$1.service.type "NodePort") (not (empty .Values.$1.service.nodePorts.http))) }} + nodePort: {{ .Values.$1.service.nodePorts.http }} + {{- end }} + - name: https + port: 443 + protocol: TCP + targetPort: {{ .Values.$1.service.targetPorts.https }} + {{- if (and (eq .Values.$1.service.type "NodePort") (not (empty .Values.$1.service.nodePorts.https))) }} + nodePort: {{ .Values.$1.service.nodePorts.https }} + {{- end }} + {{- range $key, $value := .Values.tcp }} + - name: "{{ $key }}-tcp" + port: {{ $key }} + protocol: TCP + targetPort: "{{ $key }}-tcp" + {{- end }} + {{- range $key, $value := .Values.udp }} + - name: "{{ $key }}-udp" + port: {{ $key }} + protocol: UDP + targetPort: "{{ $key }}-udp" + {{- end }} + selector: + app: {{ template "${2:chartName}.name" . }} + component: "{{ .Values.$1.name }}" + release: {{ .Release.Name }} + type: "{{ .Values.${1:value_key}.service.type }}" + +snippet service_spec + apiVersion: v1 + kind: Service + metadata: + {{- if .Values.$1.service.annotations }} + annotations: + {{ toYaml .Values.$1.service.annotations | indent 4 }} + {{- end }} + labels: + {{- if .Values.$1.service.labels }} + {{ toYaml .Values.$1.service.labels | indent 4 }} + {{- end }} + app: {{ template "$2.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: "{{ .Values.$1.name }}" + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "${2:chartName}.${1:value_key}.fullname" . }} + # spec + ${0} + +snippet annotations_spec + {{- if .Values.$1.service.annotations }} + annotations: + {{ toYaml .Values.${1:value_key}.service.annotations | indent 4 }} + {{- end }} + ${0} + +snippet labels_spec + labels: + {{- if .Values.$1.service.labels }} + {{ toYaml .Values.$1.service.labels | indent 4 }} + {{- end }} + app: {{ template "$2.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: "{{ .Values.$1.name }}" + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "${2:chartName}.${1:value_key}.fullname" . }} + ${0} + +snippet service_spec + spec: + type: "{{ .Values.$1.service.type }}" + clusterIP: "{{ .Values.$1.service.clusterIP }}" + {{- if .Values.$1.service.externalIPs }} + externalIPs: + {{ toYaml .Values.$1.service.externalIPs | indent 4 }} + {{- end }} + {{- if .Values.$1.service.loadBalancerIP }} + loadBalancerIP: "{{ .Values.$1.service.loadBalancerIP }}" + {{- end }} + {{- if .Values.$1.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: + {{ toYaml .Values.$1.service.loadBalancerSourceRanges | indent 4 }} + {{- end }} + {{- if and (semverCompare ">=1.7-0" .Capabilities.KubeVersion.GitVersion) (.Values.$1.service.externalTrafficPolicy) }} + externalTrafficPolicy: "{{ .Values.$1.service.externalTrafficPolicy }}" + {{- end }} + {{- if and (semverCompare ">=1.7-0" .Capabilities.KubeVersion.GitVersion) (.Values.$1.service.healthCheckNodePort) }} + healthCheckNodePort: {{ .Values.${1:value_key}.service.healthCheckNodePort }} + {{- end }} + ${0} + +snippet ports_spec + ports: + ${0} + +snippet portHTTP_spec + - name: http + port: 80 + protocol: TCP + targetPort: {{ .Values.$1.service.targetPorts.http }} + {{- if (and (eq .Values.$1.service.type "NodePort") (not (empty .Values.$1.service.nodePorts.http))) }} + nodePort: {{ .Values.${1:value_key}.service.nodePorts.http }} + {{- end }} + ${0} + +snippet portHTTPS_spec + - name: https + port: 443 + protocol: TCP + targetPort: {{ .Values.$1.service.targetPorts.https }} + {{- if (and (eq .Values.$1.service.type "NodePort") (not (empty .Values.$1.service.nodePorts.https))) }} + nodePort: {{ .Values.${1:value_key}.service.nodePorts.https }} + {{- end }} + ${0} + +snippet portTCP_spec + {{- range $key, $value := .Values.tcp }} + - name: "{{ $key }}-tcp" + port: {{ $key }} + protocol: TCP + targetPort: "{{ $key }}-tcp" + {{- end }} + ${0} + +snippet portUDP_spec + {{- range $key, $value := .Values.udp }} + - name: "{{ $key }}-udp" + port: {{ $key }} + protocol: UDP + targetPort: "{{ $key }}-udp" + {{- end }} + ${0} + + +snippet selector_spec + selector: + app: {{ template "${2:chartName}.name" . }} + component: "{{ .Values.${1:value_key}.name }}" + release: {{ .Release.Name }} + ${0} + + +snippet deploy_sample_spec + {{- if .Values.$1.enabled }} + apiVersion: extensions/v1beta1 + kind: Deployment + metadata: + labels: + app: {{ template "$2.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: "{{ .Values.$1.name }}" + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "$2.$1.fullname" . }} + spec: + replicas: {{ .Values.$1.replicaCount }} + revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} + template: + metadata: + {{- if .Values.$1.podAnnotations }} + annotations: + {{ toYaml .Values.$1.podAnnotations | indent 8 }} + {{- end }} + labels: + app: {{ template "$2.name" . }} + component: "{{ .Values.$1.name }}" + release: {{ .Release.Name }} + {{- if .Values.$1.podLabels }} + {{ toYaml .Values.$1.podLabels | indent 8 }} + {{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + containers: + - name: {{ template "${2:chartName}.name" . }}-{{ .Values.$1.name }} + image: "{{ .Values.$1.image.repository }}:{{ .Values.$1.image.tag }}" + imagePullPolicy: "{{ .Values.$1.image.pullPolicy }}" + args: + {{- range $key, $value := .Values.$1.extraArgs }} + {{- if $value }} + - --{{ $key }}={{ $value }} + {{- else }} + - --{{ $key }} + {{- end }} + {{- end }} + livenessProbe: + httpGet: + path: /healthz + port: 8080 + scheme: HTTP + initialDelaySeconds: 30 + timeoutSeconds: 5 + ports: + - name: http + containerPort: 8080 + protocol: TCP + resources: + {{ toYaml .Values.$1.resources | indent 12 }} + {{- if .Values.$1.nodeSelector }} + nodeSelector: + {{ toYaml .Values.$1.nodeSelector | indent 8 }} + {{- end }} + {{- if .Values.$1.tolerations }} + tolerations: + {{ toYaml .Values.$1.tolerations | indent 8 }} + {{- end }} + {{- if .Values.$1.affinity }} + affinity: + {{ toYaml .Values.${1:value_key}.affinity | indent 8 }} + {{- end }} + terminationGracePeriodSeconds: 60 + {{- end }} + + + +snippet deploy_spec + {{- if .Values.$1.enabled }} + apiVersion: extensions/v1beta1 + kind: Deployment + metadata: + labels: + app: {{ template "$2.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: "{{ .Values.$1.name }}" + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "${2:chartName}.${1:value_key}.fullname" . }} + # spec + # containers_spec + # livenessProbe_spec + # PersistentVolumeClaim_spec + # initContainers_spec + # resources_spec + # nodeselector_spec + # tolerations_spec + # affinity_spec + ${0} + +snippet spec_spec + spec: + replicas: {{ .Values.$1.replicaCount }} + revisionHistoryLimit: {{ .Values.revisionHistoryLimit }} + template: + metadata: + {{- if .Values.$1.podAnnotations }} + annotations: + {{ toYaml .Values.$1.podAnnotations | indent 8 }} + {{- end }} + labels: + app: {{ template "${2:chartName}.name" . }} + component: "{{ .Values.$1.name }}" + release: {{ .Release.Name }} + {{- if .Values.$1.podLabels }} + {{ toYaml .Values.${1:value_key}.podLabels | indent 8 }} + {{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + ${0} + +snippet imagePullSecrets_spec + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + ${0} + +snippet imagePullPolicy_spec + imagePullPolicy: ${1:imagePullPolicy} + ${0} + +snippet containers_spec + containers: + - name: {{ template "${2:chartName}.name" . }}-{{ .Values.$1.name }} + image: "{{ .Values.$1.image.repository }}:{{ .Values.$1.image.tag }}" + imagePullPolicy: "{{ .Values.${1:value_key}.image.pullPolicy }}" + ${0} +snippet args_spec + args: + {{- range $key, $value := .Values.${1:value_key}.extraArgs }} + {{- if $value }} + - --{{ $key }}={{ $value }} + {{- else }} + - --{{ $key }} + {{- end }} + {{- end }} + ${0} +snippet livenessProbe_spec + livenessProbe: + httpGet: + path: /healthz + port: 8080 + scheme: HTTP + initialDelaySeconds: 30 + timeoutSeconds: 5 + ${0} +snippet readinessProbe_spec + readinessProbe: + httpGet: + path: /go/api/v1/health + port: 8153 + initialDelaySeconds: {{ .Values.$1.healthCheck.initialDelaySeconds }} + periodSeconds: {{ .Values.$1.healthCheck.periodSeconds }} + failureThreshold: {{ .Values.$1.healthCheck.failureThreshold }} + ${0} +snippet resources_spec + resources: + {{ toYaml .Values.${1:value_key}.resources | indent 12 }} + ${0} +snippet nodeselector_spec + {{- if .Values.$1.nodeSelector }} + nodeSelector: + {{ toYaml .Values.${1:value_key}.nodeSelector | indent 8 }} + {{- end }} + ${0} +snippet tolerations_spec + {{- if .Values.$1.tolerations }} + tolerations: + {{ toYaml .Values.${1:value_key}.tolerations | indent 8 }} + {{- end }} + ${0} +snippet affinity_spec + {{- if .Values.$1.affinity }} + affinity: + {{ toYaml .Values.${1:value_key}.affinity | indent 8 }} + {{- end }} + terminationGracePeriodSeconds: 60 + {{- end }} + ${0} + +snippet PersistentVolumeClaim_spec + kind: PersistentVolumeClaim + apiVersion: v1 + metadata: + name: {{ template "${2}.$1.fullname" . }} + labels: + app: {{ template "${2:chartName}.name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + spec: + accessModes: + - {{ .Values.$1.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.$1.persistence.size | quote }} + {{- if .Values.$1.persistence.storageClass }} + {{- if (eq "-" .Values.$1.persistence.storageClass) }} + storageClassName: "" + {{- else }} + storageClassName: "{{ .Values.${1:value_key}.persistence.storageClass }}" + {{- end }} + {{- end }} + {{- end }} + {{- end }} + ${0} + +snippet configMap_spec + {{- if .Values.artifactory.enabled -}} + apiVersion: v1 + kind: ConfigMap + metadata: + name: {{ template "${2:chartName}.fullname" . }}-${1:value_key}-config + labels: + app: {{ template "${2}.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + data: + ${3:nameOfConfigFile}.conf: | + # data goes here + {{- end -}} + ${0} + +snippet initContainers_spec + {{- if .Values.$1.initContainers }} + initContainers: + - name: wait-workers + image: "{{ .Values.$1.image.repository }}:{{ .Values.$1.image.tag }}" + imagePullPolicy: {{ .Values.${1:value_key}.image.pullPolicy }} + # env + command: + - sh + - -c + - | + until printf "." && nc -z -w 2 {{ template "${2:chartName}.fullname" . }} {{ .Values.postgresql.service.port }}; do + sleep 2; + done; + + echo 'PostgreSQL OK ✓' + # args + {{- end }} + ${0} + +snippet pvc_spec + kind: PersistentVolumeClaim + apiVersion: v1 + metadata: + name: {{ template "$2.fullname" . }} + labels: + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + app: {{ template "${2:chartName}.fullname" . }} + spec: + accessModes: + - {{ .Values.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.persistence.size | quote }} + {{- if .Values.persistence.storageClass }} + {{- if (eq "-" .Values.persistence.storageClass) }} + storageClassName: "" + {{- else }} + storageClassName: "{{ .Values.persistence.storageClass }}" + {{- end }} + {{- end }} + {{- end }} + ${0} + +snippet pv_nfs_spec + apiVersion: v1 + kind: PersistentVolume + metadata: + name: {{ template "$2.fullname" . }}-data-pv + labels: + app: {{ template "$2.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + id: {{ template "${2:chartName}.name" . }}-data-pv + type: nfs-volume + spec: + capacity: + storage: {{ .Values.$1.persistence.nfs.capacity }} + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + nfs: + server: {{ .Values.$1.persistence.nfs.ip }} + path: "{{ .Values.${1:value_key}.persistence.nfs.haDataMount }}" + readOnly: false + ${0} + +snippet pvc_hostpath_spec + {{- if and .Values.persistence.enabled .Values.persistence.$1.hostPath (not + .Values.persistence.$1.existingClaim) -}} + apiVersion: v1 + kind: PersistentVolume + metadata: + name: {{ template "${2:chartName}.fullname" . }}-$1 + spec: + accessModes: + - {{ .Values.persistence.$1.accessMode | quote }} + capacity: + storage: {{ .Values.persistence.$1.size | quote }} + hostPath: + path: {{ .Values.persistence.${1:value_key}.hostPath | quote }} + {{- end -}} + ${0} + +snippet deploy_values + $1: + name: ${1:value_key} + image: + repository: + tag: + pullPolicy: IfNotPresent + hostNetwork: false + dnsPolicy: ClusterFirst + daemonset: + useHostPort: false + podLabels: {} + scope: + enabled: false + namespace: "" # defaults to .Release.Namespace + extraArgs: {} + extraEnvs: [] + kind: Deployment + updateStrategy: {} + minReadySeconds: 0 + tolerations: [] + affinity: {} + nodeSelector: {} + podAnnotations: {} + replicaCount: 1 + minAvailable: 1 + resources: {} + autoscaling: + enabled: false + extraContainers: {} + extraVolumeMounts: {} + extraVolumes: {} + extraInitContainers: [] + lifecycle: {} + revisionHistoryLimit: 10 + ${0} + +snippet rbac_values + ${1:value_key}: + rbac: + create: true + serviceAccount: + create: true + name: + imagePullSecrets: [] + ${0} + +snippet service_values + ${1:value_key}: + service: + annotations: {} + labels: {} + clusterIP: "" + externalIPs: [] + loadBalancerIP: "" + loadBalancerSourceRanges: [] + externalTrafficPolicy: "" + healthCheckNodePort: 0 + targetPorts: + http: http + https: https + type: LoadBalancer + nodePorts: + http: "" + https: "" + ${0} + +snippet readinessProbe_values + ${1:value_key}: + readinessProbe: + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + port: 10254 + ${0} + +snippet livenessProbe_values + ${1:value_key}: + livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + port: 10254 + ${0} |
