From 5dcb8503a500ad982b9fef16b2702dbfb2f8e51d Mon Sep 17 00:00:00 2001 From: Nathan Rashleigh Date: Fri, 12 Apr 2024 19:43:35 +1000 Subject: [PATCH] memestream --- memestream/memestream.ingress.yaml | 23 ++++ memestream/memestream.yaml | 185 +++++++++++++++++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 memestream/memestream.ingress.yaml create mode 100644 memestream/memestream.yaml diff --git a/memestream/memestream.ingress.yaml b/memestream/memestream.ingress.yaml new file mode 100644 index 0000000..51d98fb --- /dev/null +++ b/memestream/memestream.ingress.yaml @@ -0,0 +1,23 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: memestream-client + annotations: + cert-manager.io/cluster-issuer: "letsencrypt-prod" +spec: + ingressClassName: nginx + tls: + - hosts: + - memestream.strix.systems + secretName: memestream-strix-systems-tls + rules: + - host: memestream.strix.systems + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: memestream-meili + port: + number: 7700 \ No newline at end of file diff --git a/memestream/memestream.yaml b/memestream/memestream.yaml new file mode 100644 index 0000000..b7898c6 --- /dev/null +++ b/memestream/memestream.yaml @@ -0,0 +1,185 @@ +# ----------------------------------------------------------------------- +# VOLUMES +# ----------------------------------------------------------------------- + +--- + +apiVersion: v1 +kind: PersistentVolume +metadata: + name: memestream-postgres-pv +spec: + storageClassName: "" + capacity: + storage: 2Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + claimRef: + namespace: default + name: memestream-postgres-pvc + hostPath: + path: "/var/lib/rancher/k3s/storage/memestream-postgres-pv" + type: DirectoryOrCreate + +--- + +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: memestream-postgres-pvc +spec: + volumeName: memestream-postgres-pv + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + +--- + +apiVersion: v1 +kind: PersistentVolume +metadata: + name: memestream-meili-pv +spec: + storageClassName: "" + capacity: + storage: 2Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + claimRef: + namespace: default + name: memestream-meili-pvc + hostPath: + path: "/var/lib/rancher/k3s/storage/memestream-meili-pv" + type: DirectoryOrCreate + +--- + +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: memestream-meili-pvc +spec: + volumeName: memestream-meili-pv + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + +--- + +# ----------------------------------------------------------------------- +# DEPLOYMENTS +# ----------------------------------------------------------------------- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: memestream-postgres +spec: + replicas: 1 + selector: + matchLabels: + app: memestream-postgres + template: + metadata: + labels: + app: memestream-postgres + spec: + containers: + - name: postgres + image: postgres:16 + ports: + - containerPort: 5432 + env: + - name: POSTGRES_DB + valueFrom: + secretKeyRef: + name: memestream + key: POSTGRES_DB + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: memestream + key: POSTGRES_USER + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: memestream + key: POSTGRES_PASSWORD + volumeMounts: + - name: memestream-postgres-storage + mountPath: /var/lib/postgresql/data + + volumes: + - name: memestream-postgres-storage + persistentVolumeClaim: + claimName: memestream-postgres-pvc + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: memestream-meili +spec: + replicas: 1 + selector: + matchLabels: + app: memestream-meili + template: + metadata: + labels: + app: memestream-meili + spec: + containers: + - name: meili + image: getmeili/meilisearch:v1.7 + ports: + - containerPort: 7700 + env: + - name: MEILI_MASTER_KEY + valueFrom: + secretKeyRef: + name: memestream + key: MEILI_MASTER_KEY + volumeMounts: + - name: memestream-meili-storage + mountPath: /data/meili + + volumes: + - name: memestream-meili-storage + persistentVolumeClaim: + claimName: memestream-meili-pvc + +--- + +# ----------------------------------------------------------------------- +# SERVICES +# ----------------------------------------------------------------------- + +apiVersion: v1 +kind: Service +metadata: + name: memestream-postgres +spec: + selector: + app: memestream-postgres + ports: + - port: 5432 + +--- + +apiVersion: v1 +kind: Service +metadata: + name: memestream-meili +spec: + selector: + app: memestream-meili + ports: + - port: 7700 \ No newline at end of file