feat(family): add mealie and grocy instances for Ruva and Rufaro

This commit is contained in:
fchinembiri 2026-05-21 20:35:51 +02:00
parent 61b8a330f2
commit a34d3df7d6
4 changed files with 309 additions and 1 deletions

View File

@ -6,7 +6,7 @@ metadata:
spec:
project: default
source:
repoURL: http://gitea.geocrop.svc.cluster.local:3000/fchinembiri/geocrop-platform.git
repoURL: http://gitea.geocrop.svc.cluster.local:3000/fchinembiri/geocrop-platform..git
targetRevision: HEAD
path: k8s/family-apps
destination:

View File

@ -7,3 +7,5 @@ resources:
- tendai.yaml
- tsitsi.yaml
- kecy.yaml
- ruva.yaml
- rufaro.yaml

153
k8s/family-apps/rufaro.yaml Normal file
View File

@ -0,0 +1,153 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grocy-pvc-rufaro
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: grocy-rufaro
spec:
replicas: 1
selector:
matchLabels:
app: grocy-rufaro
template:
metadata:
labels:
app: grocy-rufaro
spec:
containers:
- name: grocy
image: lscr.io/linuxserver/grocy:latest
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "Africa/Harare"
ports:
- containerPort: 80
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
persistentVolumeClaim:
claimName: grocy-pvc-rufaro
---
apiVersion: v1
kind: Service
metadata:
name: grocy-rufaro
spec:
ports:
- port: 80
targetPort: 80
selector:
app: grocy-rufaro
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grocy-rufaro-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
ingressClassName: nginx
tls:
- hosts:
- grocy-rufaro.techarvest.co.zw
secretName: grocy-rufaro-tls
rules:
- host: grocy-rufaro.techarvest.co.zw
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grocy-rufaro
port:
number: 80
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mealie-pvc-rufaro
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mealie-rufaro
spec:
replicas: 1
selector:
matchLabels:
app: mealie-rufaro
template:
metadata:
labels:
app: mealie-rufaro
spec:
containers:
- name: mealie
image: ghcr.io/mealie-recipes/mealie:latest
env:
- name: TZ
value: "Africa/Harare"
ports:
- containerPort: 9000
volumeMounts:
- name: data
mountPath: /app/data
volumes:
- name: data
persistentVolumeClaim:
claimName: mealie-pvc-rufaro
---
apiVersion: v1
kind: Service
metadata:
name: mealie-rufaro
spec:
ports:
- port: 80
targetPort: 9000
selector:
app: mealie-rufaro
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mealie-rufaro-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
ingressClassName: nginx
tls:
- hosts:
- mealie-rufaro.techarvest.co.zw
secretName: mealie-rufaro-tls
rules:
- host: mealie-rufaro.techarvest.co.zw
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: mealie-rufaro
port:
number: 80

153
k8s/family-apps/ruva.yaml Normal file
View File

@ -0,0 +1,153 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grocy-pvc-ruva
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: grocy-ruva
spec:
replicas: 1
selector:
matchLabels:
app: grocy-ruva
template:
metadata:
labels:
app: grocy-ruva
spec:
containers:
- name: grocy
image: lscr.io/linuxserver/grocy:latest
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "Africa/Harare"
ports:
- containerPort: 80
volumeMounts:
- name: config
mountPath: /config
volumes:
- name: config
persistentVolumeClaim:
claimName: grocy-pvc-ruva
---
apiVersion: v1
kind: Service
metadata:
name: grocy-ruva
spec:
ports:
- port: 80
targetPort: 80
selector:
app: grocy-ruva
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grocy-ruva-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
ingressClassName: nginx
tls:
- hosts:
- grocy-ruva.techarvest.co.zw
secretName: grocy-ruva-tls
rules:
- host: grocy-ruva.techarvest.co.zw
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grocy-ruva
port:
number: 80
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mealie-pvc-ruva
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mealie-ruva
spec:
replicas: 1
selector:
matchLabels:
app: mealie-ruva
template:
metadata:
labels:
app: mealie-ruva
spec:
containers:
- name: mealie
image: ghcr.io/mealie-recipes/mealie:latest
env:
- name: TZ
value: "Africa/Harare"
ports:
- containerPort: 9000
volumeMounts:
- name: data
mountPath: /app/data
volumes:
- name: data
persistentVolumeClaim:
claimName: mealie-pvc-ruva
---
apiVersion: v1
kind: Service
metadata:
name: mealie-ruva
spec:
ports:
- port: 80
targetPort: 9000
selector:
app: mealie-ruva
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mealie-ruva-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
ingressClassName: nginx
tls:
- hosts:
- mealie-ruva.techarvest.co.zw
secretName: mealie-ruva-tls
rules:
- host: mealie-ruva.techarvest.co.zw
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: mealie-ruva
port:
number: 80