Thank you for your interest in contributing to the Archestra Terraform Provider!
- Go >= 1.24
- Terraform
- We recommend using
tenvto manage yourterraforminstallations
- We recommend using
- Make (optional, for convenience)
To use a locally-built provider, you'll need to configure Terraform's development overrides. Create or edit ~/.terraformrc:
provider_installation {
dev_overrides {
"archestra-ai/archestra" = "<your-path-to-this-repo-on-your-machine>"
}
direct {}
}Then you can run Terraform commands in the examples/ directory.
make buildRun the provider tests:
make testmake generateThe API client is generated from the Archestra platform's OpenAPI spec and is pinned to a specific version of Archestra. To regenerate/bump the client:
-
Run the Archestra platform locally at the desired version. The easiest way is using Docker:
docker run -p 9000:9000 -p 3000:3000 \ -e ARCHESTRA_ENTERPRISE_LICENSE_ACTIVATED=true \ -v archestra-postgres-data:/var/lib/postgresql/data \ -v archestra-app-data:/app/data \ archestra/platform:<version-tag>
Note: The
-e ARCHESTRA_ENTERPRISE_LICENSE_ACTIVATED=trueflag is required to ensure the OpenAPI spec includes all routes and types.See the Archestra Platform Quickstart for more details.
-
Generate the client from the running platform's OpenAPI spec (served at http://localhost:9000/openapi.json):
make codegen-api-client
-
Update the
ARCHESTRA_VERSIONenv var in.github/workflows/on-pull-request.ymlto match the version you generated the client from. This ensures CI acceptance tests run against the same version.
Run the formatter before committing:
make lint # requires golangci-lint installed (see https://golangci-lint.run/docs/welcome/install/)
make fmtReleases are automated via GitHub Actions using release-please