Merge "Adding POMBA SDC Context Builder to OOM"
[oom.git] / kubernetes / contrib / charts / netbox / charts / netbox-app / templates / deployment.yaml
1 {{/*
2 # Copyright © 2018 Amdocs, Bell Canada
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 apiVersion: extensions/v1beta1
18 kind: Deployment
19 metadata:
20   name: {{ include "common.fullname" . }}
21   namespace: {{ include "common.namespace" . }}
22   labels:
23     app: {{ include "common.name" . }}
24     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
25     release: {{ .Release.Name }}
26     heritage: {{ .Release.Service }}
27 spec:
28   replicas: {{ .Values.replicaCount }}
29   template:
30     metadata:
31       labels:
32         app: {{ include "common.name" . }}
33         release: {{ .Release.Name }}
34     spec:
35       containers:
36       - name: {{ include "common.name" . }}
37         image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
38         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
39         ports:
40         - containerPort: {{ .Values.service.internalPort }}
41         env:
42           - name: DB_PASSWORD
43             valueFrom:
44               secretKeyRef:
45                 name: {{ template "common.fullname" . }}-pass
46                 key: DB_PASSWORD
47           - name: EMAIL_PASSWORD
48             valueFrom:
49               secretKeyRef:
50                 name: {{ template "common.fullname" . }}-pass
51                 key: EMAIL_PASSWORD
52           - name: NAPALM_PASSWORD
53             valueFrom:
54               secretKeyRef:
55                 name: {{ template "common.fullname" . }}-pass
56                 key: NAPALM_PASSWORD
57           - name: SECRET_KEY
58             valueFrom:
59               secretKeyRef:
60                 name: {{ template "common.fullname" . }}-pass
61                 key: SECRET_KEY
62           - name: SUPERUSER_PASSWORD
63             valueFrom:
64               secretKeyRef:
65                 name: {{ template "common.fullname" . }}-pass
66                 key: SUPERUSER_PASSWORD
67           - name: SUPERUSER_API_TOKEN
68             valueFrom:
69               secretKeyRef:
70                 name: {{ template "common.fullname" . }}-pass
71                 key: SUPERUSER_API_TOKEN
72           - name: ALLOWED_HOSTS
73             value: {{ .Values.config.allowedHosts | quote }}
74           - name: DB_NAME
75             value: {{ .Values.config.dbName }}
76           - name: DB_USER
77             value: {{ .Values.config.dbUser }}
78           - name: DB_HOST
79             value: {{ .Values.config.dbHost }}
80           - name: EMAIL_SERVER
81             value: {{ .Values.config.emailServer }}
82           - name: EMAIL_PORT
83             value: {{ .Values.config.emailPort  | quote }}
84           - name: EMAIL_USERNAME
85             value: {{ .Values.config.emailUsername }}
86           - name: EMAIL_TIMEOUT
87             value: {{ .Values.config.emailTimeout  | quote }}
88           - name: EMAIL_FROM
89             value: {{ .Values.config.emailFrom }}
90           - name: MEDIA_ROOT
91             value: {{ .Values.config.mediaRoot }}
92           - name: NAPALM_USERNAME
93             value: {{ .Values.config.napalmUsername }}
94           - name: NAPALM_TIMEOUT
95             value: {{ .Values.config.napalmTimeout  | quote }}
96           - name: MAX_PAGE_SIZE
97             value: {{ .Values.config.maxPageSize  | quote }}
98           - name: SUPERUSER_NAME
99             value: {{ .Values.config.superuserName }}
100           - name: SUPERUSER_EMAIL
101             value: {{ .Values.config.superuserEmail }}
102         volumeMounts:
103         - mountPath: /etc/localtime
104           name: localtime
105           readOnly: true
106         - mountPath: /opt/netbox/startup_scripts
107           name: {{ include "common.fullname" . }}-startupscripts-config
108         - mountPath: /opt/netbox/initializers
109           name: {{ include "common.fullname" . }}-initializers-config
110         - mountPath: /etc/netbox/config
111           name: {{ include "common.fullname" . }}-configuration-config
112         - name: {{ include "common.fullname" . }}
113           mountPath: /opt/netbox/netbox/static
114         resources:
115 {{ toYaml .Values.resources | indent 12 }}
116       {{- if .Values.nodeSelector }}
117       nodeSelector:
118 {{ toYaml .Values.nodeSelector | indent 10 }}
119       {{- end -}}
120       {{- if .Values.affinity }}
121       affinity:
122 {{ toYaml .Values.affinity | indent 10 }}
123       {{- end }}
124       volumes:
125         - name: localtime
126           hostPath:
127             path: /etc/localtime
128         - name: {{ include "common.fullname" . }}
129           persistentVolumeClaim:
130             claimName: {{ .Release.Name }}-{{ .Values.persistence.staticPvName }}
131         - name: {{ include "common.fullname" . }}-startupscripts-config
132           configMap:
133             name: {{ include "common.fullname" . }}-startupscripts-configmap
134         - name: {{ include "common.fullname" . }}-initializers-config
135           configMap:
136             name: {{ include "common.fullname" . }}-initializers-configmap
137         - name: {{ include "common.fullname" . }}-configuration-config
138           configMap:
139             name: {{ include "common.fullname" . }}-configuration-configmap