first commit

This commit is contained in:
2026-05-28 07:21:15 +00:00
commit 6465520041
57 changed files with 942 additions and 0 deletions

View File

@ -0,0 +1,7 @@
# code-server
The base deploys code-server with a PVC, Service, and password Secret reference.
The Secret is generated by the instance overlay. Do not commit real passwords or
tokens to this catalog.

View File

@ -0,0 +1,65 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: code-server
labels:
app.kubernetes.io/name: code-server
app.kubernetes.io/component: ide
app.kubernetes.io/part-of: ocdp-workload
annotations: {}
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: code-server
template:
metadata:
labels:
app.kubernetes.io/name: code-server
app.kubernetes.io/component: ide
app.kubernetes.io/part-of: ocdp-workload
spec:
securityContext:
fsGroup: 1000
containers:
- name: code-server
image: codercom/code-server:latest
imagePullPolicy: IfNotPresent
args:
- --bind-addr
- 0.0.0.0:8080
- --auth
- password
- /home/coder/project
env:
- name: PASSWORD
valueFrom:
secretKeyRef:
name: code-server-auth
key: password
ports:
- name: http
containerPort: 8080
readinessProbe:
httpGet:
path: /
port: http
livenessProbe:
httpGet:
path: /
port: http
resources:
requests:
cpu: "500m"
memory: 1Gi
limits:
cpu: "2"
memory: 4Gi
volumeMounts:
- name: workspace
mountPath: /home/coder/project
volumes:
- name: workspace
persistentVolumeClaim:
claimName: code-server-data

View File

@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- pvc.yaml
- deployment.yaml
- service.yaml

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: code-server-data
labels:
app.kubernetes.io/name: code-server
app.kubernetes.io/component: workspace-storage
app.kubernetes.io/part-of: ocdp-workload
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi

View File

@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: code-server
labels:
app.kubernetes.io/name: code-server
app.kubernetes.io/component: ide
app.kubernetes.io/part-of: ocdp-workload
spec:
selector:
app.kubernetes.io/name: code-server
ports:
- name: http
port: 80
targetPort: http

View File

@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: code-server
labels:
app.kubernetes.io/name: code-server
app.kubernetes.io/component: ingress
app.kubernetes.io/part-of: ocdp-workload
spec:
rules:
- host: code-server.example.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: code-server
port:
name: http

View File

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
resources:
- ingress.yaml

View File

@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
patches:
- path: pvc-rwx-patch.yaml
target:
kind: PersistentVolumeClaim
name: code-server-data

View File

@ -0,0 +1,4 @@
- op: replace
path: /spec/accessModes/0
value: ReadWriteMany

View File

@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
patches:
- path: service-loadbalancer-patch.yaml
target:
kind: Service
name: code-server

View File

@ -0,0 +1,4 @@
- op: add
path: /spec/type
value: LoadBalancer

View File

@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component
patches:
- path: service-nodeport-patch.yaml
target:
kind: Service
name: code-server

View File

@ -0,0 +1,4 @@
- op: add
path: /spec/type
value: NodePort