{"slug":"gitops-for-tailscale","title":"GitOps for Tailscale","tags":["tailscale"],"agent_summary":"Last validated: May 2, 2025","trigger_phrases":[],"runnable":false,"markdown":"\r\n# GitOps for Tailscale\r\n\r\nLast validated: May 2, 2025\r\n\r\nGitOps for Tailscaleis available for [all plans](https://tailscale.com/pricing).\r\n\r\n[GitOps](https://opengitops.dev/) for Tailscale is an alternative to managing [access control policies](https://tailscale.com/docs/features/access-control) and the [tailnet policy file](https://tailscale.com/docs/features/tailnet-policy-file) using the admin console. Using GitOps offers some distinct advantages. It lets you leverage all the benefits of Git version control for your tailnet policy file such as maintaining multiple versions, auditing commits, and adopting a config as code approach.\r\n\r\nYou can also require reviews before merging changes, invoke automatic tests to run upon tailnet policy file changes, and automatically apply validated changes to your policy file.\r\n\r\nWhen you use GitOps, Tailscale automatically validates changes to the tailnet policy file when you push or pull changes using Git.\r\n\r\nGitOps for Tailscale works with Bitbucket, GitHub Actions, and GitLab CI. Explore the following topics to enable, disable, and manage GitOps for Tailscale:\r\n\r\n[**GitOps for Tailscale with Bitbucket** \\\\\r\n\\\\\r\nUse a Bitbucket CI to maintain your tailnet policy file as code.](https://tailscale.com/docs/integrations/bitbucket/gitops) [**GitOps for Tailscale with GitHub Actions** \\\\\r\n\\\\\r\nUse a GitHub Action to maintain your tailnet policy file as code.](https://tailscale.com/docs/integrations/github/gitops) [**GitOps for Tailscale with GitLab CI** \\\\\r\n\\\\\r\nUse a GitLab CI to maintain your tailnet policy file as code.](https://tailscale.com/docs/integrations/gitlab/gitops)\r\n\r\n![Project Logo](https://cdn.brandfetch.io/tailscale.com/fallback/lettermark/theme/dark/h/256/w/256/icon?c=1bfwsmEH20zzEfSNTed)\r\n\r\nAsk AI\r\n\r\nreCAPTCHA\r\n\r\nRecaptcha requires verification.\r\n\r\nprotected by **reCAPTCHA**\r\n","html":"<h1>GitOps for Tailscale</h1>\n<p>Last validated: May 2, 2025</p>\n<p>GitOps for Tailscaleis available for <a href=\"https://tailscale.com/pricing\">all plans</a>.</p>\n<p><a href=\"https://opengitops.dev/\">GitOps</a> for Tailscale is an alternative to managing <a href=\"https://tailscale.com/docs/features/access-control\">access control policies</a> and the <a href=\"https://tailscale.com/docs/features/tailnet-policy-file\">tailnet policy file</a> using the admin console. Using GitOps offers some distinct advantages. It lets you leverage all the benefits of Git version control for your tailnet policy file such as maintaining multiple versions, auditing commits, and adopting a config as code approach.</p>\n<p>You can also require reviews before merging changes, invoke automatic tests to run upon tailnet policy file changes, and automatically apply validated changes to your policy file.</p>\n<p>When you use GitOps, Tailscale automatically validates changes to the tailnet policy file when you push or pull changes using Git.</p>\n<p>GitOps for Tailscale works with Bitbucket, GitHub Actions, and GitLab CI. Explore the following topics to enable, disable, and manage GitOps for Tailscale:</p>\n<p><a href=\"https://tailscale.com/docs/integrations/bitbucket/gitops\"><strong>GitOps for Tailscale with Bitbucket</strong> \\\r\n\\\r\nUse a Bitbucket CI to maintain your tailnet policy file as code.</a> <a href=\"https://tailscale.com/docs/integrations/github/gitops\"><strong>GitOps for Tailscale with GitHub Actions</strong> \\\r\n\\\r\nUse a GitHub Action to maintain your tailnet policy file as code.</a> <a href=\"https://tailscale.com/docs/integrations/gitlab/gitops\"><strong>GitOps for Tailscale with GitLab CI</strong> \\\r\n\\\r\nUse a GitLab CI to maintain your tailnet policy file as code.</a></p>\n<p><img src=\"https://cdn.brandfetch.io/tailscale.com/fallback/lettermark/theme/dark/h/256/w/256/icon?c=1bfwsmEH20zzEfSNTed\" alt=\"Project Logo\"></p>\n<p>Ask AI</p>\n<p>reCAPTCHA</p>\n<p>Recaptcha requires verification.</p>\n<p>protected by <strong>reCAPTCHA</strong></p>\n"}