Skip to main content

Unleash Pulumi Provider

A Pulumi provider for Unleash, bridged from the official Unleash/terraform-provider-unleash using the Pulumi Terraform Bridge.

Because it bridges the upstream Terraform provider directly, resources and data sources come from the same schema rather than a parallel reimplementation, so the two stay in lockstep as the upstream provider evolves.

Installation

npm install @pulumiverse/unleash
pip install pulumiverse-unleash
dotnet add package Pulumiverse.Unleash
go get github.com/pulumiverse/pulumi-unleash/sdk/v3

The plugin binary is resolved from this repository's GitHub releases via the PluginDownloadURL baked into the schema, so pulumi up fetches it with no extra configuration.

The provider is not in the Pulumi Registry, so a manual pulumi plugin install needs the server spelled out. Installing the SDK is the normal path and needs none of this:

pulumi plugin install resource unleash 3.0.0 --server github://api.github.com/pulumiverse

Building from source

Prerequisites: Go 1.25+, pulumictl, mise, the Pulumi CLI, Node.js, Yarn, Python 3, and the .NET SDK.

pulumi plugin install converter terraform   # required - schema generation uses pulumiConvert
make tfgen        # generate the Pulumi schema from the upstream Terraform provider
make provider     # build bin/pulumi-resource-unleash
make build_sdks   # generate and build the dotnet, go, nodejs and python SDKs

Configuration

Option Environment variable Notes
baseUrl UNLEASH_URL Everything before /api
authorization UNLEASH_AUTH_TOKEN Admin API token; marked secret
maxConcurrentRequests UNLEASH_MAX_CONCURRENT_REQUESTS Upstream default is 2

The upstream Terraform provider also accepts a bare AUTH_TOKEN as a fallback. This provider deliberately does not, because an unscoped AUTH_TOKEN sitting in a shell or CI environment would silently authenticate against Unleash. Use UNLEASH_AUTH_TOKEN.

Resource coverage and the Enterprise gap

All 13 resources and 8 data sources from the upstream provider are bridged and present in the generated schema.

Automated end-to-end tests cover only what an open-source Unleash server can actually do. Unleash OSS ships a fixed default project plus development/production environments, and its community build registers no write routes for most administrative APIs — creating projects, environments, users, groups, roles or service accounts, and configuring OIDC/SAML all require an Enterprise licence. The upstream provider's own acceptance tests set UNLEASH_LICENSE for this reason.

Resource Live test coverage
ApiToken Real create/destroy against OSS Unleash in CI
Everything else Compile and schema generation only

The ApiToken test (examples/oss-ts, driven by TestOssTs in examples/examples_nodejs_test.go) starts its own Unleash + Postgres containers via testcontainers-go, so it runs identically locally and in CI with no setup step. The root docker-compose.yml is still there as a convenience for running the example by hand (docker compose up + pulumi up) — it is optional and the test does not depend on it.

Contributions widening this are welcome, but note that a licence secret is not available to pull requests from forks, so fork CI cannot exercise Enterprise resources either.

Versioning

The major version tracks the upstream Terraform provider's major version, matching the convention other bridged community providers use. This provider's 3.x line bridges terraform-provider-unleash 3.x.

License

Apache-2.0 — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulumiverse_unleash-3.0.1.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pulumiverse_unleash-3.0.1-py3-none-any.whl (59.1 kB view details)

Uploaded Python 3

File details

Details for the file pulumiverse_unleash-3.0.1.tar.gz.

File metadata

  • Download URL: pulumiverse_unleash-3.0.1.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.8

File hashes

Hashes for pulumiverse_unleash-3.0.1.tar.gz
Algorithm Hash digest
SHA256 c08ab41f0931486c38f8bcc729bedb1fdb296a2f743aa435f632134ea6c68854
MD5 984cc5802f112ecf4ab6236f490dccda
BLAKE2b-256 b647f9479f7af53bcf40dd606ac6e7da643fa0eefcc90ddd07329184d947ea17

See more details on using hashes here.

File details

Details for the file pulumiverse_unleash-3.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pulumiverse_unleash-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 359dc94cd005961d899cc29d9ca1c646913468cc899897a85b4b36d748b64ed4
MD5 e64acebf7d560305a3c7abc2624d9785
BLAKE2b-256 9c69f67e4800739c3e6b544e3b68d27aad569bc6500a62c4d37511bdf3fda1e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page