This provider allows to manage with Terraform AWS Redshift objects like users, groups, schemas, etc..
It's published on the Terraform registry.
$ git clone [email protected]:brainly/terraform-provider-redshift
Enter the provider directory and build the provider
$ cd terraform-provider-redshift
$ make build
If you're new to provider development, a good place to start is the Extending Terraform docs.
Acceptance tests require a running real AWS Redshift cluster.
REDSHIFT_HOST=<cluster ip or DNS>
REDSHIFT_USER=root
REDSHIFT_DATABASE=redshift
REDSHIFT_PASSWORD=<password>
make testacc
If your cluster is only accessible from within the VPC, you can connect via a socks proxy:
ALL_PROXY=socks5[h]://[<socks-user>:<socks-password>@]<socks-host>[:<socks-port>]
NO_PROXY=127.0.0.1,192.168.0.0/24,*.example.com,localhost
Documentation is generated with
tfplugindocs. Generated
files are in docs/
and should not be updated manually. They are derived from:
- Schema
Description
fields in the provider Go code. - examples/
- templates/
Use go generate
to update generated docs.
Builds and releases are automated with GitHub Actions and GoReleaser. The changelog is managed with github-changelog-generator.
Currently there are a few manual steps to this:
-
Update the changelog:
RELEASE_VERSION=v... \ CHANGELOG_GITHUB_TOKEN=... \ make changelog
This will commit the changelog locally.
-
Review generated changelog and push:
View the committed changelog with
git show
. If all is wellgit push origin master
. -
Kick off the release:
RELEASE_VERSION=v... \ make release
Once the command exits, you can monitor the rest of the process on the Actions UI.
-
Publish release:
The Action creates the release, but leaves it in "draft" state. Open it up in a browser and if all looks well, click the publish button.