A Pulumi package for creating and managing Twingate cloud resources.
Project description
Twingate Resource Provider
The Twingate Resource Provider lets you manage Twingate resources.
Installing
This package is available for several languages/platforms:
Node.js (JavaScript/TypeScript)
To use from JavaScript or TypeScript in Node.js, install using either npm:
npm install @twingate/pulumi-twingate
or yarn:
yarn add @twingate/pulumi-twingate
Python
To use from Python, install using pip:
pip install pulumi-twingate
Go
To use from Go, use go get to grab the latest version of the library:
go get github.com/pulumi/pulumi-twingate/sdk/go/...
.NET
To use from .NET, install using dotnet add package:
dotnet add package Twingate.Twingate
Configuration
The following configuration points are available for the twingate provider:
twingate:apiToken- The access key for API operations. You can retrieve this from the Twingate Admin Console (documentation). Alternatively, this can be specified using the TWINGATE_API_TOKEN environment variable.twingate:network- Your Twingate network ID for API operations. You can find it in the Admin Console URL, for example:autoco.twingate.com, whereautocois your network ID. Alternatively, this can be specified using the TWINGATE_NETWORK environment variable.twingate:url- The default is 'twingate.com'. This is optional and shouldn't be changed under normal circumstances.
Reference
For detailed reference documentation, please visit the Pulumi registry.
Development
Building the Provider Locally
To build and test the provider from source:
Prerequisites
- Go 1.24+: Required to build the provider
- Node.js 22+: Required for the Node.js/TypeScript SDK
- Pulumi CLI: Install from pulumi.com
Build Steps
-
Build the provider and SDKs:
# For full development build (all SDKs) make development # For just the provider and Node.js SDK make provider build_nodejs
-
Install the local provider plugin:
After building, you must install the locally built provider as a Pulumi plugin:
pulumi plugin install resource twingate v4.1.0-alpha.1772811417+dirty \ --file bin/pulumi-resource-twingate
Note: The version string will match what's in your build (includes
+dirtyif you have uncommitted changes).
Common Errors
Error: "404 HTTP error fetching plugin"
If you see this error when running pulumi up or pulumi preview:
error: Could not automatically download and install resource plugin 'pulumi-resource-twingate'
at version v4.1.0-alpha.1772811417+dirty: 404 HTTP error fetching plugin from
https://api.github.com/repos/Twingate/pulumi-twingate/releases/tags/...
Solution: This happens because you're using a local development build. Install the plugin manually:
pulumi plugin install resource twingate v4.1.0-alpha.1772811417+dirty \
--file bin/pulumi-resource-twingate
Replace the version string with whatever version your build generated (check the error message for the exact version).
Verify installation:
pulumi plugin ls | grep twingate
You should see your local version listed.
Testing GitHub Actions Workflows Locally
You can test GitHub Actions workflows locally using act.
Install act
On macOS with Homebrew:
brew install act
On Linux:
curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
For other platforms, see the act installation guide.
Run workflows locally
To test a specific workflow job, use:
# List all available jobs
act --list
# Test the lint workflow
act pull_request -j lint
Note: The first time you run act, it will ask you to choose a Docker image size. Select "Medium" for most workflows.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pulumi_twingate-4.1.0.tar.gz.
File metadata
- Download URL: pulumi_twingate-4.1.0.tar.gz
- Upload date:
- Size: 70.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52de4efe48d7e8d069de8af095425ccee149f40cecbafca20669517c192df791
|
|
| MD5 |
9642826c013a5384e2e5d58875098aa3
|
|
| BLAKE2b-256 |
49459db2e1a120a771aa1de8af50cb2e8b4837e4328d659e21134e595f0d2344
|
Provenance
The following attestation bundles were made for pulumi_twingate-4.1.0.tar.gz:
Publisher:
release.yml on Twingate/pulumi-twingate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pulumi_twingate-4.1.0.tar.gz -
Subject digest:
52de4efe48d7e8d069de8af095425ccee149f40cecbafca20669517c192df791 - Sigstore transparency entry: 1289132797
- Sigstore integration time:
-
Permalink:
Twingate/pulumi-twingate@ed45b4118477cf2ec47e9cb417d60cb1fb0b0d7b -
Branch / Tag:
refs/tags/v4.1.0 - Owner: https://github.com/Twingate
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ed45b4118477cf2ec47e9cb417d60cb1fb0b0d7b -
Trigger Event:
push
-
Statement type: