200 lines
4.4 KiB
YAML
200 lines
4.4 KiB
YAML
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"
|
|
startupProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8080
|
|
failureThreshold: 30
|
|
periodSeconds: 5
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8080
|
|
periodSeconds: 10
|
|
timeoutSeconds: 2
|
|
failureThreshold: 3
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8080
|
|
periodSeconds: 20
|
|
timeoutSeconds: 2
|
|
failureThreshold: 3
|
|
|
|
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
|