Skip to main content

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 and pulumi-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

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.

  1. Regular releases should just increment the patch version unless a minor or a major (breaking changes) version bump is warranted.

  2. Update the CHANGELOG.md with notes about what will be included in this release.

  3. Commit the changelog with git commit -am "vX.Y.Z" or something similar and push git push origin main.

  4. Tag the commit with the release version by running

    git tag vX.Y.Z
    git tag sdk/vX.Y.Z
    
  5. Push the tags.

    git push --tags
    

Project details


Download files

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

Source Distribution

pulumi_tailscale_native-0.1.2.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

pulumi_tailscale_native-0.1.2-py3-none-any.whl (43.2 kB view details)

Uploaded Python 3

File details

Details for the file pulumi_tailscale_native-0.1.2.tar.gz.

File metadata

  • Download URL: pulumi_tailscale_native-0.1.2.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for pulumi_tailscale_native-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9b0ef09fcd6cc29f3e51275b7467b0cd5c388160ee97fab42466c4ee9b38aea3
MD5 024a5ce1162eedab4308d72eaa8ff4a5
BLAKE2b-256 c84c481e30ed2f1a79e4f0e45bb0055320d16c5f0ea9fe7e3045f6635e855f66

See more details on using hashes here.

File details

Details for the file pulumi_tailscale_native-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pulumi_tailscale_native-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b757e67e3dfe87e8b6fb3930fb1d986af9356d523c2a88455d754397d0058b68
MD5 2f51dc3f15f2e8e968083f4520c5b442
BLAKE2b-256 9f7aa1420d605c976e3066495e73ea02ba20143c5a4c2a83626f68e99a51f431

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 Pingdom Monitoring Sentry Error logging StatusPage Status page