apiVersion: v1 kind: ConfigMap metadata: name: startup namespace: code-server data: startup.sh: | #!/bin/sh echo "startup..." sleep 10s git config --global user.name shodan git config --global user.email "thrawn235@gmail.com" if test ! -f "/home/coder/.config/startup.ran"; then echo "waiting 60s for startup..." sleep 60s echo "cloning k8aux-apps" cd /home/coder/project git clone https://shodan:$SHODAN_PW@gitea.apps.undercloud.dev/Undercloud/k8s-apps.git #git clone https://gitea.apps.undercloud.dev/Undercloud/k8s-apps.git git clone http://git.undercloud.local:3000/Undercloud/undercloud-infrastructure.git git config --global credential.helper store echo "create startup.ran file..." touch /home/coder/.config/startup.ran else echo "startup ran already!" fi echo "startup done." #exit 123 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: data namespace: code-server spec: accessModes: - ReadWriteMany resources: requests: storage: 64M storageClassName: cephfs-hyper --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: project namespace: code-server spec: accessModes: - ReadWriteMany resources: requests: storage: 8G storageClassName: cephfs-hyper --- apiVersion: apps/v1 kind: Deployment metadata: name: code-server namespace: code-server labels: app: code-server spec: replicas: 1 selector: matchLabels: app: code-server template: metadata: labels: app: code-server spec: dnsConfig: options: - name: ndots value: "1" securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 containers: - name: code-server image: codercom/code-server imagePullPolicy: IfNotPresent lifecycle: postStart: exec: command: - "/home/coder/startup.sh" ports: - containerPort: 8080 - name: metrics containerPort: 2112 env: - name: CODER_PROMETHEUS_ENABLE value: "0.0.0.0:2112" - name: DOCKER_USER value: docker - name: PASSWORD valueFrom: secretKeyRef: name: admin key: pw - name: SHODAN_PW valueFrom: secretKeyRef: name: shodan key: pw optional: false volumeMounts: - mountPath: /home/coder/.config name: data subPath: config - mountPath: /home/coder/.local/share/code-server name: data subPath: local - mountPath: /home/coder/project name: project - mountPath: /home/coder/startup.sh name: startup subPath: startup.sh volumes: - name: data persistentVolumeClaim: claimName: data readOnly: false - name: project persistentVolumeClaim: claimName: project readOnly: false - name: startup configMap: name: startup defaultMode: 0777 items: - key: "startup.sh" path: "startup.sh" --- apiVersion: v1 kind: Service metadata: name: code-server namespace: code-server spec: ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: http port: 80 protocol: TCP targetPort: 8080 selector: app: code-server sessionAffinity: None type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: code-server-metrics namespace: code-server labels: app: code-server-metrics spec: ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - name: metrics port: 2112 protocol: TCP selector: app: code-server sessionAffinity: None type: ClusterIP