Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions .github/workflows/crunchy-dr-failover.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Wait for Gold DB to shut down
run: |
Expand Down Expand Up @@ -99,7 +100,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Confirm Gold DR is Primary
run: |
Expand Down Expand Up @@ -147,7 +149,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Confirm Gold DB deleted
run: |
Expand Down Expand Up @@ -188,7 +191,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value="${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }}" \
--set backup-storage.env.S3_ENDPOINT.value="${{ secrets.CRUNCHY_S3_ENDPOINT }}" \
--set backup-storage.env.S3_USER.value="${{ secrets.CRUNCHY_S3_ACCESS_KEY }}" \
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}"
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}" \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Confirm Cluster is Standby
run: |
Expand Down Expand Up @@ -239,7 +243,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Wait for Gold DB DR to shut down
run: |
Expand Down Expand Up @@ -281,7 +286,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Confirm Gold is Primary
run: |
Expand Down Expand Up @@ -330,7 +336,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Verify Gold DR DB deleted
run: |
Expand Down Expand Up @@ -372,7 +379,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value="${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }}" \
--set backup-storage.env.S3_ENDPOINT.value="${{ secrets.CRUNCHY_S3_ENDPOINT }}" \
--set backup-storage.env.S3_USER.value="${{ secrets.CRUNCHY_S3_ACCESS_KEY }}" \
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}"
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}" \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

- name: Confirm Gold DR is Standby
run: |
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/crunchy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}


deploy-golddr:
Expand Down Expand Up @@ -84,4 +85,5 @@ jobs:
--set backup-storage.env.S3_BUCKET.value=${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }} \
--set backup-storage.env.S3_ENDPOINT.value=${{ secrets.CRUNCHY_S3_ENDPOINT }} \
--set backup-storage.env.S3_USER.value=${{ secrets.CRUNCHY_S3_ACCESS_KEY }} \
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }}
--set backup-storage.env.S3_PASSWORD.value=${{ secrets.CRUNCHY_S3_SECRET_KEY }} \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}
8 changes: 6 additions & 2 deletions infrastructure/crunchy-postgres/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ Assumptions:
--set backup-storage.env.S3_BUCKET.value="${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }}" \
--set backup-storage.env.S3_ENDPOINT.value="${{ secrets.CRUNCHY_S3_ENDPOINT }}" \
--set backup-storage.env.S3_USER.value="${{ secrets.CRUNCHY_S3_ACCESS_KEY }}" \
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}"
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}" \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

1. Confirm everything has installed as expected
1. Run these commands to set DB owner in the primary pod like this
1. `oc exec -it $(oc get pods -l "postgres-operator.crunchydata.com/role=master" -o jsonpath='{.items[0].metadata.name}') -- /bin/bash`
Expand All @@ -61,7 +63,8 @@ If you are setting up Crunchy in Active-Standby configuration you will also need
--set backup-storage.env.S3_BUCKET.value="${{ secrets.CRUNCHY_S3_BACKUP_STORAGE_BUCKET }}" \
--set backup-storage.env.S3_ENDPOINT.value="${{ secrets.CRUNCHY_S3_ENDPOINT }}" \
--set backup-storage.env.S3_USER.value="${{ secrets.CRUNCHY_S3_ACCESS_KEY }}" \
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}"
--set backup-storage.env.S3_PASSWORD.value="${{ secrets.CRUNCHY_S3_SECRET_KEY }}" \
--set backup-storage.env.WEBHOOK_URL.value=${{ secrets.CRUNCHY_WEBHOOK_URL }}

Due to how the clusters are setup, you will need to update the password for `ccp_monitoring` for the Standby cluster based on this documentation: https://access.crunchydata.com/documentation/postgres-operator/latest/tutorials/backups-disaster-recovery/disaster-recovery#monitoring-a-standby-cluster
Here are the steps: https://access.crunchydata.com/documentation/postgres-operator/latest/guides/exporter-configuration#setting-a-custom-ccp_monitoring-password
Expand All @@ -86,6 +89,7 @@ To be able to run that workflow, ensure you have these secrets set for each envi
- CRUNCHY_S3_ACCESS_KEY
- CRUNCHY_S3_SECRET_KEY
- CRUNCHY_USER_PASSWORD
- CRUNCHY_WEBHOOK_URL
- OPENSHIFT_GOLD_TOKEN
- OPENSHIFT_GOLDDR_TOKEN

Expand Down
5 changes: 5 additions & 0 deletions infrastructure/crunchy-postgres/values-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ backup-storage:
env:
ENVIRONMENT_FRIENDLY_NAME:
value: "RIDE Dev Database"
ENVIRONMENT_NAME:
value: "dev-ride-db"
WEBHOOK_URL:
value: "" # DO NOT UPLOAD TO GITHUB.
secure: true
BACKUP_STRATEGY:
value: "rolling"
DAILY_BACKUPS:
Expand Down
5 changes: 5 additions & 0 deletions infrastructure/crunchy-postgres/values-prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ backup-storage:
env:
ENVIRONMENT_FRIENDLY_NAME:
value: "RIDE Prod Database"
ENVIRONMENT_NAME:
value: "prod-ride-db"
WEBHOOK_URL:
value: "" # DO NOT UPLOAD TO GITHUB.
secure: true
BACKUP_STRATEGY:
value: "rolling"
DAILY_BACKUPS:
Expand Down
5 changes: 5 additions & 0 deletions infrastructure/crunchy-postgres/values-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ backup-storage:
env:
ENVIRONMENT_FRIENDLY_NAME:
value: "RIDE Test Database"
ENVIRONMENT_NAME:
value: "test-ride-db"
WEBHOOK_URL:
value: "" # DO NOT UPLOAD TO GITHUB.
secure: true
BACKUP_STRATEGY:
value: "rolling"
DAILY_BACKUPS:
Expand Down
5 changes: 5 additions & 0 deletions infrastructure/crunchy-postgres/values-uat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ backup-storage:
env:
ENVIRONMENT_FRIENDLY_NAME:
value: "RIDE UAT Database"
ENVIRONMENT_NAME:
value: "uat-ride-db"
WEBHOOK_URL:
value: "" # DO NOT UPLOAD TO GITHUB.
secure: true
BACKUP_STRATEGY:
value: "rolling"
DAILY_BACKUPS:
Expand Down