geocrop-platform./k8s/base/ntfy.yaml

100 lines
1.9 KiB
YAML

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ntfy-data
namespace: monitoring
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: ConfigMap
metadata:
name: ntfy-config
namespace: monitoring
data:
server.yml: |
base-url: "https://ntfy.techarvest.co.zw"
listen-http: ":80"
auth-file: "/var/lib/ntfy/user.db"
auth-default-access: "deny-all"
cache-file: "/var/lib/ntfy/cache.db"
attachment-cache-dir: "/var/lib/ntfy/attachments"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ntfy
namespace: monitoring
spec:
replicas: 1
selector:
matchLabels:
app: ntfy
template:
metadata:
labels:
app: ntfy
spec:
containers:
- name: ntfy
image: binwiederhier/ntfy:latest
imagePullPolicy: Always
args: ["serve"]
ports:
- containerPort: 80
volumeMounts:
- name: ntfy-config
mountPath: /etc/ntfy/server.yml
subPath: server.yml
readOnly: true
- name: ntfy-data
mountPath: /var/lib/ntfy
volumes:
- name: ntfy-config
configMap:
name: ntfy-config
- name: ntfy-data
persistentVolumeClaim:
claimName: ntfy-data
---
apiVersion: v1
kind: Service
metadata:
name: ntfy
namespace: monitoring
spec:
selector:
app: ntfy
ports:
- port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ntfy-ingress
namespace: monitoring
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
ingressClassName: nginx
tls:
- hosts:
- ntfy.techarvest.co.zw
secretName: ntfy-tls
rules:
- host: ntfy.techarvest.co.zw
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: ntfy
port:
number: 80