ipn/store/kubestore, cmd/containerboot: allow overriding client api server URL via ENV (#12115)

Updates tailscale/tailscale#11397

Signed-off-by: Chandon Pierre <cpierre@coreweave.com>
pull/12313/head
ChandonPierre 6 months ago committed by GitHub
parent 1ec0273473
commit 0a5bd63d32
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -138,9 +138,9 @@ func initKubeClient(root string) {
if err != nil { if err != nil {
log.Fatalf("Error creating kube client: %v", err) log.Fatalf("Error creating kube client: %v", err)
} }
if root != "/" { if (root != "/") || os.Getenv("TS_KUBERNETES_READ_API_SERVER_ADDRESS_FROM_ENV") == "true" {
// If we are running in a test, we need to set the URL to the // Derive the API server address from the environment variables
// httptest server. // Used to set http server in tests, or optionally enabled by flag
kc.SetURL(fmt.Sprintf("https://%s:%s", os.Getenv("KUBERNETES_SERVICE_HOST"), os.Getenv("KUBERNETES_SERVICE_PORT_HTTPS"))) kc.SetURL(fmt.Sprintf("https://%s:%s", os.Getenv("KUBERNETES_SERVICE_HOST"), os.Getenv("KUBERNETES_SERVICE_PORT_HTTPS")))
} }
} }

@ -9,6 +9,7 @@ import (
"context" "context"
"fmt" "fmt"
"net" "net"
"os"
"strings" "strings"
"time" "time"
@ -30,6 +31,10 @@ func New(_ logger.Logf, secretName string) (*Store, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
if os.Getenv("TS_KUBERNETES_READ_API_SERVER_ADDRESS_FROM_ENV") == "true" {
// Derive the API server address from the environment variables
c.SetURL(fmt.Sprintf("https://%s:%s", os.Getenv("KUBERNETES_SERVICE_HOST"), os.Getenv("KUBERNETES_SERVICE_PORT_HTTPS")))
}
canPatch, _, err := c.CheckSecretPermissions(context.Background(), secretName) canPatch, _, err := c.CheckSecretPermissions(context.Background(), secretName)
if err != nil { if err != nil {
return nil, err return nil, err

Loading…
Cancel
Save