# IMPORTANT: Be sure to set the VERSION variable in the Job definition # with the name of the backup file to be restored in S3 # # WARNING: It is best practice to scale down your minecraft deployment # to assure you have no server pods running before a restore. This is # currenly a manual task. --- apiVersion: v1 kind: Namespace metadata: name: minecraft --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: bds namespace: minecraft spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: ConfigMap metadata: name: backup-to-s3-bedrock namespace: minecraft labels: role: backup data: # https://github.com/flickerfly/docker-backup-to-s3/blob/master/README.md CRON_SCHEDULE: '0 12 * * *' S3_PATH: s3://mybucket/bedrock AWS_DEFAULT_REGION: us-east-1 # Pass this to the S3 command PARAMS: "" PREFIX: bedrock DATA_PATH: /data/ --- apiVersion: v1 kind: Secret metadata: name: backup-to-s3-bedrock namespace: minecraft labels: role: backup data: # https://github.com/flickerfly/docker-backup-to-s3/blob/master/README.md AES_PASSPHRASE: BASE64-ENCODED STRING AWS_ACCESS_KEY_ID: BASE64-ENCODED STRING AWS_SECRET_ACCESS_KEY: BASE64-ENCODED STRING --- # Setup the jod to create a pod that will do the work. apiVersion: batch/v1 kind: Job metadata: name: bds-restore namespace: minecraft labels: role: restore app: bedrock spec: template: spec: containers: - name: restore-from-s3 image: jritchie/backup-to-s3 args: - restore volumeMounts: - name: bds mountPath: /data envFrom: - configMapRef: name: backup-to-s3-bedrock - secretRef: name: backup-to-s3-bedrock env: - name: VERSION value: bedrck-3020-05-28T15:33:49Z-example restartPolicy: Never volumes: - name: bds persistentVolumeClaim: claimName: bds