Files
home-docker/archive/code-server.yaml
T
2023-01-13 22:14:31 +11:00

113 lines
2.5 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: code-server
namespace: apps
labels:
app: code-server
spec:
replicas: 1
selector:
matchLabels:
app: code-server
template:
metadata:
labels:
app: code-server
name: code-server
spec:
containers:
- name: code-server
image: bencdr/code-server-deploy-container
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 1000
ports:
- containerPort: 8080
name: web
protocol: TCP
env:
- name: START_DIR
value: "/home/coder/code"
volumeMounts:
- name: data
mountPath: "/home/coder"
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 5
failureThreshold: 4
exec:
command:
- sh
- -c
- curl -s http://localhost:8080
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 5
failureThreshold: 4
exec:
command:
- sh
- -c
- curl -s http://localhost:8080
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 3000m
memory: 2560Mi
volumes:
- name: data
persistentVolumeClaim:
claimName: nfs-code-server
---
apiVersion: v1
kind: Service
metadata:
name: code-server
namespace: apps
labels:
name: code-server
spec:
type: ClusterIP
selector:
app: code-server
ports:
- name: code-server
targetPort: web
port: 80
protocol: TCP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: apps
name: code-server-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
kubernetes.io/tls-acme: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/auth-url: "https://id.junv.me/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://id.junv.me/oauth2/start?rd=https%3A%2F%2F$host$request_uri"
spec:
tls:
- hosts:
- code.junv.me
secretName: code-server-tls
rules:
- host: code.junv.me
http:
paths:
- backend:
service:
name: code-server
port:
number: 80
path: /
pathType: Prefix