Customer Platform for Developers
Website · Documentation · Community Slack
This repository implements the RudderStack Terraform provider. You can use this provider to programmatically access the RudderStack control plane via Terraform and seamlessly manage your source-destination configurations.
Questions? Join our Slack community for quick support.
- If you new to the Terraform platform, then their docs are a good place to start.
- If you are interested in enhancing the RudderStack Terraform provider, create a local build and test your environment using an example configuration listed here.
- To manage your production RudderStack resources via Terraform, get detailed documentation for the Terraform Provider here.
Before you get started, make sure that following dependencies are installed:
- Bash (On Windows, consider using WSL2 Ubuntu)
- Go
- Make
- Run the following command to build and install the provider:
$ make
$ make install
- Next, make sure that your
/.terraformrc
file has the following lines:
provider_installation {
dev_overrides {
"rudderlabs/rudderstack" = /users/abc/terraform.d/plugins/rudderstack.com/rudderlabs/rudderstack/0.2.12/linux_amd64/"
}
}
The above snippet ensures that you use the locally built Terraform provider binary instead of the one available at the Terraform Registry.
A few things to note here:
- Use the full path, that is,
/users/xyz/.terraform.d/....
depending on your home directory. - The
linux_amd64
part depends on your system's architecture. For example, on Macs it isdarwin_amd64
. This is essentially the path that is reported after themake install
command runs.
- Navigate to the
examples
directory:
$ cd examples
- Run the following command to initialize the workspace and apply the sample configuration:
$ terraform init && terraform apply
git tag vX.Y.Z
git push
goreleaser release --rm-dist
- Learn more about the RudderStack architecture to understand the difference between RudderStack control plane and data plane.
- https://github.com/rudderlabs/cp-client-go: This repository implements the REST API client for the RudderStack control plane in Golang.
- https://github.com/rudderlabs/rscp_pyclient: This repository implements the REST API client for the RudderStack control plane in Python. A few additional RudderStack-related methods are also available.
The RudderStack Terraform Provider is released under the MIT License.
We would love to see you contribute to RudderStack. Get more information on how to contribute here.