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.5.tar.gz (21.5 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.5-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pulumi_tailscale_native-0.1.5.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

Hashes for pulumi_tailscale_native-0.1.5.tar.gz
Algorithm Hash digest
SHA256 234dc08aaafedd328cbd992f7b6228b1d5c5164e5a5e1438eca138be836b9d19
MD5 114e181a0a5815201dc34b1fcf8d393c
BLAKE2b-256 ebede4dcfcf346d06b65ada37a76fb2f3239e8334a78a909fc644f598eb69693

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulumi_tailscale_native-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5631dd9e8f40b0c3487c06ee92586fcc049d6fb2514a4c2b935cf212da404d93
MD5 1d1ae22672649bf964a154317a29bfaf
BLAKE2b-256 5460cc568b6affc58dd79969d553d785a41941e4f3a09cc398532ebff9e17485

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