aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/namespaces/default/patsy
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/namespaces/default/patsy')
-rw-r--r--kubernetes/namespaces/default/patsy/README.md17
-rw-r--r--kubernetes/namespaces/default/patsy/deployment.yaml40
-rw-r--r--kubernetes/namespaces/default/patsy/secrets.yamlbin0 -> 375 bytes
-rw-r--r--kubernetes/namespaces/default/patsy/service.yaml11
4 files changed, 68 insertions, 0 deletions
diff --git a/kubernetes/namespaces/default/patsy/README.md b/kubernetes/namespaces/default/patsy/README.md
new file mode 100644
index 0000000..78e386a
--- /dev/null
+++ b/kubernetes/namespaces/default/patsy/README.md
@@ -0,0 +1,17 @@
+# Patsy
+
+Patsy is the premiere project for data collection in the python-discord toolchain. It uses word-class technology in a system architected by our in-house engineers to facilitate the automatic transfer, collection, and categorization of user data to develop user-centric solutions to real world problems. It is a marvel of engineering designed to push the limits of what we thought possible.
+
+The deployment for the [Patsy API](https://git.pydis.com/patsy), there is no ingress as Patsy is designed to only be accessible from within the cluster.
+
+This API is given help channel messages by the bot and stores them in postgres for after-the-fact processing.
+The hope with this project is that we can inspect what topics get asked about often in help channels, along with which ones go un-answered the most.
+
+## Secret
+
+It requires a `patsy-env` secret with the following
+
+| Key | Description |
+| -------------- | ------------------------------------------------------------ |
+| `DATABASE_URL` | An asyncpg connection string to the postgres database |
+| `STATE_SECRET` | A long random string, used to lock down endpoints with auth. |
diff --git a/kubernetes/namespaces/default/patsy/deployment.yaml b/kubernetes/namespaces/default/patsy/deployment.yaml
new file mode 100644
index 0000000..79fa243
--- /dev/null
+++ b/kubernetes/namespaces/default/patsy/deployment.yaml
@@ -0,0 +1,40 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: patsy
+spec:
+ replicas: 0
+ selector:
+ matchLabels:
+ app: patsy
+ template:
+ metadata:
+ labels:
+ app: patsy
+ spec:
+ containers:
+ - name: patsy
+ image: ghcr.io/python-discord/patsy:latest
+ imagePullPolicy: Always
+ ports:
+ - containerPort: 80
+ name: http
+ envFrom:
+ - secretRef:
+ name: patsy-env
+ startupProbe:
+ httpGet:
+ path: /ping
+ port: http
+ httpHeaders:
+ - name: Host
+ value: patsy.pythondiscord.com
+ failureThreshold: 3
+ periodSeconds: 1
+ initialDelaySeconds: 10
+ securityContext:
+ readOnlyRootFilesystem: true
+ securityContext:
+ fsGroup: 2000
+ runAsUser: 1000
+ runAsNonRoot: true
diff --git a/kubernetes/namespaces/default/patsy/secrets.yaml b/kubernetes/namespaces/default/patsy/secrets.yaml
new file mode 100644
index 0000000..8d5c4f3
--- /dev/null
+++ b/kubernetes/namespaces/default/patsy/secrets.yaml
Binary files differ
diff --git a/kubernetes/namespaces/default/patsy/service.yaml b/kubernetes/namespaces/default/patsy/service.yaml
new file mode 100644
index 0000000..1844ff3
--- /dev/null
+++ b/kubernetes/namespaces/default/patsy/service.yaml
@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: patsy
+spec:
+ selector:
+ app: patsy
+ ports:
+ - protocol: TCP
+ port: 80
+ targetPort: 80