7b5bb5ce062378c754d5373d95c719553188b5b8
[arvados-k8s.git] / charts / arvados / templates / api-server-deployment.yaml
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 apiVersion: apps/v1
6 kind: Deployment
7 metadata:
8   name: "arvados-api-server"
9   labels:
10     app: arvados-api-server
11     chart: {{ template "arvados.chart" . }}
12     release: {{ .Release.Name }}
13     heritage: {{ .Release.Service }}
14 spec:
15   selector:
16     matchLabels:
17       app: arvados-api-server
18       release: {{ .Release.Name }}
19   template:
20     metadata:
21       labels:
22         app: arvados-api-server
23         release: {{ .Release.Name }}
24     spec:
25       containers:
26         - name: arvados-api-server
27           image: "cure/arvados-rails-runtime"
28           imagePullPolicy: {{ .Values.image.pullPolicy }}
29           command:
30             - "sh"
31             - "-c"
32             - "install /init-scripts/*.sh /etc/my_init.d && /usr/local/bin/bootstrap.sh arvados-api-server={{ .Values.arvados.versions.distribution.arvadosApiServer }} && cd /var/www/arvados-api/current && exec /sbin/my_init"
33           env:
34             - name: RAILS_ENV
35               value: "production"
36           volumeMounts:
37             - name: api-server-configmap
38               mountPath: /init-scripts/90-init-db.sh
39               subPath: 90-init-db.sh
40             - name: api-server-configmap
41               mountPath: /etc/arvados/api/database.yml
42               subPath: database.yml
43             - name: etc-configmap
44               mountPath: /etc/arvados/config.yml
45               subPath: config.yml
46             - name: api-server-configmap
47               mountPath: /create-workbench-api-client.rb
48               subPath: create-workbench-api-client.rb
49             - name: api-server-configmap
50               mountPath: /etc/nginx/sites-enabled/api-server.conf
51               subPath: nginx.conf
52         - name: arvados-controller
53           image: "cure/arvados-runtime"
54           imagePullPolicy: {{ .Values.image.pullPolicy }}
55           command:
56             - "sh"
57             - "-c"
58             - "/usr/local/bin/bootstrap.sh arvados-controller={{ .Values.arvados.versions.distribution.arvadosController }} && arvados-controller"
59           volumeMounts:
60             - name: etc-configmap
61               mountPath: /etc/arvados/config.yml
62               subPath: config.yml
63         - name: nginx
64           image: "nginx:1.17"
65           imagePullPolicy: {{ .Values.image.pullPolicy }}
66           volumeMounts:
67             - name: nginx-configmap
68               mountPath: /etc/nginx/conf.d/default.conf
69               subPath: nginx.conf
70             - name: ssl-configmap
71               mountPath: /etc/nginx/ssl.crt
72               subPath: cert
73             - name: ssl-configmap
74               mountPath: /etc/nginx/ssl.key
75               subPath: key
76       volumes:
77         - name: api-server-configmap
78           configMap:
79             name: arvados-api-server-configmap
80         - name: etc-configmap
81           configMap:
82             name: etc-configmap
83         - name: ssl-configmap
84           configMap:
85             name: ssl-configmap
86         - name: nginx-configmap
87           configMap:
88             name: arvados-api-server-https-configmap