Compare commits

..

No commits in common. "d52444b21cb26e443284508a7c744adb2871fb37" and "869a756e4b17f5e7a24dff410179ecd1d1a9d9c3" have entirely different histories.

6 changed files with 58 additions and 137 deletions

View File

@ -6,8 +6,6 @@ type: library
version: 0.0.0 version: 0.0.0
kubeVersion: ">=1.27.0" kubeVersion: ">=1.27.0"
home: git.rre.nu home: git.rre.nu
sources:
- https://git.rre.nu/jonas/common-helm-lib
maintainers: maintainers:
- name: Jonas Forsberg - name: Jonas Forsberg
email: barregargamel@gmail.com email: barregargamel@gmail.com

View File

@ -4,18 +4,11 @@ Main entrypoint for the common library chart. It will render all underlying temp
{{- define "lib.all" -}} {{- define "lib.all" -}}
{{- include "lib.values.setup" . }} {{- include "lib.values.setup" . }}
{{- if .Values.serviceAccount.create -}} {{- if .Values.serviceAccount.create -}}
{{- include "lib.serviceaccount" . | nindent 0 }} {{- include "lib.serviceaccount" . | nindent 0 }}
{{- end -}}
{{- if .Values.ingress.enabled -}}
{{- include "lib.ingress" . | nindent 0}}
{{- end -}} {{- end -}}
{{ include "lib.service" . | nindent 0 }} {{ include "lib.service" . | nindent 0 }}
{{ include "lib.secrets" . | nindent 0 }} {{ if eq .Values.controller.type "statefulset" }}
{{ include "lib.configs" . | nindent 0 }} {{- include "lib.statefulset" . | nindent 0}}
{{ if .Values.controller.enabled }}
{{ if eq .Values.controller.type "statefulset" }}
{{- include "lib.statefulset" . | nindent 0}}
{{- end -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

View File

@ -61,9 +61,7 @@ Create the name of the service account to use
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/* {{/* Merge the local chart values and the library chart defaults */}}
Merge the local chart values and the library chart defaults
*/}}
{{- define "lib.values.setup" -}} {{- define "lib.values.setup" -}}
{{- if .Values.lib -}} {{- if .Values.lib -}}
{{- $defaultValues := deepCopy .Values.lib -}} {{- $defaultValues := deepCopy .Values.lib -}}
@ -72,54 +70,3 @@ Merge the local chart values and the library chart defaults
{{- $_ := set . "Values" (deepCopy $mergedValues) -}} {{- $_ := set . "Values" (deepCopy $mergedValues) -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{/*
Get all environment variables and
secrets that should be mounted as environment variables
*/}}
{{- define "lib.environmentVariables" -}}
{{- $envIncluded := "false" -}}
{{- $fullName := include "lib.fullname" . -}}
{{- range $name, $settings := .Values.secrets -}}
{{- if $settings.enabled -}}
{{- if $settings.env -}}
{{- $envIncluded := "true" -}}
{{- range $key, $value := $settings.data }}
- name: {{ $key }}
valueFrom:
secretKeyRef:
name: {{ $fullName }}-{{ $name }}
key: {{ $key }}
{{- end -}}
{{- range $key, $value := $settings.stringData }}
- name: {{ $key }}
valueFrom:
secretKeyRef:
name: {{ $fullName }}-{{ $name }}
key: {{ $key }}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- range $name, $settings := .Values.configs -}}
{{- if $settings.enabled -}}
{{- if $settings.env -}}
{{- $envIncluded := "true" -}}
{{- range $key, $value := $settings.data }}
- name: {{ $key }}
valueFrom:
configMapKeyRef:
name: {{ $fullName }}-{{ $name }}
key: {{ $key }}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- if $envIncluded = "true" -}}
{{- if .Values.env -}}
{{- toYaml .Values.env | nindent 0 -}}
{{- end -}}
{{- else -}}
{{- toYaml .Values.env | nindent 0 -}}
{{- end -}}
{{- end -}}

View File

