From 911c15dc4eaaa7cb66971b0657025718ce4f2e80 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Tue, 7 Feb 2023 08:08:29 -0500 Subject: [PATCH] Add migration to readme --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/README.md b/README.md index 29cb7a6..d7e4e98 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ - [vmpooler-provider-gce](#vmpooler-provider-gce) - [Usage](#usage) + - [Migrating to v1](#migrating-to-v1) - [DNS](#dns) - [Labels](#labels) - [Pre-requisite](#pre-requisite) @@ -23,6 +24,42 @@ GCE authorization is handled via a service account (or personal account) private 1. GOOGLE_APPLICATION_CREDENTIALS environment variable eg GOOGLE_APPLICATION_CREDENTIALS=/my/home/directory/my_account_key.json +### Migrating to v1 + +Starting with the v1.x release, management of DNS records has been extracted from this compute provider and implemented as DNS plugins, similar to compute providers. This means each pool configuration should be pointing to a configuration object in `:dns_config` to determine it's method of record management. + +For those using DNS management via this provider, the DNS related options should be moved under `:dns_configs:` with the value for `dns_class`. + +For example, the following keys in a v0.x GCE provider config: + +```yaml +:providers: + :gce: + domain: vmpooler.example.com + dns_zone_resource_name: vmpooler-example-com +``` + +Would be moved to: + +```yaml +:dns_configs: + :example: + dns_class: gcp-clouddns + project: jake-vmpooler-dev + domain: vmpooler.example.com + zone_name: vmpooler-example-com +``` + +Then any pools that should have records created via the dns config above should now reference the named dns config in the `dns_plugin` key: + +```yaml +:pools: + - name: 'debian-11-x86_64' + dns_plugin: 'example' +``` + +For complete examples on how to use the GCP DNS plugin see [vmpooler-dns-gcp](https://github.com/puppetlabs/vmpooler-dns-gcp). + ### DNS DNS is integrated via Google's CloudDNS service. To enable, a CloudDNS zone name must be provided in the config (see the example yaml file dns_zone_resource_name)