|
|
8 months ago | |
|---|---|---|
| .. | ||
| .gitignore | 898695e312 cmd/gitops-pusher: add etag cache file for the three version problem (#5124) | 3 years ago |
| README.md | 3280c81c95 .github,cmd/gitops-pusher: update to checkout@v4 | 2 years ago |
| cache.go | 71029cea2d all: update copyright and license headers | 3 years ago |
| gitops-pusher.go | 9c731b848b cmd/gitops-pusher: log error details when unable to fetch ACL ETag | 1 year ago |
| gitops-pusher_test.go | 259bab9bff scripts/check_license_headers.sh: delete, rewrite as a Go test | 8 months ago |
This is a small tool to help people achieve a GitOps workflow with Tailscale ACL changes. This tool is intended to be used in a CI flow that looks like this:
name: Tailscale ACL syncing
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
acls:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go environment
uses: actions/[email protected]
- name: Install gitops-pusher
run: go install tailscale.com/cmd/gitops-pusher@latest
- name: Deploy ACL
if: github.event_name == 'push'
env:
TS_API_KEY: ${{ secrets.TS_API_KEY }}
TS_TAILNET: ${{ secrets.TS_TAILNET }}
run: |
~/go/bin/gitops-pusher --policy-file ./policy.hujson apply
- name: ACL tests
if: github.event_name == 'pull_request'
env:
TS_API_KEY: ${{ secrets.TS_API_KEY }}
TS_TAILNET: ${{ secrets.TS_TAILNET }}
run: |
~/go/bin/gitops-pusher --policy-file ./policy.hujson test
Change the value of the --policy-file flag to point to the policy file on
disk. Policy files should be in HuJSON
format.