Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
7f9120a
make the token and control urls configurable
Oct 16, 2024
a61a92a
make the pr mergable, since the vm check only runs on the tailscale repo
Oct 18, 2024
d82e7f9
add a github action workflow to build operator
Oct 29, 2024
7f3841b
Merge pull request #1 from ninech/configure-urls
gajicdev Oct 30, 2024
b718e92
build and publish tailscale client, k8s-operator and k8s-nameserver i…
thirdeyenick Nov 27, 2024
ae9ec47
Merge pull request #2 from ninech/improve-image-releasing
thirdeyenick Nov 27, 2024
1658054
allow for custom domain in k8s-nameserver
thirdeyenick Dec 3, 2024
36903c2
Merge pull request #3 from ninech/custom-dns-domain
thirdeyenick Dec 3, 2024
e69ffc5
allow to deploy a dnsConfig resource
thirdeyenick Dec 4, 2024
3df0680
provide workflow for helm chart pushing
thirdeyenick Dec 4, 2024
92d0643
Merge pull request #4 from ninech/add-dns-config-to-helm-chart
thirdeyenick Dec 4, 2024
05bfbfc
fix chart.yaml workflow
thirdeyenick Dec 4, 2024
8ce42a2
Merge pull request #5 from ninech/fix-chart-action
thirdeyenick Dec 5, 2024
73760bb
use only the tag name instead of the full ref
thirdeyenick Dec 5, 2024
ff93bd1
Merge pull request #6 from ninech/fix-chart-workflow-2
thirdeyenick Dec 5, 2024
5b5141f
revert DNSconfig change
thirdeyenick Dec 17, 2024
38f58ea
allow to attach labels to the nameserver pod
thirdeyenick Dec 17, 2024
c6d3f62
Merge pull request #7 from ninech/add-labels-to-nameserver
thirdeyenick Dec 17, 2024
dc1b410
allow to customize nameserver deployment
thirdeyenick Dec 18, 2024
2007628
Merge pull request #8 from ninech/fix-nameserver-args-passing
thirdeyenick Dec 18, 2024
761ef2a
allow to customize domain validation
thirdeyenick Mar 20, 2025
4bd208b
update github actions
thirdeyenick Mar 20, 2025
c3a0a37
Merge pull request #9 from ninech/allow-custom-ts-domain
thirdeyenick Mar 20, 2025
17ef2f8
add flag parsing
thirdeyenick Mar 21, 2025
fb85ba4
Merge pull request #10 from ninech/improve-nameserver
thirdeyenick Mar 21, 2025
ae1a2a8
allow to not append a dot for given FQDNs
thirdeyenick Mar 24, 2025
7527c04
Merge pull request #11 from ninech/add-operator-env-fqdn-no-dot-append
thirdeyenick Mar 24, 2025
d7df2bf
allow k8s-nameserver to read dnsrecords directly
thirdeyenick May 12, 2025
0ce0a26
Merge pull request #12 from ninech/allow-direct-configmap-watch
thirdeyenick May 14, 2025
b0425bb
fix referenced role
thirdeyenick May 14, 2025
87436e5
Merge pull request #13 from ninech/fix-env-variables
thirdeyenick May 14, 2025
e3702a3
fix issue on empty configMap
thirdeyenick May 14, 2025
a444da2
Merge pull request #14 from ninech/ignore-empty-configmap
thirdeyenick May 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/build-and-publish-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Publish Dev Operator

on:
push:
tags:
- 'v*.*.*'
- 'v*.*.*-*'
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and publish k8s-operator image
env:
REPO: ghcr.io/${{ github.repository_owner }}/tailscale-k8s-operator
TAGS: ${{ github.ref_name }}
run: |
echo "Building and publishing k8s-operator to ${REPO} with tags ${TAGS}"
TAGS="${TAGS}" REPOS=${REPO} PLATFORM=${PLATFORM} PUSH=true TARGET=operator ./build_docker.sh
- name: Build and publish nameserver image
env:
REPO: ghcr.io/${{ github.repository_owner }}/tailscale-k8s-nameserver
TAGS: ${{ github.ref_name }}
run: |
echo "Building and publishing k8s-nameserver to ${REPO} with tags ${TAGS}"
TAGS="${TAGS}" REPOS=${REPO} PLATFORM=${PLATFORM} PUSH=true TARGET=k8s-nameserver ./build_docker.sh
- name: Build and publish client image
env:
REPO: ghcr.io/${{ github.repository_owner }}/tailscale
TAGS: ${{ github.ref_name }}
run: |
echo "Building and publishing tailscale client to ${REPO} with tags ${TAGS}"
TAGS="${TAGS}" REPOS=${REPO} PLATFORM=${PLATFORM} PUSH=true TARGET=client ./build_docker.sh
38 changes: 38 additions & 0 deletions .github/workflows/chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: package-helm-chart

