blob: 86b6a0f6f80ce51aa6919c6cff6a53a3dc5f256d [file] [log] [blame]
Zack Williams3432b942018-04-24 17:46:41 -07001---
Gopinath Tagetb6a79b12018-03-08 17:27:37 -08002# Copyright 2017-present Open Networking Foundation
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
Matteo Scandolo5628d4b2021-01-11 11:46:12 -080016apiVersion: apps/v1
Gopinath Taget9b609e02018-03-07 16:02:50 -080017kind: Deployment
18metadata:
19 name: xos-core
20 labels:
Zack Williams3432b942018-04-24 17:46:41 -070021 {{- include "xos-core.release_labels" . | indent 4 }}
Gopinath Taget9b609e02018-03-07 16:02:50 -080022spec:
23 replicas: 1
Matteo Scandolo5628d4b2021-01-11 11:46:12 -080024 selector:
25 matchLabels:
26 name: xos-core
27 release: {{ .Release.Name }}
Gopinath Taget9b609e02018-03-07 16:02:50 -080028 template:
29 metadata:
30 labels:
Andy Bavier3e262f22018-03-22 12:24:41 -070031 app: xos-core
Gopinath Taget9b609e02018-03-07 16:02:50 -080032 spec:
33 containers:
Andy Bavier3e262f22018-03-22 12:24:41 -070034 - name: xos-core
Zack Williamsd9d6b352018-10-05 07:53:30 -070035 image: {{ .Values.global.registry }}{{ .Values.images.xos_core.repository }}:{{ tpl .Values.images.xos_core.tag . }}
36 imagePullPolicy: {{ .Values.images.xos_core.pullPolicy }}
Gopinath Taget9b609e02018-03-07 16:02:50 -080037 command: ["/bin/bash", "-c", "cd coreapi; ./start_coreapi.sh"]
Matteo Scandolo3f2426b2019-01-18 13:46:26 -080038 # command: ["/bin/bash", "-c", "sleep 86400"]
Gopinath Taget9b609e02018-03-07 16:02:50 -080039 ports:
40 - containerPort: 50051
41 port: 50051
42 protocol: TCP
43 - containerPort: 50055
44 port: 50055
45 protocol: TCP
46 volumeMounts:
Gopinath Taget9b609e02018-03-07 16:02:50 -080047 - name: coreapi-volume
48 mountPath: /opt/cord_profile
49 readOnly: true
Zack Williams3432b942018-04-24 17:46:41 -070050 - name: certchain-volume
51 mountPath: /usr/local/share/ca-certificates/local_certs.crt
52 subPath: config/ca_cert_chain.pem
Gopinath Taget9b609e02018-03-07 16:02:50 -080053 - name: xos-core-config
54 mountPath: /opt/xos/xos_config.yaml
55 subPath: config/xos_config.yaml
56 - name: initial-data-config
57 mountPath: /opt/xos/core/migrations/initial_data.yaml
58 subPath: migrations/initial_data.yaml
59 volumes:
Gopinath Taget9b609e02018-03-07 16:02:50 -080060 - name: coreapi-volume
61 secret:
62 secretName: coreapi-cert-secret
63 items:
Zack Williams3432b942018-04-24 17:46:41 -070064 - key: tls.crt
65 path: core_api_cert.pem
66 - key: tls.key
67 path: core_api_key.pem
68 - name: certchain-volume
69 configMap:
70 name: ca-certificates
71 items:
72 - key: chain
73 path: config/ca_cert_chain.pem
Gopinath Taget9b609e02018-03-07 16:02:50 -080074 - name: xos-core-config
75 configMap:
Andy Bavier3e262f22018-03-22 12:24:41 -070076 name: xos-core
77 items:
Zack Williams3432b942018-04-24 17:46:41 -070078 - key: config
79 path: config/xos_config.yaml
Gopinath Taget9b609e02018-03-07 16:02:50 -080080 - name: initial-data-config
81 configMap:
Andy Bavier3e262f22018-03-22 12:24:41 -070082 name: xos-initial-data
83 items:
Zack Williams3432b942018-04-24 17:46:41 -070084 - key: config
85 path: migrations/initial_data.yaml