# The car server (Go). One replica on purpose: the ABRP rate limit is kept in memory, and # two replicas would each forward to ABRP at the full rate. apiVersion: apps/v1 kind: Deployment metadata: name: mg4-server namespace: mg4 labels: app.kubernetes.io/name: mg4-server app.kubernetes.io/part-of: mg4 spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/name: mg4-server template: metadata: labels: app.kubernetes.io/name: mg4-server app.kubernetes.io/part-of: mg4 spec: securityContext: runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 seccompProfile: type: RuntimeDefault containers: - name: server image: git.stinnesbeck.com/nils/mg4-server:latest # pinned by kustomization.yaml ports: - name: http containerPort: 8080 env: - name: INFLUX_URL value: http://influxdb.mg4.svc:8086 - name: INFLUX_ORG value: mg4 - name: INFLUX_BUCKET value: mg4 - name: INFLUX_TOKEN valueFrom: secretKeyRef: name: influxdb-auth key: admin-token # INGEST_TOKEN, ABRP_API_KEY, ABRP_USER_TOKEN, ABRP_MIN_INTERVAL_SECONDS. envFrom: - secretRef: name: mg4-server readinessProbe: httpGet: path: /v1/health port: http periodSeconds: 10 livenessProbe: httpGet: path: /v1/health port: http initialDelaySeconds: 5 periodSeconds: 30 resources: requests: cpu: 10m memory: 32Mi limits: memory: 128Mi securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: ["ALL"] --- apiVersion: v1 kind: Service metadata: name: mg4-server namespace: mg4 labels: app.kubernetes.io/name: mg4-server app.kubernetes.io/part-of: mg4 spec: selector: app.kubernetes.io/name: mg4-server ports: - name: http port: 80 targetPort: http