feature/featuretags: add features for c2n, peerapi, advertise/use routes/exit nodes

Saves 262 KB so far. I'm sure I missed some places, but shotizam says
these were the low hanging fruit.

Updates #12614

Change-Id: Ia31c01b454f627e6d0470229aae4e19d615e45e3
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2025-10-01 19:18:46 -07:00
committed by Brad Fitzpatrick
parent 2cd518a8b6
commit a208cb9fd5
29 changed files with 469 additions and 79 deletions
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_advertiseexitnode
package buildfeatures
// HasAdvertiseExitNode is whether the binary was built with support for modular feature "Run an exit node".
// Specifically, it's whether the binary was NOT built with the "ts_omit_advertiseexitnode" build tag.
// It's a const so it can be used for dead code elimination.
const HasAdvertiseExitNode = false
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_advertiseexitnode
package buildfeatures
// HasAdvertiseExitNode is whether the binary was built with support for modular feature "Run an exit node".
// Specifically, it's whether the binary was NOT built with the "ts_omit_advertiseexitnode" build tag.
// It's a const so it can be used for dead code elimination.
const HasAdvertiseExitNode = true
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_advertiseroutes
package buildfeatures
// HasAdvertiseRoutes is whether the binary was built with support for modular feature "Advertise routes for other nodes to use".
// Specifically, it's whether the binary was NOT built with the "ts_omit_advertiseroutes" build tag.
// It's a const so it can be used for dead code elimination.
const HasAdvertiseRoutes = false
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_advertiseroutes
package buildfeatures
// HasAdvertiseRoutes is whether the binary was built with support for modular feature "Advertise routes for other nodes to use".
// Specifically, it's whether the binary was NOT built with the "ts_omit_advertiseroutes" build tag.
// It's a const so it can be used for dead code elimination.
const HasAdvertiseRoutes = true
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_c2n
package buildfeatures
// HasC2N is whether the binary was built with support for modular feature "Control-to-node (C2N) support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_c2n" build tag.
// It's a const so it can be used for dead code elimination.
const HasC2N = false
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_c2n
package buildfeatures
// HasC2N is whether the binary was built with support for modular feature "Control-to-node (C2N) support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_c2n" build tag.
// It's a const so it can be used for dead code elimination.
const HasC2N = true
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_peerapiclient
package buildfeatures
// HasPeerAPIClient is whether the binary was built with support for modular feature "PeerAPI client support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_peerapiclient" build tag.
// It's a const so it can be used for dead code elimination.
const HasPeerAPIClient = false
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_peerapiclient
package buildfeatures
// HasPeerAPIClient is whether the binary was built with support for modular feature "PeerAPI client support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_peerapiclient" build tag.
// It's a const so it can be used for dead code elimination.
const HasPeerAPIClient = true
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_peerapiserver
package buildfeatures
// HasPeerAPIServer is whether the binary was built with support for modular feature "PeerAPI server support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_peerapiserver" build tag.
// It's a const so it can be used for dead code elimination.
const HasPeerAPIServer = false
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_peerapiserver
package buildfeatures
// HasPeerAPIServer is whether the binary was built with support for modular feature "PeerAPI server support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_peerapiserver" build tag.
// It's a const so it can be used for dead code elimination.
const HasPeerAPIServer = true
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_useexitnode
package buildfeatures
// HasUseExitNode is whether the binary was built with support for modular feature "Use exit nodes".
// Specifically, it's whether the binary was NOT built with the "ts_omit_useexitnode" build tag.
// It's a const so it can be used for dead code elimination.
const HasUseExitNode = false
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_useexitnode
package buildfeatures
// HasUseExitNode is whether the binary was built with support for modular feature "Use exit nodes".
// Specifically, it's whether the binary was NOT built with the "ts_omit_useexitnode" build tag.
// It's a const so it can be used for dead code elimination.
const HasUseExitNode = true
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build ts_omit_useroutes
package buildfeatures
// HasUseRoutes is whether the binary was built with support for modular feature "Use routes advertised by other nodes".
// Specifically, it's whether the binary was NOT built with the "ts_omit_useroutes" build tag.
// It's a const so it can be used for dead code elimination.
const HasUseRoutes = false
@@ -0,0 +1,13 @@
// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
// Code generated by gen.go; DO NOT EDIT.
//go:build !ts_omit_useroutes
package buildfeatures
// HasUseRoutes is whether the binary was built with support for modular feature "Use routes advertised by other nodes".
// Specifically, it's whether the binary was NOT built with the "ts_omit_useroutes" build tag.
// It's a const so it can be used for dead code elimination.
const HasUseRoutes = true