A native Pulumi package for creating and managing Tailscale resources.
Project description
Pulumi Native Provider for Tailscale (Preview)
Tailscale connects your team's devices and development environments for easy access to remote resources.
:information_source: This provider uses Tailscale's API directly.
This provider was generated using
pulschema
andpulumi-provider-framework
.
Why Is This Called Tailscale Native?
Despite the fact that all Pulumi providers created by Cloudy Sky Software being "native" Pulumi providers, by default, there is a prior Pulumi provider for Tailscale, albeit a TF-bridged one. So this provider had to be renamed to avoid naming conflicts, specifically in language package registries such as PyPi and Nuget where the packages are not namespaced under an organization or user unlike npm.
Package SDKs
- Node.js: https://www.npmjs.com/package/@cloudyskysoftware/pulumi-tailscale-native
- Python: https://pypi.org/project/pulumi_tailscale_native/
- .NET: https://www.nuget.org/packages/Pulumi.TailscaleNative
- Go:
import github.com/cloudy-sky-software/pulumi-tailscale-native/sdk/go/tailscale
Using The Provider
OAuth2 Client
A quote from Tailscale's own docs:
OAuth clients provide a framework for delegated and scoped access to the Tailscale API. An OAuth client creates access tokens for scoped API access, instead of using a fully-permitted access token which expires after 90 days (or less if the fully-permitted access token has a shorter expiry). OAuth clients support the principle of least privilege by allowing fine-grained control on the access granted to the client using scopes, unlike a fully-permitted access token which grants full access to the Tailscale API.
- Create an OAuth client on https://login.tailscale.com/admin/settings/oauth.
- Grant the appropriate scopes (permissions) to the client.
- Copy the client ID and secret.
- Set the client ID with
pulumi config set tailscale-native:clientId <clientID>
. - Set the client secret with
pulumi config set --secret tailscale-native:clientSecret <clientSecret>
. - Optional: Remove the API key config
tailscale-native:apiKey
from your stack config if you previously used that method of auth.
Read the full official docs at https://tailscale.com/kb/1215/oauth-clients/.
API Key
You'll need an API access token (aka API key). Follow Tailscale's docs for creating one or head straight to your tailnet admin console to create one.
Then set the API key as a secret with pulumi config set --secret tailscale-native:apiKey
.
Releasing A New Version
:info: Switch to the main
branch first and get the latest git pull origin main && git fetch
. Check what the last release tag was.
-
Regular releases should just increment the patch version unless a minor or a major (breaking changes) version bump is warranted.
-
Update the
CHANGELOG.md
with notes about what will be included in this release. -
Commit the changelog with
git commit -am "vX.Y.Z"
or something similar and pushgit push origin main
. -
Tag the commit with the release version by running
git tag vX.Y.Z git tag sdk/vX.Y.Z
-
Push the tags.
git push --tags
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
Built Distribution
File details
Details for the file pulumi_tailscale_native-0.1.6.tar.gz
.
File metadata
- Download URL: pulumi_tailscale_native-0.1.6.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a86b0f6e7a33c00ef11ec9fe92b52b86b9ecf8f3aa70e4acd6eec9c3d87397f |
|
MD5 | 2b4d02cf416172ec2389e56ae2148e8b |
|
BLAKE2b-256 | deda635df3c9b415e396646df5a538240fe1598554359111256b9726dc68bf4f |
File details
Details for the file pulumi_tailscale_native-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: pulumi_tailscale_native-0.1.6-py3-none-any.whl
- Upload date:
- Size: 43.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e216d45e0a1017cc28733b44d70fec9a3af7be3a3ddf0cdbe0eb96585861eb38 |
|
MD5 | 33c3eec7ffb1bbc1af198bb83a3808ba |
|
BLAKE2b-256 | 96b64784b9c13575a138193b351d72ea884d45cb926d1e742f97e35a6ce2ac0b |