From fb630a12bfdc8ef4bda95cf7775e6ffb5f69da6849f90239f18c95f095713228 Mon Sep 17 00:00:00 2001 From: Maxime TEYSSIER Date: Thu, 26 Feb 2026 15:39:23 +0100 Subject: [PATCH] Add simple memo webapp kubernetes config files --- memo.yaml | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++ stockage.yaml | 11 ++++++++ 2 files changed, 81 insertions(+) create mode 100644 memo.yaml create mode 100644 stockage.yaml diff --git a/memo.yaml b/memo.yaml new file mode 100644 index 0000000..4cb7041 --- /dev/null +++ b/memo.yaml @@ -0,0 +1,70 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app-memos +spec: + replicas: 1 # Pour les bases de données type SQLite, on reste sur 1 pod pour éviter la corruption + selector: + matchLabels: + app: notes + template: + metadata: + labels: + app: notes + spec: + containers: + - name: memos + image: neosmemo/memos:stable + ports: + - containerPort: 5230 + volumeMounts: + - name: data + mountPath: /var/opt/memos # Chemin où Memos stocke sa base de données + volumes: + - name: data + persistentVolumeClaim: + claimName: pvc-notes-longhorn + tolerations: + - key: "node.kubernetes.io/unreachable" + operator: "Exists" + effect: "NoExecute" + tolerationSeconds: 10 # Il s'enfuit après 10 secondes d'unreachable + - key: "node.kubernetes.io/not-ready" + operator: "Exists" + effect: "NoExecute" + tolerationSeconds: 10 +--- +apiVersion: v1 +kind: Service +metadata: + name: svc-notes +spec: + ports: + - port: 80 + targetPort: 5230 # Memos écoute sur le 5230 par défaut + selector: + app: notes +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ingress-notes + annotations: + cert-manager.io/cluster-issuer: "step-ca-issuer" + traefik.ingress.kubernetes.io/router.entrypoints: websecure +spec: + tls: + - hosts: + - memo.kube.teyssier.lan + secretName: memo-tls + rules: + - host: memo.kube.teyssier.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: svc-notes + port: + number: 80 diff --git a/stockage.yaml b/stockage.yaml new file mode 100644 index 0000000..852123d --- /dev/null +++ b/stockage.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: pvc-notes-longhorn +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi # Memos a besoin d'un peu plus de place pour la DB + storageClassName: longhorn \ No newline at end of file