apiVersion: apps/v1 kind: Deployment metadata: name: server spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/component: server template: metadata: labels: app.kubernetes.io/component: server spec: initContainers: - name: init-ownership image: bash:5 command: ['chown', '-R', '1000:1000', '/home/coder'] volumeMounts: - name: code-server-pv mountPath: /home/coder containers: - name: server image: codercom/code-server:latest args: ["--auth", "none", "--disable-workspace-trust"] env: - name: DOCKER_USER value: coder resources: requests: memory: 1Gi cpu: 2000m limits: memory: 1Gi ports: - name: http containerPort: 8080 volumeMounts: - name: code-server-pv mountPath: /home/coder volumes: - name: code-server-pv persistentVolumeClaim: claimName: code-server-home-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: code-server-home-pvc labels: app.kubernetes.io/name: server spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: server labels: app.kubernetes.io/component: server spec: selector: app.kubernetes.io/component: server ports: - name: http port: 8080 targetPort: http