Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mongo DB backup job does not fully do a backup snapshot for all databases #317

Open
ratkokorlevski opened this issue Dec 28, 2023 · 1 comment

Comments

@ratkokorlevski
Copy link

Summary

I have a cron jobs to create a Mongo DB snapshot of all databases and store it in S3, but when I do a restore I only get restores for 2 databases. This jobs run in an EKS cluster on AWS

Steps to reproduce

This the setup with values:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: cron-daily-backup-mongo
  namespace: staging
  labels:
    name: cron-daily-backup-mongo

spec:
  schedule: "0 2,11 * * *"
  successfulJobsHistoryLimit: 1
  failedJobsHistoryLimit: 1
  # schedule: "25 1,14 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          serviceAccountName: backup-service-account
          volumes:
            - name: secrets-store-inline
              csi:
                driver: secrets-store.csi.k8s.io
                readOnly: true
                volumeAttributes:
                  secretProviderClass: cron-backup-secret-provider
          containers:
            - name: mongo-db-backup-central
              image: tiredofit/db-backup:3.8.5
              command: ["backup-now"]
              volumeMounts:
                - name: secrets-store-inline
                  mountPath: "/mnt/secrets-store"
                  readOnly: true
              env:
                - name: BACKUP_LOCATION
                  value: "S3"
                - name: DB_TYPE
                  value: "mongo"
                - name: DEBUG_MODE
                  value: "true"
                - name: DB_HOST
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: MONGODB_HOST
                - name: DB_NAME
                  value: "ALL"
                - name: DB_AUTH
                  value: "admin"
                - name: DB_NAME_EXCLUDE
                  value: "admin,config,local"
                - name: MONGO_CUSTOM_URI
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: MONGODB_URI
                - name: DB_USER
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: MONGODB_USER
                - name: DB_PASS
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: MONGODB_PASS
                - name: S3_BUCKET
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: S3_BUCKET
                - name: S3_HOSTNAME
                  value: "s3.amazonaws.com"
                - name: S3_KEY_ID
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: AWS_ACCESS_KEY_ID
                - name: S3_KEY_SECRET
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: AWS_SECRET_ACCESS_KEY
                - name: S3_PATH
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: S3_PATH_MONGO
                - name: S3_REGION
                  valueFrom:
                    secretKeyRef:
                      name: cron-backup-secrets
                      key: AWS_DEFAULT_REGION
                - name: CONTAINER_ENABLE_MONITORING
                  value: "false"
                - name: MD5
                  value: "TRUE"
                - name: COMPRESSION
                  value: "GZ"
                - name: TIMEZONE
                  value: "Europe/Stockholm"
                - name: CONTAINER_ENABLE_SCHEDULING
                  value: "FALSE"
                - name: MODE
                  value: "MANUAL"
                - name: MANUAL_RUN_FOREVER
                  value: "FALSE"

What is the expected correct behavior?

I am expecting to have a full backup, so when I restore the db to restore all of the data across the tables/databases.
NOTE: there are 3 tables excluded (local, admin, config).

  • Image version / tag: tiredofit/db-backup:3.8.5
  • Host OS: Linux
@yaakovfeldman
Copy link

yaakovfeldman commented Feb 14, 2024

Is ‘ALL’ (used in config above) a supported option for DB_NAME when type is mongo? The documentation implies this is only supported for some other database types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants