add app mongodb

This commit is contained in:
2024-07-08 02:31:11 +10:00
parent 0fe65b2135
commit dac55916ab
5 changed files with 216 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ resources:
- ./ingress-nginx/ingress-nginx-config.yaml
- ./local-path-provisioner/local-path-provisioner.yaml
- ./minio/minio.yaml
- ./mongodb/mongodb.yaml
- ./namespaces/namespaces.yaml
- ./postgresql/postgresql.yaml
- ./prometheus/prometheus.yaml

View File

@@ -0,0 +1,66 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: mongodb
namespace: mongodb
spec:
releaseName: mongodb
chart:
spec:
chart: mongodb
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
architecture: replicaset
auth:
rootPassword: ${root_password}
usernames:
- edward
- anysync
passwords:
- ${edward_password}
- ${anysync_password}
databases:
- edward
- anysync
replicaCount: 2
containerSecurityContext:
runAsUser: 1000
runAsGroup: 1000
startupProbe:
enabled: true
externalAccess:
enabled: true
service:
type: LoadBalancer
autoDiscovery:
enabled: true
persistence:
existingClaim: "mongodb-pvc"
backup:
enabled: true
cronjob:
schedule: "@daily"
containerSecurityContext:
runAsUser: 1000
runAsGroup: 1000
storage:
existingClaim: "mongodb-backup-pvc"
serviceAccount:
create: true
name: mongodb
automountServiceAccountToken: true
rbac:
create: true

View File

@@ -0,0 +1,93 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongodb-pv
namespace: mongodb
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 32Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/mongodb"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: mongodb-pvc
namespace: postgresql
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-1
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongodb-pvc
namespace: mongodb
labels:
name: mongodb-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 32Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongodb-backup-pv
namespace: mongodb
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/mongodb/backup"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: mongodb-backup-pvc
namespace: postgresql
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-1
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongodb-backup-pvc
namespace: mongodb
labels:
name: mongodb-backup-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 8Gi

View File

@@ -0,0 +1,52 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: mongodb-secrets
namespace: flux-system
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: mongodb
path: ./mongodb
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: namespaces
namespace: flux-system
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: mongodb
namespace: mongodb
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/infrastructure/mongodb/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: mongodb-secrets
namespace: flux-system
- name: namespaces
namespace: flux-system
- name: local-path-provisioner
namespace: local-path-storage
postBuild:
substituteFrom:
- kind: Secret
name: mongodb-secrets

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: mongodb