on:
push:
tags:
- 'v*.*.*'
- 'v*.*.*-*'
workflow_dispatch:

jobs:
package-and-push-helm-chart:
permissions:
contents: read
packages: write

runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4.2.2

- name: Set environment variables
id: set-variables
run: |
echo "REPOSITORY=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"

- name: Login to GitHub Container Registry
uses: docker/login-action@v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}

- name: Build, package and push helm chart
run: |
./tool/go run cmd/k8s-operator/generate/main.go helmcrd
./tool/helm package --app-version=${{ github.ref_name }} --version=${{ github.ref_name }} './cmd/k8s-operator/deploy/chart'
./tool/helm push ./tailscale-operator-${{ github.ref_name }}.tgz oci://${{ steps.set-variables.outputs.REPOSITORY }}/charts
45 changes: 22 additions & 23 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
- shard: '4/4'
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: build test wrapper
run: ./tool/go build -o /tmp/testwrapper ./cmd/testwrapper
- name: integration tests as root
Expand Down Expand Up @@ -78,9 +78,9 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: Restore Cache
uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0
uses: actions/cache@v4.2.3
with:
# Note: unlike the other setups, this is only grabbing the mod download
# cache, rather than the whole mod directory, as the download cache
Expand Down Expand Up @@ -150,7 +150,7 @@ jobs:
runs-on: windows-2022
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2

- name: Install Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
Expand All @@ -159,7 +159,7 @@ jobs:
cache: false

- name: Restore Cache
uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0
uses: actions/cache@v4.2.3
with:
# Note: unlike the other setups, this is only grabbing the mod download
# cache, rather than the whole mod directory, as the download cache
Expand Down Expand Up @@ -190,7 +190,7 @@ jobs:
options: --privileged
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: chown
run: chown -R $(id -u):$(id -g) $PWD
- name: privileged tests
Expand All @@ -202,7 +202,7 @@ jobs:
if: github.repository == 'tailscale/tailscale'
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: Run VM tests
run: ./tool/go test ./tstest/integration/vms -v -no-s3 -run-vm-tests -run=TestRunUbuntu2004
env:
Expand All @@ -214,7 +214,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: build all
run: ./tool/go install -race ./cmd/...
- name: build tests
Expand Down Expand Up @@ -258,9 +258,9 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: Restore Cache
uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0
uses: actions/cache@v4.2.3
with:
# Note: unlike the other setups, this is only grabbing the mod download
# cache, rather than the whole mod directory, as the download cache
Expand Down Expand Up @@ -295,7 +295,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: build some
run: ./tool/go build ./ipn/... ./wgengine/ ./types/... ./control/controlclient
env:
Expand All @@ -317,9 +317,9 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: Restore Cache
uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0
uses: actions/cache@v4.2.3
with:
# Note: unlike the other setups, this is only grabbing the mod download
# cache, rather than the whole mod directory, as the download cache
Expand Down Expand Up @@ -350,7 +350,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
# Super minimal Android build that doesn't even use CGO and doesn't build everything that's needed
# and is only arm64. But it's a smoke build: it's not meant to catch everything. But it'll catch
# some Android breakages early.
Expand All @@ -365,9 +365,9 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: Restore Cache
uses: actions/cache@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0
uses: actions/cache@v4.2.3
with:
# Note: unlike the other setups, this is only grabbing the mod download
# cache, rather than the whole mod directory, as the download cache
Expand Down Expand Up @@ -399,7 +399,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: test tailscale_go
run: ./tool/go test -tags=tailscale_go,ts_enable_sockstats ./net/sockstats/...

Expand Down Expand Up @@ -471,7 +471,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: check depaware
run: |
export PATH=$(./tool/go env GOROOT)/bin:$PATH
Expand All @@ -481,7 +481,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: check that 'go generate' is clean
run: |
pkgs=$(./tool/go list ./... | grep -Ev 'dnsfallback|k8s-operator|xdp')
Expand All @@ -494,7 +494,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: check that 'go mod tidy' is clean
run: |
./tool/go mod tidy
Expand All @@ -506,7 +506,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: check licenses
run: ./scripts/check_license_headers.sh .

Expand All @@ -522,7 +522,7 @@ jobs:
goarch: "386"
steps:
- name: checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@v4.2.2
- name: install staticcheck
run: GOBIN=~/.local/bin ./tool/go install honnef.co/go/tools/cmd/staticcheck
- name: run staticcheck
Expand Down Expand Up @@ -587,7 +587,6 @@ jobs:
- android
- test
- windows
- vm
- cross
- ios
- wasm
Expand Down
Loading