From c765930403eaa140a2ff2cd05f8a9daea00eb10d Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Thu, 24 Aug 2023 07:43:15 +0200 Subject: Add garage deployment --- .../tyilnet/base-system/garage/deployment.yaml | 68 ++++++++++++++++++++++ .../tyilnet/base-system/garage/ingress.yaml | 35 +++++++++++ .../garage/persistent-volume-claim.yaml | 38 ++++++++++++ .../tyilnet/base-system/garage/service.yaml | 35 +++++++++++ 4 files changed, 176 insertions(+) create mode 100644 data.d/k3s-master/manifests.d/tyilnet/base-system/garage/deployment.yaml create mode 100644 data.d/k3s-master/manifests.d/tyilnet/base-system/garage/ingress.yaml create mode 100644 data.d/k3s-master/manifests.d/tyilnet/base-system/garage/persistent-volume-claim.yaml create mode 100644 data.d/k3s-master/manifests.d/tyilnet/base-system/garage/service.yaml (limited to 'data.d') diff --git a/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/deployment.yaml b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/deployment.yaml new file mode 100644 index 0000000..cc89211 --- /dev/null +++ b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/deployment.yaml @@ -0,0 +1,68 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: garage + namespace: base-system + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: garage + app.kubernetes.io/part-of: base-system +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: garage + app.kubernetes.io/part-of: base-system + strategy: + type: Recreate + template: + metadata: + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: garage + app.kubernetes.io/part-of: base-system + spec: + containers: + - image: dxflrs/garage:v0.8.0 + name: garage + ports: + - containerPort: 3900 + - containerPort: 3901 + - containerPort: 3902 + - containerPort: 3903 + - containerPort: 3904 + volumeMounts: + - mountPath: /var/lib/garage/meta + name: meta + - mountPath: /var/lib/garage/data + name: data + - mountPath: /etc/garage.toml + subPath: config.toml + name: config + restartPolicy: Always + volumes: + - name: data + persistentVolumeClaim: + claimName: garage-data + - name: meta + persistentVolumeClaim: + claimName: garage-meta + - name: config + secret: + secretName: garage + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/name + operator: In + values: + - garage + topologyKey: "kubernetes.io/hostname" +... diff --git a/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/ingress.yaml b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/ingress.yaml new file mode 100644 index 0000000..92458cc --- /dev/null +++ b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/ingress.yaml @@ -0,0 +1,35 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: garage + namespace: base-system + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: s3 + app.kubernetes.io/part-of: garage + annotations: + cert-manager.io/cluster-issuer: "letsencrypt-production" + traefik.ingress.kubernetes.io/router.middlewares: kube-system-redirect-https@kubernetescrd +spec: + ingressClassName: traefik + tls: + - hosts: + - misskey.s3.tyil.nl + secretName: tls-nl.tyil.s3.misskey + - hosts: + - dist.s3.tyil.nl + secretName: tls-nl-tyil.s3.dist + rules: + - host: "*.s3.tyil.nl" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: garage + port: + number: 3902 +... diff --git a/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/persistent-volume-claim.yaml b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/persistent-volume-claim.yaml new file mode 100644 index 0000000..8e54918 --- /dev/null +++ b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/persistent-volume-claim.yaml @@ -0,0 +1,38 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: garage-data + namespace: base-system + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: garage-data + app.kubernetes.io/part-of: base-system +spec: + storageClassName: longhorn + resources: + requests: + storage: "10Gi" + accessModes: + - ReadWriteMany +... +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: garage-meta + namespace: base-system + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: garage-meta + app.kubernetes.io/part-of: base-system +spec: + storageClassName: longhorn + resources: + requests: + storage: "5Gi" + accessModes: + - ReadWriteMany +... diff --git a/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/service.yaml b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/service.yaml new file mode 100644 index 0000000..fa48032 --- /dev/null +++ b/data.d/k3s-master/manifests.d/tyilnet/base-system/garage/service.yaml @@ -0,0 +1,35 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: garage + namespace: base-system + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: garage + app.kubernetes.io/part-of: base-system +spec: + selector: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: garage + app.kubernetes.io/part-of: base-system + type: LoadBalancer + ports: + - name: s3 + port: 3900 + targetPort: 3900 + - name: s3-rpc + port: 3901 + targetPort: 3901 + - name: s3-web + port: 3902 + targetPort: 3902 + - name: s3-admin + port: 3903 + targetPort: 3903 + - name: s3-k2v + port: 3904 + targetPort: 3904 +... -- cgit v1.1