diff --git a/apps/recipes/deployment.yaml b/apps/recipes/deployment.yaml new file mode 100644 index 0000000..e1bbb87 --- /dev/null +++ b/apps/recipes/deployment.yaml @@ -0,0 +1,37 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mealie +spec: + selector: + matchLabels: + app: mealie + template: + metadata: + labels: + app: mealie + spec: + containers: + - name: mealie + image: mealie + resources: + limits: + memory: "128Mi" + cpu: "500m" + ports: + - containerPort: 9000 + env: + - name: ALLOW_SIGNUP + value: "true" + - name: TZ + value: Europe/Paris + - name: BASE_URL + value: https://recipes.kluster.moll.re + volumeMounts: + - name: mealie-data + mountPath: /app/data + + volumes: + - name: mealie-data + persistentVolumeClaim: + claimName: mealie-data diff --git a/apps/recipes/ingress.yaml b/apps/recipes/ingress.yaml new file mode 100644 index 0000000..475e890 --- /dev/null +++ b/apps/recipes/ingress.yaml @@ -0,0 +1,16 @@ +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: mealie-ingressroute + +spec: + entryPoints: + - websecure + routes: + - match: Host(`recipes.kluster.moll.re`) + kind: Rule + services: + - name: mealie-web + port: 9000 + tls: + certResolver: default-tls diff --git a/apps/recipes/kustomization.yaml b/apps/recipes/kustomization.yaml new file mode 100644 index 0000000..596431f --- /dev/null +++ b/apps/recipes/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: recipes + +resources: + - namespace.yaml + - deployment.yaml + - pvc.yaml + - service.yaml + - ingress.yaml + +images: + - name: mealie + newTag: v1.2.0 + newName: ghcr.io/mealie-recipes/mealie \ No newline at end of file diff --git a/apps/recipes/namespace.yaml b/apps/recipes/namespace.yaml new file mode 100644 index 0000000..0a074bd --- /dev/null +++ b/apps/recipes/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: placeholder diff --git a/apps/recipes/pvc.yaml b/apps/recipes/pvc.yaml new file mode 100644 index 0000000..406ced3 --- /dev/null +++ b/apps/recipes/pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mealie-data +spec: + resources: + requests: + storage: 1Gi + volumeMode: Filesystem + storageClassName: nfs-client + accessModes: + - ReadWriteOnce diff --git a/apps/recipes/service.yaml b/apps/recipes/service.yaml new file mode 100644 index 0000000..16bd6ff --- /dev/null +++ b/apps/recipes/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: mealie-web +spec: + selector: + app: mealie + ports: + - port: 9000 + targetPort: 9000 diff --git a/kluster-deployments/kustomization.yaml b/kluster-deployments/kustomization.yaml index b9c3884..b576c2f 100644 --- a/kluster-deployments/kustomization.yaml +++ b/kluster-deployments/kustomization.yaml @@ -36,3 +36,4 @@ resources: - syncthing/ - finance/ - eth-physics/ + - recipes/ diff --git a/kluster-deployments/recipes/application.yaml b/kluster-deployments/recipes/application.yaml new file mode 100644 index 0000000..424a7cc --- /dev/null +++ b/kluster-deployments/recipes/application.yaml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: recipes-application + namespace: argocd +spec: + project: apps + source: + repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git + targetRevision: main + path: apps/recipes/ + destination: + server: https://kubernetes.default.svc + namespace: recipes + syncPolicy: + automated: + prune: true + selfHeal: true \ No newline at end of file diff --git a/kluster-deployments/recipes/kustomization.yaml b/kluster-deployments/recipes/kustomization.yaml new file mode 100644 index 0000000..977dcfe --- /dev/null +++ b/kluster-deployments/recipes/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - application.yaml