added deployment
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: postgres
|
||||
name: postgres
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: postgres
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: postgres
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: POSTGRES_DB
|
||||
value: MailArchiver
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: secret-ma-postgres
|
||||
key: password
|
||||
- name: POSTGRES_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: secret-ma-postgres
|
||||
key: username
|
||||
image: postgres:17-alpine
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- pg_isready -U mailuser -d MailArchiver
|
||||
failureThreshold: 5
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
name: postgres
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/postgresql/data
|
||||
name: ma-postgres-data
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: ma-postgres-data
|
||||
persistentVolumeClaim:
|
||||
claimName: ma-postgres-data-pvc
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: mailarchive-app
|
||||
name: mailarchive-app
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: mailarchive-app
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: mailarchive-app
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: Authentication__Password
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name:
|
||||
key:
|
||||
- name: Authentication__Username
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name:
|
||||
key:
|
||||
- name: ConnectionStrings__DefaultConnection
|
||||
value: Host=postgres;Database=MailArchiver;Username=archivadm;Password=cEkYJ3DsVGWbRWpD;
|
||||
- name: TimeZone__DisplayTimeZoneId
|
||||
value: Europe/Berlin
|
||||
image: s1t5/mailarchiver:latest
|
||||
name: mailarchive-app
|
||||
ports:
|
||||
- containerPort: 5000
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /app/DataProtection-Keys
|
||||
name: ma-data-protection-keys
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: ma-data-protection-keys
|
||||
persistentVolumeClaim:
|
||||
claimName: ma-data-protection-keys-pvc
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
annotations:
|
||||
pv.kubernetes.io/provisioned-by: nfs.csi.k8s.io
|
||||
name: ma-data-protection-keys-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 300Mi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: nfs-csi
|
||||
mountOptions:
|
||||
- nfsvers=4.1
|
||||
csi:
|
||||
driver: nfs.csi.k8s.io
|
||||
# volumeHandle format: {nfs-server-address}#{sub-dir-name}#{share-name}
|
||||
# make sure this value is unique for every share in the cluster
|
||||
volumeHandle: nfs-server.default.svc.cluster.local/share##
|
||||
volumeAttributes:
|
||||
server: 192.168.0.40
|
||||
share: /volume1/kubernetes/mail-archiver/data-protection-keys
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
annotations:
|
||||
pv.kubernetes.io/provisioned-by: nfs.csi.k8s.io
|
||||
name: ma-postgres-data-pv
|
||||
spec:
|
||||
capacity:
|
||||
storage: 300Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: nfs-csi
|
||||
mountOptions:
|
||||
- nfsvers=4.1
|
||||
csi:
|
||||
driver: nfs.csi.k8s.io
|
||||
# volumeHandle format: {nfs-server-address}#{sub-dir-name}#{share-name}
|
||||
# make sure this value is unique for every share in the cluster
|
||||
volumeHandle: nfs-server.default.svc.cluster.local/share##
|
||||
volumeAttributes:
|
||||
server: 192.168.0.40
|
||||
share: /volume1/kubernetes/mail-archiver/postgres-data
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: ma-data-protection-keys-pvc
|
||||
namespace: homeassistant
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 300Mi
|
||||
volumeName: ma-data-protection-keys-pv
|
||||
storageClassName: nfs-csi
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: ma-postgres-data-pvc
|
||||
namespace: homeassistant
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 300Gi
|
||||
volumeName: ma-postgres-data-pv
|
||||
storageClassName: nfs-csi
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: secret-ma-admin
|
||||
type: kubernetes.io/basic-auth
|
||||
stringData:
|
||||
username: admin
|
||||
password: PteF8WDum2xsKfUZ
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: secret-ma-postgres
|
||||
type: kubernetes.io/basic-auth
|
||||
stringData:
|
||||
username: archivadm
|
||||
password: cEkYJ3DsVGWbRWpD
|
||||
@@ -0,0 +1,17 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert
|
||||
kompose.version: 1.34.0 (cbf2835db)
|
||||
labels:
|
||||
io.kompose.service: mailarchive-app
|
||||
name: mailarchive-app
|
||||
spec:
|
||||
ports:
|
||||
- name: "5000"
|
||||
port: 5000
|
||||
targetPort: 5000
|
||||
selector:
|
||||
io.kompose.service: mailarchive-app
|
||||
type: LoadBalancer
|
||||
@@ -1,12 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: mailarchive-app-claim0
|
||||
name: mailarchive-app-claim0
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -1,12 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: postgres-claim0
|
||||
name: postgres-claim0
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,61 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: grafana-k8s-monitoring
|
||||
namespace: "{argocd-namespace}"
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
destination:
|
||||
name: ''
|
||||
namespace: "{namespace}"
|
||||
server: 'https://kubernetes.default.svc'
|
||||
source:
|
||||
path: ''
|
||||
repoURL: 'https://grafana.github.io/helm-charts'
|
||||
targetRevision: ''
|
||||
chart: k8s-monitoring
|
||||
helm:
|
||||
valuesObject:
|
||||
cluster:
|
||||
name: "{cluster-name}"
|
||||
destinations:
|
||||
- name: grafana-cloud-metrics
|
||||
type: prometheus
|
||||
host: "{prometheus-url}/api/prom/push"
|
||||
auth:
|
||||
type: basic
|
||||
username: "{prometheus-username}"
|
||||
password: "{cloud-access-token}"
|
||||
- name: grafana-cloud-logs
|
||||
type: loki
|
||||
host: "{loki-url}"
|
||||
auth:
|
||||
type: basic
|
||||
username: "{loki-username}"
|
||||
password: "{cloud-access-token}"
|
||||
|
||||
clusterMetrics:
|
||||
enabled: true
|
||||
kepler:
|
||||
enabled: true
|
||||
opencost:
|
||||
enabled: true
|
||||
metricsSource: grafana-cloud-metrics
|
||||
opencost:
|
||||
exporter:
|
||||
defaultClusterId: "{cluster-name}"
|
||||
prometheus:
|
||||
existingSecretName: grafana-cloud-metrics-grafana-k8s-monitoring
|
||||
external:
|
||||
url: "{prometheus-url}/api/prom"
|
||||
clusterEvents:
|
||||
enabled: true
|
||||
podLogs:
|
||||
enabled: true
|
||||
alloy-metrics:
|
||||
enabled: true
|
||||
alloy-singleton:
|
||||
enabled: true
|
||||
alloy-logs:
|
||||
enabled: true
|
||||
@@ -0,0 +1,14 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: prometheus
|
||||
namespace: argocd
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://prometheus-community.github.io/helm-charts
|
||||
targetRevision: 27.50.0
|
||||
chart: kube-prometheus-stack
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: prometheus
|
||||
Reference in New Issue
Block a user