diff --git a/Makefile b/Makefile index 36489cb73..6453f1916 100644 --- a/Makefile +++ b/Makefile @@ -62,4 +62,14 @@ publishdevimage: @test -n "${REPO}" || (echo "REPO=... required; e.g. REPO=ghcr.io/${USER}/tailscale" && exit 1) @test "${REPO}" != "tailscale/tailscale" || (echo "REPO=... must not be tailscale/tailscale" && exit 1) @test "${REPO}" != "ghcr.io/tailscale/tailscale" || (echo "REPO=... must not be ghcr.io/tailscale/tailscale" && exit 1) - TAGS=latest REPOS=${REPO} PUSH=true ./build_docker.sh + @test "${REPO}" != "tailscale/k8s-operator" || (echo "REPO=... must not be tailscale/k8s-operator" && exit 1) + @test "${REPO}" != "ghcr.io/tailscale/k8s-operator" || (echo "REPO=... must not be ghcr.io/tailscale/k8s-operator" && exit 1) + TAGS=latest REPOS=${REPO} PUSH=true TARGET=client ./build_docker.sh + +publishdevoperator: + @test -n "${REPO}" || (echo "REPO=... required; e.g. REPO=ghcr.io/${USER}/tailscale" && exit 1) + @test "${REPO}" != "tailscale/tailscale" || (echo "REPO=... must not be tailscale/tailscale" && exit 1) + @test "${REPO}" != "ghcr.io/tailscale/tailscale" || (echo "REPO=... must not be ghcr.io/tailscale/tailscale" && exit 1) + @test "${REPO}" != "tailscale/k8s-operator" || (echo "REPO=... must not be tailscale/k8s-operator" && exit 1) + @test "${REPO}" != "ghcr.io/tailscale/k8s-operator" || (echo "REPO=... must not be ghcr.io/tailscale/k8s-operator" && exit 1) + TAGS=latest REPOS=${REPO} PUSH=true TARGET=operator ./build_docker.sh diff --git a/build_docker.sh b/build_docker.sh index 734f618f5..cd3254265 100755 --- a/build_docker.sh +++ b/build_docker.sh @@ -26,23 +26,46 @@ eval $(./build_dist.sh shellvars) DEFAULT_TAGS="v${VERSION_SHORT},v${VERSION_MINOR}" DEFAULT_REPOS="tailscale/tailscale,ghcr.io/tailscale/tailscale" DEFAULT_BASE="ghcr.io/tailscale/alpine-base:3.16" +DEFAULT_TARGET="client" PUSH="${PUSH:-false}" REPOS="${REPOS:-${DEFAULT_REPOS}}" TAGS="${TAGS:-${DEFAULT_TAGS}}" BASE="${BASE:-${DEFAULT_BASE}}" +TARGET="${TARGET:-${DEFAULT_TARGET}}" -go run github.com/tailscale/mkctr \ - --gopaths="\ - tailscale.com/cmd/tailscale:/usr/local/bin/tailscale, \ - tailscale.com/cmd/tailscaled:/usr/local/bin/tailscaled, \ - tailscale.com/cmd/containerboot:/usr/local/bin/containerboot" \ - --ldflags="\ - -X tailscale.com/version.Long=${VERSION_LONG} \ - -X tailscale.com/version.Short=${VERSION_SHORT} \ - -X tailscale.com/version.GitCommit=${VERSION_GIT_HASH}" \ - --base="${BASE}" \ - --tags="${TAGS}" \ - --repos="${REPOS}" \ - --push="${PUSH}" \ - /usr/local/bin/containerboot +case "$TARGET" in + client) + go run github.com/tailscale/mkctr \ + --gopaths="\ + tailscale.com/cmd/tailscale:/usr/local/bin/tailscale, \ + tailscale.com/cmd/tailscaled:/usr/local/bin/tailscaled, \ + tailscale.com/cmd/containerboot:/usr/local/bin/containerboot" \ + --ldflags="\ + -X tailscale.com/version.Long=${VERSION_LONG} \ + -X tailscale.com/version.Short=${VERSION_SHORT} \ + -X tailscale.com/version.GitCommit=${VERSION_GIT_HASH}" \ + --base="${BASE}" \ + --tags="${TAGS}" \ + --repos="${REPOS}" \ + --push="${PUSH}" \ + /usr/local/bin/containerboot + ;; + operator) + go run github.com/tailscale/mkctr \ + --gopaths="tailscale.com/cmd/k8s-operator:/usr/local/bin/operator" \ + --ldflags="\ + -X tailscale.com/version.Long=${VERSION_LONG} \ + -X tailscale.com/version.Short=${VERSION_SHORT} \ + -X tailscale.com/version.GitCommit=${VERSION_GIT_HASH}" \ + --base="${BASE}" \ + --tags="${TAGS}" \ + --repos="${REPOS}" \ + --push="${PUSH}" \ + /usr/local/bin/operator + ;; + *) + echo "unknown target: $TARGET" + exit 1 + ;; +esac \ No newline at end of file