add app mongodb
This commit is contained in:
@@ -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
|
||||
|
||||
66
kubernetes/infrastructure/mongodb/app/release.yaml
Normal file
66
kubernetes/infrastructure/mongodb/app/release.yaml
Normal 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
93
kubernetes/infrastructure/mongodb/app/volume.yaml
Normal file
93
kubernetes/infrastructure/mongodb/app/volume.yaml
Normal 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
|
||||
52
kubernetes/infrastructure/mongodb/mongodb.yaml
Normal file
52
kubernetes/infrastructure/mongodb/mongodb.yaml
Normal 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
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: mongodb
|
||||
Reference in New Issue
Block a user