openstack-helm/horizon/templates/deployment.yaml
Alan Meadows c9d27bac4d Add rolling update parameters to all current charts
This ensures that all charts have a consistent and overridable
approach to their pod replacement strategies, along with sane
defaults.
2017-01-09 15:08:46 -08:00

80 lines
2.6 KiB
YAML

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: horizon
spec:
replicas: {{ .Values.replicas }}
revisionHistoryLimit: {{ .Values.upgrades.revision_history }}
strategy:
type: {{ .Values.upgrades.pod_replacement_strategy }}
{{ if eq .Values.upgrades.pod_replacement_strategy "RollingUpdate" }}
rollingUpdate:
maxUnavailable: {{ .Values.upgrades.rolling_update.max_unavailable }}
maxSurge: {{ .Values.upgrades.rolling_update.max_surge }}
{{ end }}
template:
metadata:
labels:
app: horizon
annotations:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "hash" }}
configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "hash" }}
pod.beta.kubernetes.io/init-containers: '[
{
"name": "init",
"image": "{{ .Values.images.entrypoint }}",
"imagePullPolicy": "{{ .Values.images.pull_policy }}",
"env": [
{
"name": "NAMESPACE",
"value": "{{ .Release.Namespace }}"
},
{
"name": "DEPENDENCY_SERVICE",
"value": "{{ include "joinListWithColon" .Values.dependencies.dashboard.service }}"
},
{
"name": "COMMAND",
"value": "echo done"
}
]
}
]'
spec:
nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
containers:
- name: horizon
image: {{ .Values.images.horizon }}
imagePullPolicy: {{ .Values.images.pull_policy }}
command:
- bash
- /tmp/start.sh
ports:
- containerPort: {{ .Values.network.port }}
readinessProbe:
tcpSocket:
port: {{ .Values.network.port }}
volumeMounts:
- name: startsh
mountPath: /tmp/start.sh
subPath: start.sh
- name: horizonconf
mountPath: /etc/apache2/sites-enabled/000-default.conf
subPath: horizon.conf
- name: localsettings
mountPath: /etc/openstack-dashboard/local_settings
subPath: local_settings
securityContext:
runAsUser: 0
volumes:
- name: startsh
configMap:
name: horizon-bin
- name: horizonconf
configMap:
name: horizon-etc
- name: localsettings
configMap:
name: horizon-etc