connect

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package connect reaches the in-cluster Burrow control plane from a developer's machine using their ambient kubeconfig and the Kubernetes API server's service proxy — no port-forward, no ingress (ADR-0014). It reads the API token from the install Secret, so a developer with kubectl access configures nothing else.

It is Apache-2.0 (the client surface): it imports client-go to talk to the API server but not the FSL controlplane packages — it reaches Burrow over HTTP, like any client.

Index

Constants

View Source
const (
	DefaultNamespace   = "burrow"
	DefaultService     = "burrowd"
	DefaultPort        = 8080
	DefaultTokenSecret = "burrowd-api-token"
	DefaultTokenKey    = "token"
	// DefaultAddonNamespace is where `install` provisions Burrow's curated backing services
	// (logs, metrics) and their collectors — separate from both the control-plane namespace
	// (which holds credentials) and the app namespace (user workloads), so add-ons don't
	// clutter apps and stay out of the credential blast radius (ADR-0025).
	DefaultAddonNamespace = "burrow-addons"
	// DefaultAppNamespace is where `install` deploys apps by default: a dedicated namespace
	// rather than the cluster's shared `default`, so burrowd's namespace-scoped Secrets grant
	// (ADR-0029) stays isolated to Burrow's own app workloads. An operator may still choose
	// `--app-namespace default` explicitly.
	DefaultAppNamespace = "burrow-apps"
)

Defaults for a standard `burrow install`.

Variables

This section is empty.

Functions

func Client

func Client(ctx context.Context, o Options) (*client.Client, error)

Client returns a control-plane API client that reaches burrowd through the API-server service proxy, authenticated by the kubeconfig, with the API token read from the install Secret.

func RESTConfig

func RESTConfig(path string) (*rest.Config, error)

RESTConfig prefers in-cluster config (when burrow runs inside Kubernetes) and otherwise loads the kubeconfig at path, or the ambient KUBECONFIG / ~/.kube/config when path is empty. It is exported so the CLI can build a clientset from the same config logic.

Types

type Options

type Options struct {
	Kubeconfig  string // explicit kubeconfig path; empty = in-cluster, else ambient
	Namespace   string
	Service     string
	Port        int
	TokenSecret string
	TokenKey    string
}

Options configures how to find the control plane. The zero value uses the defaults and the ambient kubeconfig.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL