diff --git a/Makefile b/Makefile index a032ee5..fadd19b 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -FOLDERS := infra/traefik infra/storage infra/monitoring infra/authelia apps/namesny-com apps/mlflow apps/gitea apps/code-server +FOLDERS := infra/traefik infra/storage infra/monitoring infra/authelia apps/namesny-com apps/mlflow apps/gitea apps/code-server apps/dev-container all: $(FOLDERS) diff --git a/apps/dev-container/deployment.yaml b/apps/dev-container/deployment.yaml new file mode 100755 index 0000000..5d52985 --- /dev/null +++ b/apps/dev-container/deployment.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: dev-container + namespace: dev + labels: + app: dev-container +spec: + replicas: 1 + selector: + matchLabels: + app: dev-container + template: + metadata: + labels: + app: dev-container + spec: + securityContext: + fsGroup: 1000 + containers: + - name: dev-container + image: git.namesny.com/mathis/dev-container:2024-04-25 + imagePullPolicy: Always + ports: + - containerPort: 7681 + volumeMounts: + - name: projects + mountPath: /home/dev/projects + volumes: + - name: projects + persistentVolumeClaim: + claimName: dev-projects diff --git a/apps/dev-container/ingress.yaml b/apps/dev-container/ingress.yaml new file mode 100644 index 0000000..f938978 --- /dev/null +++ b/apps/dev-container/ingress.yaml @@ -0,0 +1,16 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: dev-cnt-ingress + namespace: dev +spec: + entryPoints: + - websecure + routes: + - match: Host(`dev.namesny.com`) + kind: Rule + middlewares: + - name: "auth-authelia@kubernetescrd" + services: + - name: dev-cnt-svc + port: 7681 diff --git a/apps/dev-container/kustomization.yaml b/apps/dev-container/kustomization.yaml new file mode 100644 index 0000000..5176215 --- /dev/null +++ b/apps/dev-container/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: dev + +resources: +- namespace.yaml +- pvc.yaml +- deployment.yaml +- service.yaml +- ingress.yaml + diff --git a/apps/dev-container/namespace.yaml b/apps/dev-container/namespace.yaml new file mode 100644 index 0000000..8cab297 --- /dev/null +++ b/apps/dev-container/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: dev diff --git a/apps/dev-container/pvc.yaml b/apps/dev-container/pvc.yaml new file mode 100644 index 0000000..8c54f6d --- /dev/null +++ b/apps/dev-container/pvc.yaml @@ -0,0 +1,12 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: dev-projects + namespace: dev +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: retain-local-path diff --git a/apps/dev-container/service.yaml b/apps/dev-container/service.yaml new file mode 100644 index 0000000..41402ac --- /dev/null +++ b/apps/dev-container/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: dev-cnt-svc + namespace: dev +spec: + selector: + app: dev-container + type: ClusterIP + ports: + - protocol: TCP + port: 7681 + targetPort: 7681