workspaces

package
v0.12.1 Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2026 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const LabelWorkspace = routing.LabelWorkspace

LabelWorkspace marks a namespace as a workspace namespace and identifies the workspace it belongs to. Istio mesh discovery (discoverySelectors) keys off this label so that ONLY workspace namespaces participate in cross-cluster endpoint discovery — prerequisites and system services stay cluster-local (ADR-0001). Shared with routing providers.

Variables

This section is empty.

Functions

This section is empty.

Types

type PrerequisitesVerdict

type PrerequisitesVerdict int

PrerequisitesVerdict is the overall conclusion of evaluatePrerequisites.

const (
	// All prerequisites satisfied — proceed to Deploying.
	PrerequisitesVerdictSatisfied PrerequisitesVerdict = iota
	// At least one prereq is in flight (installing); wait.
	PrerequisitesVerdictInstalling
	// At least one prereq has no provider yet — we need to ensure SSes.
	PrerequisitesVerdictMissing
	// At least one prereq failed; fail-fast the WSD.
	PrerequisitesVerdictFailed
	// At least one prereq is configured invalidly (e.g. versionConstraint).
	PrerequisitesVerdictInvalid
	// At least one prereq's explicitly-requested namespace disagrees with where
	// the shared singleton already lives; fail-fast the WSD (ADR-0007).
	PrerequisitesVerdictConflict
)

type WorkspaceClassReconciler

type WorkspaceClassReconciler struct {
	client.Client
	Scheme *runtime.Scheme
}

WorkspaceClassReconciler reconciles a WorkspaceClass by reflecting the referenced ServiceTemplate's availability into status.valid / status.validationError.

func (*WorkspaceClassReconciler) Reconcile

func (*WorkspaceClassReconciler) SetupWithManager

func (r *WorkspaceClassReconciler) SetupWithManager(mgr ctrl.Manager) error

type WorkspaceDeploymentReconciler

type WorkspaceDeploymentReconciler struct {
	client.Client
	Scheme *runtime.Scheme
	// RouteProvider materializes external access for workspace endpoints
	// (ADR-0001). Nil disables routing entirely — workspaces still deploy,
	// status.access[] stays empty.
	RouteProvider routing.RouteProvider
	// Recorder emits Kubernetes events on phase transitions; they feed
	// status.failureContext.recentEvents.
	Recorder events.EventRecorder
	// APIReader reads events uncached so the manager cache never has to
	// hold all cluster events. Nil disables event capture.
	APIReader client.Reader
	// Mesh resolves the Istio mesh-enrollment labels stamped on the child
	// workspace namespace (from --workspace-mesh-mode). The waypoint label is
	// per-hosting-child (ADR-0005), derived from the WSD's ClusterDeployment.
	Mesh routing.MeshConfig
}

WorkspaceDeploymentReconciler reconciles a WorkspaceDeployment object.

func (*WorkspaceDeploymentReconciler) Reconcile

func (*WorkspaceDeploymentReconciler) SetupWithManager

func (r *WorkspaceDeploymentReconciler) SetupWithManager(mgr ctrl.Manager) error

Directories

Path Synopsis
Package routing defines the seam between the workspace lifecycle and how workspace access routes are materialized (ADR-0001).
Package routing defines the seam between the workspace lifecycle and how workspace access routes are materialized (ADR-0001).
gatewayapi
Package gatewayapi implements routing.RouteProvider on top of Gateway API resources on the tenant's regional cluster (ADR-0001).
Package gatewayapi implements routing.RouteProvider on top of Gateway API resources on the tenant's regional cluster (ADR-0001).

Jump to

Keyboard shortcuts

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