--- apiVersion: apps/v1 kind: Deployment metadata: name: steering annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: steering template: metadata: labels: component: steering spec: containers: - name: steering image: docker.io/cyrilix/robocar-steering args: - "-mqtt-retain=false" - "--image-width=$(IMAGE_WIDTH)" - "--image-height=$(IMAGE_HEIGHT)" - "--enable-objects-correction=true" - "--enable-objects-correction-user=true" - "--grid-map-config=/etc/robocar/grid.json" - "--objects-move-factors-config=/etc/robocar/omf.json" - "--delta-middle=0.1" - "-log=info" securityContext: runAsUser: 1234 runAsGroup: 1234 env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-steering - name: MQTT_TOPIC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_STEERING name: robocar - name: MQTT_TOPIC_TF_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_TF_STEERING name: robocar - name: MQTT_TOPIC_RC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_STEERING name: robocar - name: MQTT_TOPIC_DRIVE_MODE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_DRIVE_MODE name: robocar - name: MQTT_TOPIC_OBJECTS valueFrom: configMapKeyRef: key: MQTT_TOPIC_OBJECTS name: robocar - name: MQTT_QOS value: "0" - name: IMAGE_WIDTH valueFrom: configMapKeyRef: key: CAMERA_WIDTH name: robocar-camera - name: IMAGE_HEIGHT valueFrom: configMapKeyRef: key: CAMERA_HEIGHT name: robocar-camera - name: TZ value: "Europe/Paris" volumeMounts: - mountPath: /etc/robocar name: robocar-configs volumes: - name: robocar-configs configMap: name: steering --- apiVersion: apps/v1 kind: Deployment metadata: name: throttle annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: throttle template: metadata: labels: component: throttle spec: containers: - name: throttle image: docker.io/cyrilix/robocar-throttle args: - "--mqtt-retain=false" - "--enable-brake-feature=true" - "--brake-configuration=/etc/robocar/brake.json" - "--enable-custom-steering-processor=true" - "--custom-steering-processor-config=/etc/robocar/custom_steering.json" - "--accelerator-factor=$(THROTTLE_ACCELERATOR_FACTOR)" - "--log=info" securityContext: runAsUser: 1234 runAsGroup: 1234 env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-throttle - name: MQTT_TOPIC_THROTTLE valueFrom: configMapKeyRef: key: MQTT_TOPIC_THROTTLE name: robocar - name: MQTT_TOPIC_RC_THROTTLE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_THROTTLE name: robocar - name: MQTT_TOPIC_DRIVE_MODE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_DRIVE_MODE name: robocar - name: MQTT_TOPIC_THROTTLE_FEEDBACK valueFrom: configMapKeyRef: name: robocar key: MQTT_TOPIC_THROTTLE_FEEDBACK - name: MQTT_TOPIC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_STEERING name: robocar - name: MQTT_TOPIC_SPEED_ZONE valueFrom: configMapKeyRef: key: MQTT_TOPIC_SPEED_ZONE name: robocar - name: MQTT_TOPIC_MAX_THROTTLE_CTRL valueFrom: configMapKeyRef: name: robocar key: MQTT_TOPIC_MAX_THROTTLE_CTRL - name: THROTTLE_MIN valueFrom: configMapKeyRef: key: THROTTLE_MIN name: robocar-throttle - name: THROTTLE_MAX valueFrom: configMapKeyRef: key: THROTTLE_MAX name: robocar-throttle - name: THROTTLE_ACCELERATOR_FACTOR valueFrom: configMapKeyRef: name: robocar-throttle key: THROTTLE_ACCELERATOR_FACTOR - name: MQTT_QOS value: "0" - name: TZ value: "Europe/Paris" volumeMounts: - mountPath: /etc/robocar name: throttle-config volumes: - name: throttle-config configMap: name: throttle --- apiVersion: apps/v1 kind: Deployment metadata: name: recorder annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: recorder template: metadata: labels: component: recorder spec: containers: - name: recorder image: docker.io/cyrilix/robocar-recorder-store args: - "-mqtt-retain=true" - "-record-path=/records" - "-log=info" env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-recorder - name: MQTT_TOPIC_RECORDS valueFrom: configMapKeyRef: key: MQTT_TOPIC_RECORDS name: robocar - name: MQTT_QOS value: "0" - name: TZ value: "Europe/Paris" volumeMounts: - mountPath: /records name: records securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch volumes: - name: records hostPath: path: /home/pi/records --- apiVersion: apps/v1 kind: Deployment metadata: name: record annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 1 strategy: type: Recreate selector: matchLabels: component: record template: metadata: labels: component: record spec: containers: - name: record image: docker.io/cyrilix/robocar-record args: - "-mqtt-retain=true" - "-debug=false" securityContext: runAsUser: 1234 runAsGroup: 1234 env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-record - name: MQTT_TOPIC_CAMERA valueFrom: configMapKeyRef: key: MQTT_TOPIC_CAMERA_OAK_COLOR name: robocar - name: MQTT_TOPIC_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_STEERING name: robocar - name: MQTT_TOPIC_SWITCH_RECORD valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_SWITCH_RECORD name: robocar - name: MQTT_TOPIC_AUTOPILOT_STEERING valueFrom: configMapKeyRef: key: MQTT_TOPIC_TF_STEERING name: robocar - name: MQTT_TOPIC_DRIVE_MODE valueFrom: configMapKeyRef: key: MQTT_TOPIC_RC_DRIVE_MODE name: robocar - name: MQTT_TOPIC_RECORDS valueFrom: configMapKeyRef: key: MQTT_TOPIC_RECORDS name: robocar - name: MQTT_QOS value: "0" - name: TZ value: "Europe/Paris" --- apiVersion: apps/v1 kind: Deployment metadata: name: road annotations: reloader.stakater.com/auto: "true" spec: revisionHistoryLimit: 0 replicas: 0 strategy: type: Recreate selector: matchLabels: component: road template: metadata: labels: component: road spec: containers: - name: road image: docker.io/cyrilix/robocar-road args: - "-mqtt-retain=false" - "--log=info" securityContext: runAsUser: 1234 runAsGroup: 1234 env: - name: MQTT_BROKER valueFrom: configMapKeyRef: key: MQTT_BROKER name: robocar - name: MQTT_USERNAME valueFrom: secretKeyRef: key: MQTT_USERNAME name: mqtt-credentials - name: MQTT_PASSWORD valueFrom: secretKeyRef: key: MQTT_PASSWORD name: mqtt-credentials - name: MQTT_CLIENT_ID value: rc-road - name: MQTT_TOPIC_CAMERA valueFrom: configMapKeyRef: key: MQTT_TOPIC_CAMERA name: robocar - name: MQTT_TOPIC_ROAD valueFrom: configMapKeyRef: key: MQTT_TOPIC_ROAD name: robocar - name: MQTT_QOS value: "0" - name: TZ value: "Europe/Paris"