feature/featuretags: make QR codes modular (#18358)

QR codes are used by `tailscale up --qr` to provide an easy way to
open a web-page without transcribing a difficult URI. However, there’s
no need for this feature if the client will never be called
interactively. So this PR adds the `ts_omit_qrcodes` build tag.

Updates #18182

Signed-off-by: Simon Law <sfllaw@tailscale.com>
This commit is contained in:
Simon Law
2026-01-08 10:28:40 -08:00
committed by GitHub
parent 6aac87a84c
commit 3e45e5b420
11 changed files with 103 additions and 37 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_qrcodes
package buildfeatures
// HasQRCodes is whether the binary was built with support for modular feature "QR codes in tailscale CLI".
// Specifically, it's whether the binary was NOT built with the "ts_omit_qrcodes" build tag.
// It's a const so it can be used for dead code elimination.
const HasQRCodes = 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_qrcodes
package buildfeatures
// HasQRCodes is whether the binary was built with support for modular feature "QR codes in tailscale CLI".
// Specifically, it's whether the binary was NOT built with the "ts_omit_qrcodes" build tag.
// It's a const so it can be used for dead code elimination.
const HasQRCodes = true
+1
View File
@@ -222,6 +222,7 @@ var Features = map[FeatureTag]FeatureMeta{
Desc: "Linux NetworkManager integration",
Deps: []FeatureTag{"dbus"},
},
"qrcodes": {Sym: "QRCodes", Desc: "QR codes in tailscale CLI"},
"relayserver": {Sym: "RelayServer", Desc: "Relay server"},
"resolved": {
Sym: "Resolved",