ipn/store, feature/condregister: permit callers to empty import optonal ipn stores

This permits other programs (in other repos) to conditionally
import ipn/store/awsstore and/or ipn/store/kubestore and have them
register themselves, rather than feature/condregister doing it.

Updates tailscale/corp#32922

Change-Id: I2936229ce37fd2acf9be5bf5254d4a262d090ec1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2025-10-01 07:30:39 -07:00
committed by Brad Fitzpatrick
parent ebc370e517
commit 91fa51ca15
5 changed files with 23 additions and 33 deletions
+8
View File
@@ -16,6 +16,7 @@ import (
"tailscale.com/envknob"
"tailscale.com/ipn"
"tailscale.com/ipn/store"
"tailscale.com/ipn/store/mem"
"tailscale.com/kube/kubeapi"
"tailscale.com/kube/kubeclient"
@@ -25,6 +26,13 @@ import (
"tailscale.com/util/mak"
)
func init() {
store.Register("kube:", func(logf logger.Logf, path string) (ipn.StateStore, error) {
secretName := strings.TrimPrefix(path, "kube:")
return New(logf, secretName)
})
}
const (
// timeout is the timeout for a single state update that includes calls to the API server to write or read a
// state Secret and emit an Event.