aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/namespaces/apis/code-jam-management
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2024-04-15 11:56:43 +0100
committerGravatar Joe Banks <[email protected]>2024-04-15 11:56:43 +0100
commitcb2398e6dd68039ad66d3007ba01c85ebbc7d0bc (patch)
tree5a41cd9ec0cace728d314e82bb5b7f49bd0fc2d0 /kubernetes/namespaces/apis/code-jam-management
parentMove snekbox to new namespace (diff)
Move API services to apis namespace
Diffstat (limited to 'kubernetes/namespaces/apis/code-jam-management')
-rw-r--r--kubernetes/namespaces/apis/code-jam-management/README.md11
-rw-r--r--kubernetes/namespaces/apis/code-jam-management/deployment.yaml41
-rw-r--r--kubernetes/namespaces/apis/code-jam-management/secrets.yamlbin0 -> 362 bytes
-rw-r--r--kubernetes/namespaces/apis/code-jam-management/service.yaml12
4 files changed, 64 insertions, 0 deletions
diff --git a/kubernetes/namespaces/apis/code-jam-management/README.md b/kubernetes/namespaces/apis/code-jam-management/README.md
new file mode 100644
index 0000000..b377130
--- /dev/null
+++ b/kubernetes/namespaces/apis/code-jam-management/README.md
@@ -0,0 +1,11 @@
+# Code Jam Management
+
+This contains the deployment for the internal [code jam management](https://github.com/python-discord/code-jam-management) service.
+
+### Required Secret
+In a secret named `code-jam-management-env`:
+
+| Environment | Description |
+|--------------|------------------------------------------------------------------------|
+| API_TOKEN | A random string to use as the auth token for making requests to CJMS |
+| DATABASE_URL | `postgres://<user>:<password>@<host>:<port>/<name>` |
diff --git a/kubernetes/namespaces/apis/code-jam-management/deployment.yaml b/kubernetes/namespaces/apis/code-jam-management/deployment.yaml
new file mode 100644
index 0000000..bb7426f
--- /dev/null
+++ b/kubernetes/namespaces/apis/code-jam-management/deployment.yaml
@@ -0,0 +1,41 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: code-jam-management
+ namespace: apis
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: code-jam-management
+ template:
+ metadata:
+ labels:
+ app: code-jam-management
+ spec:
+ securityContext:
+ fsGroup: 2000
+ runAsUser: 1000
+ runAsNonRoot: true
+ containers:
+ - name: codejam-management
+ image: ghcr.io/python-discord/code-jam-management:latest
+ imagePullPolicy: Always
+ volumeMounts:
+ - mountPath: /tmp
+ name: code-jam-mgmt-tmp
+ - mountPath: /.cache
+ name: code-jam-mgmt-venv
+ ports:
+ - containerPort: 8000
+ envFrom:
+ - secretRef:
+ name: code-jam-management-env
+ securityContext:
+ readOnlyRootFilesystem: true
+ volumes:
+ - name: code-jam-mgmt-tmp
+ emptyDir:
+ medium: Memory
+ - name: code-jam-mgmt-venv
+ emptyDir: {}
diff --git a/kubernetes/namespaces/apis/code-jam-management/secrets.yaml b/kubernetes/namespaces/apis/code-jam-management/secrets.yaml
new file mode 100644
index 0000000..cd68b2f
--- /dev/null
+++ b/kubernetes/namespaces/apis/code-jam-management/secrets.yaml
Binary files differ
diff --git a/kubernetes/namespaces/apis/code-jam-management/service.yaml b/kubernetes/namespaces/apis/code-jam-management/service.yaml
new file mode 100644
index 0000000..8ac85a5
--- /dev/null
+++ b/kubernetes/namespaces/apis/code-jam-management/service.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: code-jam-management
+ namespace: apis
+spec:
+ selector:
+ app: code-jam-management
+ ports:
+ - protocol: TCP
+ port: 8000
+ targetPort: 8000