terraform-provider-redshift
terraform-provider-redshift copied to clipboard
Terraform Redshift provider
Terraform Provider for AWS Redshift
This provider allows to manage with Terraform AWS Redshift objects like users, groups, schemas, etc..
It's published on the Terraform registry.
Requirements
Building The Provider
$ git clone [email protected]:brainly/terraform-provider-redshift
Enter the provider directory and build the provider
$ cd terraform-provider-redshift
$ make build
Development
If you're new to provider development, a good place to start is the Extending Terraform docs.
Running Tests
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
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.
Releasing
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.