health: make it omittable

Saves 86 KB.

And stop depending on expvar and usermetrics when disabled,
in prep to removing all the expvar/metrics/tsweb stuff.

Updates #12614

Change-Id: I35d2479ddd1d39b615bab32b1fa940ae8cbf9b11
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2025-10-03 11:05:37 -07:00
committed by Brad Fitzpatrick
parent 9c3aec58ba
commit 447cbdd1d0
17 changed files with 369 additions and 230 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_health
package buildfeatures
// HasHealth is whether the binary was built with support for modular feature "Health checking support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_health" build tag.
// It's a const so it can be used for dead code elimination.
const HasHealth = 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_health
package buildfeatures
// HasHealth is whether the binary was built with support for modular feature "Health checking support".
// Specifically, it's whether the binary was NOT built with the "ts_omit_health" build tag.
// It's a const so it can be used for dead code elimination.
const HasHealth = true