- A Google Cloud Project with the Cloud DNS enabled.
- A custom IAM role with the permissions listed in
util/vmpooler-dns-gcp-role.yaml
. - A service account assigned to the custom role above.
- A service account key, using the account above, exported as
GOOGLE_APPLICATION_CREDENTIALS
where VMPooler is run.
Example dns config setup:
:dns_configs:
:example:
dns_class: gcp
project: vmpooler-example
domain: vmpooler.example.com
zone_name: vmpooler-example-com
Examples of deploying VMPooler with dns configs can be found in the puppetlabs/vmpooler-deployment repository.
To update the Gemfile.lock
run ./update-gemfile-lock
.
Verify, and update if needed, that the docker tag in the script and GitHub action workflows matches what is used in the vmpooler-deployment Dockerfile.
Follow these steps to publish a new GitHub release, and build and push the gem to https://rubygems.org.
- Bump the "VERSION" in
lib/vmpooler-dns-gcp/version.rb
appropriately based on changes inCHANGELOG.md
since the last release. - Run
./release-prep
to updateGemfile.lock
andCHANGELOG.md
. - Commit and push changes to a new branch, then open a pull request against
main
and be sure to add the "maintenance" label. - After the pull request is approved and merged, then navigate to Actions --> Release Gem --> run workflow --> Branch: main --> Run workflow.
vmpooler-dns-gcp is distributed under the Apache License, Version 2.0. See the LICENSE file for more details.