Documentation
¶
Overview ¶
Package servicecatalog normalizes StackKit service identity across CUE, the Admin registry snapshot, generated URLs, and kombify.me registration.
Index ¶
Constants ¶
const ( IdentityPolicyNone = "none" IdentityPolicyForwardAuth = "forwardauth" IdentityPolicyOIDC = "oidc" IdentityPolicyProvider = "provider" IdentityPolicySelfAuth = "self-auth" OwnerProvisioningNone = "none" OwnerProvisioningRequired = "required" SetupPolicyManual = "manual" SetupPolicyOnDemand = "on_demand" SetupPolicyAutomatic = "automatic" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Service ¶
type Service struct {
Key string `json:"key"`
Name string `json:"name"`
DisplayName string `json:"display_name"`
Description string `json:"description,omitempty"`
ToolName string `json:"tool_name"`
ModuleSlug string `json:"module_slug"`
Role string `json:"role,omitempty"`
DefaultTool string `json:"default_tool,omitempty"`
Alternatives []string `json:"alternatives,omitempty"`
LocalSlug string `json:"local_slug"`
PublicSlug string `json:"public_slug"`
LegacyAliases []string `json:"legacy_aliases,omitempty"`
IdentityPolicy string `json:"identity_policy"`
OwnerProvisioningPolicy string `json:"owner_provisioning_policy"`
Icon string `json:"icon,omitempty"`
LogoURL string `json:"logo_url,omitempty"`
Badge string `json:"badge,omitempty"`
Layer string `json:"layer,omitempty"`
Section string `json:"section,omitempty"`
Order int `json:"order,omitempty"`
EnableVar string `json:"enable_var,omitempty"`
GuideURL string `json:"guide_url,omitempty"`
SetupPolicy string `json:"setup_policy,omitempty"`
SetupActionLabel string `json:"setup_action_label,omitempty"`
Delivery Delivery `json:"delivery,omitempty"`
BootstrapProvider string `json:"bootstrap_provider,omitempty"`
Default bool `json:"default"`
// Template-compat fields used by the existing monolithic Base Kit template.
// They intentionally mirror LocalSlug/PublicSlug until the template is fully
// generated from the registry service shape.
Nested string `json:"-"`
Flat string `json:"-"`
}
Service is the canonical service-facing identity for one exposed StackKit endpoint. Tool and module names describe implementation; Key and slugs describe the product URL contract.
func Default ¶
func Default() []Service
Default returns the OSS-safe canonical service catalog used when the Admin registry is unavailable or its snapshot predates the services projection.
func FromCUE ¶
func FromCUE(entries []cueval.CatalogEntry) []Service
FromCUE overlays CUE module dashboard metadata onto the canonical service identity. CUE remains authoritative for behavior; this package normalizes product-facing names and route slugs.
func FromRegistry ¶
FromRegistry converts the Admin registry service projection into the generator/catalog shape. Empty registry data returns nil so callers can cleanly fall back to CUE/defaults.
func WithDefaultFallbacks ¶
WithDefaultFallbacks merges default catalog metadata into a partial catalog and appends default services that are missing entirely.