# The car server (Go). One replica on purpose: pending pairing requests and the wrong-password # counters are kept in memory. 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 # 2.6.1, pinned by digest so a re-pushed tag cannot change what runs. image: git.stinnesbeck.com/nils/mg4-server@sha256:df1d40e423b7ee365e8379e2eaefb4c0db3a599e6429728a37d46827f83d82cd 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 # Where a phone reaches the server; the pairing QR code points here. - name: PUBLIC_URL value: https://car.k8s.stinnesbeck.com # App updates: the releases of this repository, relayed to the car. Read with # FORGE_TOKEN from the mg4-server Secret; leave that empty to switch updates off. - name: FORGE_URL value: https://git.stinnesbeck.com - name: FORGE_REPO value: nils/mg4 - name: INFLUX_TOKEN valueFrom: secretKeyRef: name: influxdb-auth key: admin-token # INGEST_TOKEN, APPROVAL_PASSWORD, FORGE_TOKEN. 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