CNPG
Adding Credentials
You can add the credentials by copy-pasting the Full Examples section in the common-docs and adapting those accordingly
CNPG Database Backups
CNPG-backed PostgreSQL databases have their own S3 backup system.
For each chart:
-
Add CNPG backups to each database you want backed up
-
Add the name you gave to the S3 credentials earlier, under the
credentials
section
It will look like something like this:
cnpg: main: backups: enabled: true credentials: s3 recovery: credentials: s3
-
Confirm the data is being sent to your S3 host after ~5 minutes. At 00:00 UTC a complete backup will be made.
-
We advise you to set the “mode” to
recovery
, this should prevent the app starting with an empty database upon recovery.
It will look something like this:
cnpg: main: mode: recovery backups: enabled: true credentials: s3 recovery: credentials: s3
CNPG Database Restore
Before CNPG will correctly restore the database, the following modifications need to be done after recreating or importing the app configuration:
-
Ensure you’ve setup CNPG backups as well as recovery as it was previously
-
Ensure the “mode” is set to
recovery
-
Set “revision” on your recovery to match the previous revision setting on your backup settings.
-
Increase the revision on your backup setting by 1 (or set to 1 if previously empty). Revision needs to set as string ("")
It will look something like this:
cnpg: main: mode: recovery backups: enabled: true revision: "1" credentials: s3 recovery: # revision: "x" ## Can be added when you are would like to recover when the revision is > 0 (Step 3) credentials: s3
Total System Restore and Migration to New System
When on a completely new system, you can easily restore using the above steps with the following caveats:
- The PVC backend needs to support snapshots
- The apps need to be called exactly the same as they were before, and use exactly the same values.yaml structure
- If you’ve any non-PVC storage attached, be sure that this is still available or apps won’t start until this is resolved.