plan

package
v0.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package plan contains pure setup planning types and default resolution.

Index

Constants

View Source
const (
	StorageModeDynamic  = "dynamic"
	StorageModeHostpath = "hostpath"
)
View Source
const (
	PlatformModeTenant = "tenant"
	PlatformModeOrg    = "org"
	PlatformModePublic = "public"
)
View Source
const (
	RegistryModeAuto         = "auto"
	RegistryModeBundledHTTP  = "bundled-http"
	RegistryModeBundledHTTPS = "bundled-https"
	RegistryModeExternal     = "external"
)
View Source
const (
	DefaultOrgCatalogNamespace    = "mcp-servers-org"
	DefaultPublicCatalogNamespace = "mcp-servers-public"
	DefaultTestMTLSClusterIssuer  = "mcp-runtime-ca"
	DefaultMCPAuthTLSSecret       = "mcp-auth-server-tls" // #nosec G101 -- Kubernetes Secret name, not a credential.
)

Variables

This section is empty.

Functions

func CatalogNamespaceForPlatformMode

func CatalogNamespaceForPlatformMode(mode string) string

func NormalizePlatformMode

func NormalizePlatformMode(mode string) (string, bool)

func NormalizeRegistryMode

func NormalizeRegistryMode(mode string) (string, bool)

Types

type Input

type Input struct {
	Kubeconfig              string
	Context                 string
	RegistryType            string
	RegistryStorageSize     string
	RegistryMode            string
	ExternalRegistryURL     string
	ExternalRegistryUser    string
	ExternalRegistryPass    string
	StorageMode             string
	PlatformMode            string
	IngressMode             string
	IngressManifest         string
	IngressManifestChanged  bool
	ForceIngressInstall     bool
	TLSEnabled              bool
	ProvidedTLSSecrets      bool
	TestMode                bool
	ParallelBuilds          bool
	StrictProd              bool
	DeployAnalytics         bool
	DeployMCPAuthServer     bool
	MCPAuthServerImage      string
	MCPAuthIssuerURL        string
	MCPAuthResourceURLs     []string
	MCPAuthTLSSecret        string
	MCPAuthSigningKeySecret string
	MCPAuthConnectorsFile   string
	MCPAuthConnector        string
	OperatorArgs            []string
	// Let's Encrypt (HTTP-01 via cert-manager). If empty, other TLS modes apply; mutually exclusive with TLSClusterIssuer.
	ACMEmail    string
	ACMEStaging bool
	// TLSClusterIssuer is a pre-existing cert-manager.io ClusterIssuer (e.g. org internal CA / Vault / ADCS). Mutually exclusive with ACMEmail.
	TLSClusterIssuer string
	// MTLSClusterIssuer enables optional adapter client-certificate validation
	// for gateway server and adapter client certificates. Name an enterprise
	// ClusterIssuer, or the bundled mcp-runtime-ca to have setup provision it.
	// Test mode defaults this to mcp-runtime-ca automatically.
	MTLSClusterIssuer  string
	InstallCertManager bool
}

Input captures the raw CLI inputs for setup.

type Plan

type Plan struct {
	Kubeconfig              string
	Context                 string
	RegistryType            string
	RegistryStorageSize     string
	RegistryMode            string
	ExternalRegistryURL     string
	ExternalRegistryUser    string
	ExternalRegistryPass    string
	StorageMode             string
	PlatformMode            string
	Ingress                 cluster.IngressOptions
	RegistryManifest        string
	TLSEnabled              bool
	ProvidedTLSSecrets      bool
	TestMode                bool
	ParallelBuilds          bool
	StrictProd              bool
	DeployAnalytics         bool
	DeployMCPAuthServer     bool
	MCPAuthServerImage      string
	MCPAuthIssuerURL        string
	MCPAuthResourceURLs     []string
	MCPAuthTLSSecret        string
	MCPAuthSigningKeySecret string
	MCPAuthConnectorsFile   string
	MCPAuthConnector        string
	OperatorArgs            []string
	ACMEmail                string
	ACMEStaging             bool
	TLSClusterIssuer        string
	MTLSClusterIssuer       string
	InstallCertManager      bool
}

Plan captures the resolved setup decisions.

func Build

func Build(input Input) Plan

Build resolves CLI inputs into a concrete setup plan.

Jump to

Keyboard shortcuts

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