summaryrefslogtreecommitdiff
path: root/snippets/helm.snippets
diff options
context:
space:
mode:
Diffstat (limited to 'snippets/helm.snippets')
-rw-r--r--snippets/helm.snippets591
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}