diff --git a/charts/netbox/Chart.yaml b/charts/netbox/Chart.yaml index a492518..1d623df 100644 --- a/charts/netbox/Chart.yaml +++ b/charts/netbox/Chart.yaml @@ -4,4 +4,4 @@ appVersion: "2.7.2" description: An IP address management (IPAM) and data center infrastructure management (DCIM) tool. icon: https://raw.githubusercontent.com/digitalocean/netbox/develop/netbox/project-static/img/netbox.ico name: netbox -version: 0.3.10 +version: 0.4.0 diff --git a/charts/netbox/templates/deployment-worker.yaml b/charts/netbox/templates/deployment-worker.yaml new file mode 100644 index 0000000..4c3a8e7 --- /dev/null +++ b/charts/netbox/templates/deployment-worker.yaml @@ -0,0 +1,56 @@ +{{- if .Values.worker.enabled }} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "netbox.fullname" . }}-worker + labels: + app.kubernetes.io/name: {{ include "netbox.name" . }} + helm.sh/chart: {{ include "netbox.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +spec: + replicas: {{ .Values.worker.replicaCount }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "netbox.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + component: worker + template: + metadata: + annotations: + checksum/config: {{ include (print $.Template.BasePath "/configuration.yaml") . | sha256sum }} + checksum/secrets: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }} + labels: + app.kubernetes.io/name: {{ include "netbox.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + component: worker + spec: + containers: + - name: {{ .Chart.Name }}-worker + command: + - python3 + - /opt/netbox/netbox/manage.py + - rqworker + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + envFrom: + - configMapRef: + name: {{ include "netbox.fullname" . }} + - secretRef: + name: {{ include "netbox.fullname" . }} + resources: + {{- toYaml .Values.worker.resources | nindent 12 }} + {{- with .Values.worker.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.worker.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.worker.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} +{{- end }} diff --git a/charts/netbox/templates/deployment.yaml b/charts/netbox/templates/deployment.yaml index afdc94c..1fd68ed 100644 --- a/charts/netbox/templates/deployment.yaml +++ b/charts/netbox/templates/deployment.yaml @@ -14,6 +14,7 @@ spec: matchLabels: app.kubernetes.io/name: {{ include "netbox.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} + component: app template: metadata: annotations: @@ -22,6 +23,7 @@ spec: labels: app.kubernetes.io/name: {{ include "netbox.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} + component: app spec: containers: - name: {{ .Chart.Name }} diff --git a/charts/netbox/templates/service.yaml b/charts/netbox/templates/service.yaml index b6f9ba5..b657c73 100644 --- a/charts/netbox/templates/service.yaml +++ b/charts/netbox/templates/service.yaml @@ -18,3 +18,4 @@ spec: selector: app.kubernetes.io/name: {{ include "netbox.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} + component: app diff --git a/charts/netbox/values.yaml b/charts/netbox/values.yaml index aff5111..d857cef 100644 --- a/charts/netbox/values.yaml +++ b/charts/netbox/values.yaml @@ -83,10 +83,6 @@ superuser: password: '' resources: {} - # 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 - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi @@ -116,15 +112,11 @@ persistence: size: 10Gi worker: - enabled: false + enabled: true replicaCount: 1 resources: {} - # 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 - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi