split gcs and roscore in ros-core chart
Change-Id: I9453d5bea8de8f04d71663aff77f108c2f386b5c
diff --git a/apps/ros-core/templates/statefulset-gcs.yaml b/apps/ros-core/templates/statefulset-gcs.yaml
new file mode 100644
index 0000000..ff80453
--- /dev/null
+++ b/apps/ros-core/templates/statefulset-gcs.yaml
@@ -0,0 +1,96 @@
+# Copyright 2021-present Open Networking Foundation
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+{{ tuple "gcs" . | include "ros-core.service_account" }}
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: gcs
+ labels:
+{{ tuple "gcs" . | include "ros-core.metadata_labels" | indent 4 }}
+spec:
+ replicas: 1
+ serviceName: gcs
+ selector:
+ matchLabels:
+{{ tuple "gcs" . | include "ros-core.metadata_labels" | indent 6 }}
+ template:
+ metadata:
+ labels:
+{{ tuple "gcs" . | include "ros-core.metadata_labels" | indent 8 }}
+ spec:
+ {{- if .Values.nodeSelector.enabled }}
+ nodeSelector:
+ {{ .Values.nodeSelector.gcs.label }}: {{ .Values.nodeSelector.gcs.value }}
+ {{- end }}
+ serviceAccountName: gcs
+ {{- if .Values.networks.hostNetwork }}
+ hostNetwork: true
+ dnsPolicy: None
+ dnsConfig:
+ nameservers:
+ - {{ .Values.coredns.service.clusterIP }}
+ {{- end }}
+ initContainers:
+ - name: gcs-dep-check
+ image: {{ .Values.images.tags.depCheck }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: false
+ runAsUser: 0
+ env:
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.name
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ - name: PATH
+ value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
+ - name: COMMAND
+ value: "echo done"
+ - name: DEPENDENCY_POD_JSON
+ value: '[{"labels": {"app": "ros-core"}, "requireSameNode": false}]'
+ # add dependency job for make_certs.sh
+ command:
+ - kubernetes-entrypoint
+ volumeMounts:
+ []
+ containers:
+ - name: gcs
+ image: {{ .Values.images.tags.rosCore }}
+ imagePullPolicy: {{ .Values.images.pullPolicy }}
+ securityContext:
+ privileged: true
+ stdin: true
+ tty: true
+ command:
+ - /root/run_gcs.sh
+ volumeMounts:
+ - name: gcs
+ mountPath: /root/run_gcs.sh
+ subPath: run_gcs.sh
+ - name: gcs-launch
+ mountPath: /root/TrajBridge-PX4/src/bridge_px4/launch
+ - name: gcs-trajectory
+ mountPath: /root/TrajBridge-PX4/src/bridge_px4/trajectories
+ volumes:
+ - name: gcs
+ configMap:
+ name: gcs
+ defaultMode: 493
+ - name: gcs-launch
+ configMap:
+ name: gcs-launch
+ defaultMode: 420
+ - name: gcs-trajectory
+ configMap:
+ name: gcs-trajectory
+ defaultMode: 420