@ -1,7 +1,7 @@
{{ define "lib.ingress" }} {{- if .Values.ingress.enabled -}}
{{- $fullName := include "lib.fullname" . -}} {{- $fullName := include "lib.fullname" . -}}
{{- $svcPort := .Values.ingress.servicePort -}}
{{- $svcName := .Values.ingress.service -}} {{- $svcName := .Values.ingress.service -}}
{{- $svcPort := .Values.ingress.servicePort -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
@ -17,11 +17,9 @@ apiVersion: extensions/v1beta1
kind: Ingress kind: Ingress
metadata: metadata:
name: {{ $fullName }} name: {{ $fullName }}
namespace: {{ .Values.namespace }}
labels: labels:
{{- include "lib.labels" . | nindent 4 }} {{- include "lib.labels" . | nindent 4 }}
{{- with .Values.ingressingresstservicePort }} {{- with .Values.ingress.annotations }}
{{- $svcName := .Values.ingress.service -}}
annotations: annotations:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
@ -52,11 +50,11 @@ spec:
backend: backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service: service:
name: {{ $fullName }}-${{ $svcName }} name: {{ $fullName }}
port: port:
number: {{ $svcPort }} number: {{ $svcPort }}
{{- else }} {{- else }}
serviceName: {{ $fullName }}-${{ $svcName }} serviceName: {{ $fullName }}
servicePort: {{ $svcPort }} servicePort: {{ $svcPort }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@ -50,8 +50,6 @@ spec:
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- end }} {{- end }}
env:
{{- include "lib.environmentVariables" . | default "{}" | nindent 12 }}
livenessProbe: livenessProbe:
{{- toYaml .Values.livenessProbe | nindent 12 }} {{- toYaml .Values.livenessProbe | nindent 12 }}
readinessProbe: readinessProbe:

View File

@ -1,28 +1,54 @@
--- ---
# Namespace to deploy to, if not set it targets default namespace
namespace: default namespace: default
controller: controller:
# -- enable the controller # -- enable the controller
enabled: true enabled: true
# type of controller # type of controller
# valid options are deployment, statefulset, job # valid options are deployment, statefulset, job
type: deployment type: deployment
annotations: {}
labels: {}
replicas: 1 replicas: 1
podSecurityContext: {}
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
image: image:
repository: repository:
pullPolicy: pullPolicy:
# Overrides the image tag whose default is the chart appVersion. # Overrides the image tag whose default is the chart appVersion.
tag: "" tag: ""
imagePullSecrets: []
nameOverride: ""
fullnameOverride: "" fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Automatically mount a ServiceAccount's API credentials?
automount: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
service: service:
main: main:
enabled: true enabled: false
type: ClusterIP type: ClusterIP
annotations: {} annotations: {}
labels: {} labels: {}
ports: ports: {}
# http: # http:
# # -- Enables or disables the port # # -- Enables or disables the port
# enabled: false# # enabled: false#
@ -42,30 +68,29 @@ service:
# #
# # -- Specify the nodePort value for the LoadBalancer and NodePort service types. # # -- Specify the nodePort value for the LoadBalancer and NodePort service types.
# # [[ref]](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) # # [[ref]](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport)
# nodePort: # nodePort:
ingress: ingress:
enabled: false main:
service: main enabled: false
#Service to target className: ""
servicePort: 80 annotations: {}
className: "" # kubernetes.io/ingress.class: nginx
annotations: # kubernetes.io/tls-acme: "true"
{} service: main
# kubernetes.io/ingress.class: nginx servicePort: 80
# kubernetes.io/tls-acme: "true" hosts:
hosts: - host: chart-example.local
- host: chart-example.local paths:
paths: - path: /
- path: / pathType: ImplementationSpecific
pathType: ImplementationSpecific tls: []
tls: [] # - secretName: chart-example-tls
# - secretName: chart-example-tls # hosts:
# hosts: # - chart-example.local
# - chart-example.local
resources: resources: {}
{}
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little # choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following # resources, such as Minikube. If you do want to specify resources, uncomment the following
@ -84,29 +109,6 @@ autoscaling:
targetCPUUtilizationPercentage: 80 targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80
# Secrets that needs to be created
secrets: {}
# secrets:
# <name>:
# type: #default Opaque
# annotations: {}
# labels: {}
# env: false #should template load each key in the seacret as
# data:
# KEY: VALUE
# ConfigMaps that needs to be created
configs: {}
# configs:
# <name>:
# annotations: {}
# labels: {}
# env: false #should template load each key in the seacret as
# data:
# KEY: VALUE
env: {}
# Additional volumes on the output Deployment definition. # Additional volumes on the output Deployment definition.
volumes: [] volumes: []
# - name: foo # - name: foo
@ -120,21 +122,6 @@ volumeMounts: []
# mountPath: "/etc/foo" # mountPath: "/etc/foo"
# readOnly: true # readOnly: true
serviceAccount:
# Specifies whether a service account should be created
create: true
# Automatically mount a ServiceAccount's API credentials?
automount: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
livenessProbe: {}
readinessProbe: {}
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []