Merge pull request #3018 from cisagov/ms/2901-refactor-cloning-workflow

refactor clone-staging.yaml
This commit is contained in:
Matt-Spence 2024-11-01 15:55:52 -05:00 committed by GitHub
commit 364cae22de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -21,41 +21,27 @@ jobs:
CF_USERNAME: CF_MS_USERNAME CF_USERNAME: CF_MS_USERNAME
CF_PASSWORD: CF_MS_PASSWORD CF_PASSWORD: CF_MS_PASSWORD
steps: steps:
- name: Checkout repository - name: Clone Database
uses: actions/checkout@v4 run: |
# install cf cli
- name: Setup Python wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo gpg --dearmor -o /usr/share/keyrings/cli.cloudfoundry.org.gpg
uses: actions/setup-python@v5 echo "deb [signed-by=/usr/share/keyrings/cli.cloudfoundry.org.gpg] https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
with:
python-version: '3.13' sudo apt-get update
cache: 'pip' # caching pip dependencies sudo apt-get install cf8-cli
# install cg-manage-rds tool
- name: Install CG Tool pip install git+https://github.com/cloud-gov/cg-manage-rds.git
run: pip install git+https://github.com/cloud-gov/cg-manage-rds.git
# Authenticate and target CF org and space.
- name: Share DB Service cf api api.fr.cloud.gov
uses: cloud-gov/cg-cli-tools@main cf auth ${{ secrets[env.CF_USERNAME] }} ${{ secrets[env.CF_PASSWORD] }}
with: cf target -o cisa-dotgov -s ${{ env.DESTINATION_ENVIRONMENT }}
cf_username: ${{ secrets[env.CF_USERNAME] }}
cf_password: ${{ secrets[env.CF_PASSWORD] }} # share the target db with the source space
cf_org: cisa-dotgov cf share-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }}
cf_space: ${{ env.DESTINATION_ENVIRONMENT }}
cf_command: share-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }} # clone from source to destination
cg-manage-rds clone getgov-${{ env.DESTINATION_ENVIRONMENT }}-database getgov-${{ env.SOURCE_ENVIRONMENT }}-database
- name: Clone Database
uses: cloud-gov/cg-cli-tools@main # unshare the service
with: cf unshare-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }}
cf_username: ${{ secrets.CF_MS_USERNAME }}
cf_password: ${{ secrets.CF_MS_PASSWORD }}
cf_org: cisa-dotgov
cf_space: ${{ env.SOURCE_ENVIRONMENT }}
command: cg-manage-rds clone getgov-${{ env.SOURCE_ENVIRONMENT }}-database getgov-${{ env.DESTINATION_ENVIRONMENT }}-database
- name: Unshare DB Service
uses: cloud-gov/cg-cli-tools@main
with:
cf_username: ${{ secrets.CF_MS_USERNAME }}
cf_password: ${{ secrets.CF_MS_PASSWORD }}
cf_org: cisa-dotgov
cf_space: ${{ env.SOURCE_ENVIRONMENT }}
cf_command: unshare-service getgov-${{ env.DESTINATION_ENVIRONMENT }}-database -s ${{ env.SOURCE_ENVIRONMENT }}