Help us shape the future of Go! Take the 2026 Go Developer Survey

server

package
v0.4.2 Latest Latest
Warning

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

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

Documentation

Overview

SPDX-License-Identifier: Apache-2.0 Copyright 2026 The Karakoram Authors

Package server exposes the public API and private, CA-pinned agent configuration endpoint. Public traffic is served on :8080 behind Zerops HTTPS routing; private agent traffic uses :9443. The SQLite database and sealed internal PKI survive runtime deployments in KARAKORAM_DATA_DIR. Back up this directory only after a clean server shutdown, and retain KARAKORAM_MASTER_KEY separately to recover its encrypted secrets.

Code generated from the strict API request/response inventory; DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyMaintenanceOverride added in v0.4.0

func ApplyMaintenanceOverride(ctx context.Context, op *domain.Operation)

ApplyMaintenanceOverride copies the explicit request override into an operation before enqueueing it (or attaching it to a spec update with store.WithOperation). It never changes provider admission or disruption safety checks.

func Run

func Run(ctx context.Context, c Config, logger *slog.Logger) error

Run opens sealed persistence, initializes PKI/auth, then runs both listeners and controllers. Cancellation gracefully stops HTTP traffic before closing the database.

Types

type AgentDialer

type AgentDialer struct {
	// contains filtered or unexported fields
}

AgentDialer caches member clients while invalidating them on CA/token rotation.

func NewAgentDialer

func NewAgentDialer(st *store.Store, namespaces engine.Namespaces) *AgentDialer

NewAgentDialer constructs a cluster-scoped pinned HTTPS dialer.

func (*AgentDialer) Close

func (d *AgentDialer) Close()

Close releases all cached idle transports.

func (*AgentDialer) Dial

func (d *AgentDialer) Dial(ctx context.Context, ref domain.ClusterRef, member string) (*agentapi.Client, error)

Dial returns a member client whose trust roots and token come from sealed persistence.

type Config

type Config struct {
	Backend                                                                                                                             string
	DataDir, PublicListen, InternalListen, PublicURL, AdvertiseURL, Hostname, AdminPassword, ZeropsToken, ZeropsProjectID, ZeropsAPIURL string
	RecoveryAccount, RecoveryPassword                                                                                                   string
	OAuth, OAuthDCR                                                                                                                     string
	OAuthClientHosts                                                                                                                    []string
	MCP                                                                                                                                 string
}

Config contains endpoint configuration plus bootstrap/recovery/backend credentials. On Zerops, custom ZEROPS_* variables are reserved; use KARAKORAM_ZEROPS_*.

func ConfigFromEnv

func ConfigFromEnv() (Config, error)

ConfigFromEnv loads deployment settings and validates every endpoint before opening the DB.

func (Config) DatabasePath

func (c Config) DatabasePath() string

DatabasePath returns the stable database location used by server and offline administration.

func (Config) Validate

func (c Config) Validate() error

Validate rejects missing credentials and endpoints with userinfo/query/fragment components.

type Options

type Options struct {
	Store               *store.Store
	Auth                *auth.Service
	RBAC                *rbac.Enforcer
	Registry            *engine.Registry
	Backends            *infra.Registry
	Context             engine.Context
	Trigger             interface{ Trigger(domain.ClusterRef) }
	Hub                 *events.Hub
	Monitoring          *monitoring.Collector
	PublicURL           string
	Logger              *slog.Logger
	Namespaces          engine.Namespaces
	RelayHandler        http.Handler
	OAuth               *oauth.Service
	MCPMode             string
	MCPSealer           *secrets.Sealer
	MCPResourceMetadata string
	// DataMcpUpstreams overrides provider-backed upstreams, primarily for embedding.
	DataMcpUpstreams datamcp.UpstreamFactory
	Bindings         *pgbinding.Manager
}

Options supplies the real control-plane dependencies; providers remain independently testable.

type Server

type Server struct {
	Options
	// contains filtered or unexported fields
}

Server implements all generated strict operations.

func New

func New(o Options) (*Server, error)

New assembles HTTP handlers over initialized dependencies. Context.ObservationEpoch must be shared with the observer for availability projections. It is not generated here: an independent value could never match.

func (*Server) CancelOperation

CancelOperation implements the operation-specific authorization and cancellation handler.

func (*Server) ChangePassword

ChangePassword implements the generated strict API operation.

func (*Server) CheckPermission

CheckPermission implements the generated strict API operation.

func (*Server) Close added in v0.3.0

func (s *Server) Close() error

Close releases cached data MCP sessions and transports after HTTP shutdown.

func (*Server) CreateAPIToken

CreateAPIToken implements the generated strict API operation.

func (*Server) CreateAccount

CreateAccount implements the generated strict API operation.

func (*Server) CreateBackup

CreateBackup implements the generated strict API operation.

func (*Server) CreateBackupDrill added in v0.4.0

func (*Server) CreateBackupStorage

CreateBackupStorage implements the generated strict API operation.

func (*Server) CreateCluster

CreateCluster implements the generated strict API operation.

func (*Server) CreateControlPlaneBackup added in v0.4.0

func (*Server) CreateDatabaseRole

CreateDatabaseRole implements the generated strict API operation.

func (*Server) CreateDatabaseUser

CreateDatabaseUser implements the generated strict API operation.

func (*Server) CreateElasticAPIKey

CreateElasticAPIKey implements the generated strict API operation.

func (*Server) CreateElasticRole

CreateElasticRole implements the generated strict API operation.

func (*Server) CreateElasticUser

CreateElasticUser implements the generated strict API operation.

func (*Server) CreateMySQLDatabase added in v0.4.0

func (*Server) CreateMySQLUser added in v0.4.0

func (*Server) CreateNeo4jUser added in v0.4.0

func (*Server) CreateNotificationChannel added in v0.4.0

func (*Server) CreatePostgresDatabase added in v0.2.0

func (*Server) CreatePostgresRole added in v0.2.0

func (*Server) CreateRestore

CreateRestore implements the generated strict API operation.

func (*Server) CreateWeaviateRole added in v0.4.0

func (*Server) CreateWeaviateUser added in v0.4.0

func (*Server) DeleteAPIToken

DeleteAPIToken implements the generated strict API operation.

func (*Server) DeleteAccount

DeleteAccount implements the generated strict API operation.

func (*Server) DeleteBackup

DeleteBackup implements the generated strict API operation.

func (*Server) DeleteBackupStorage

DeleteBackupStorage implements the generated strict API operation.

func (*Server) DeleteCluster

DeleteCluster implements the generated strict API operation.

func (*Server) DeleteDatabaseRole

DeleteDatabaseRole implements the generated strict API operation.

func (*Server) DeleteDatabaseUser

DeleteDatabaseUser implements the generated strict API operation.

func (*Server) DeleteElasticRole

DeleteElasticRole implements the generated strict API operation.

func (*Server) DeleteElasticUser

DeleteElasticUser implements the generated strict API operation.

func (*Server) DeleteMySQLDatabase added in v0.4.0

func (*Server) DeleteMySQLUser added in v0.4.0

func (*Server) DeleteNeo4jUser added in v0.4.0

func (*Server) DeleteNotificationChannel added in v0.4.0

func (*Server) DeleteOAuthGrant added in v0.3.0

func (*Server) DeletePostgresDatabase added in v0.2.0

func (*Server) DeletePostgresRole added in v0.2.0

func (*Server) DeleteSupabaseFunction added in v0.2.0

func (*Server) DeleteTemporalNamespace added in v0.4.0

func (*Server) DeleteWeaviateRole added in v0.4.0

func (*Server) DeleteWeaviateUser added in v0.4.0

func (*Server) DryRunCreateCluster added in v0.3.0

func (*Server) DryRunCreateRestore added in v0.3.0

func (*Server) DryRunPatchCluster added in v0.3.0

func (*Server) DryRunReplaceCluster added in v0.3.0

func (*Server) GetAPIToken

GetAPIToken implements the generated strict API operation.

func (*Server) GetAccount

GetAccount implements the generated strict API operation.

func (*Server) GetAgentRolloutSettings added in v0.4.0

func (*Server) GetBackup

GetBackup implements the generated strict API operation.

func (*Server) GetBackupDrill added in v0.4.0

func (*Server) GetBackupStorage

GetBackupStorage implements the generated strict API operation.

func (*Server) GetCluster

GetCluster implements the generated strict API operation.

func (*Server) GetClusterBalancer

GetClusterBalancer implements the generated strict API operation.

func (*Server) GetClusterConnection

GetClusterConnection implements the generated strict API operation.

func (*Server) GetClusterMember

GetClusterMember implements the generated strict API operation.

func (*Server) GetClusterMetrics

GetClusterMetrics implements the generated strict API operation.

func (*Server) GetClusterPlacement

GetClusterPlacement implements the generated strict API operation.

func (*Server) GetClusterStatus

GetClusterStatus implements the generated strict API operation.

func (*Server) GetControlPlaneBackupPolicy added in v0.4.0

func (*Server) GetCurrentUser

GetCurrentUser implements the generated strict API operation.

func (*Server) GetDatabaseRole

GetDatabaseRole implements the generated strict API operation.

func (*Server) GetDatabaseUser

GetDatabaseUser implements the generated strict API operation.

func (*Server) GetElasticRole

GetElasticRole implements the generated strict API operation.

func (*Server) GetElasticUser

GetElasticUser implements the generated strict API operation.

func (*Server) GetHealth

GetHealth implements the generated strict API operation.

func (*Server) GetMemberLogs

GetMemberLogs implements the generated strict API operation.

func (*Server) GetMySQLDatabase added in v0.4.0

func (*Server) GetMySQLUser added in v0.4.0

func (*Server) GetNamespace

func (*Server) GetNeo4jUser added in v0.4.0

func (*Server) GetNotificationChannel added in v0.4.0

func (*Server) GetOpenAPISpec

GetOpenAPISpec serves exactly the document embedded in this executable.

func (*Server) GetOpenBaoDatabaseConnection added in v0.4.0

func (*Server) GetOperation

GetOperation implements the generated strict API operation.

func (*Server) GetPITRWindow

GetPITRWindow implements the generated strict API operation.

func (*Server) GetPermissions

GetPermissions implements the generated strict API operation.

func (*Server) GetPostgresDatabase added in v0.2.0

func (*Server) GetPostgresRole added in v0.2.0

func (*Server) GetPrometheusMetrics

GetPrometheusMetrics implements the generated strict API operation.

func (*Server) GetProvider

GetProvider implements the generated strict API operation.

func (*Server) GetRBACPolicy

GetRBACPolicy implements the generated strict API operation.

func (*Server) GetRestore

GetRestore implements the generated strict API operation.

func (*Server) GetSettings

GetSettings implements the generated strict API operation.

func (*Server) GetSupabaseCredentials added in v0.2.0

func (*Server) GetSupabaseFunction added in v0.2.0

func (*Server) GetVersion

GetVersion implements the generated strict API operation.

func (*Server) GetWeaviateRole added in v0.4.0

func (*Server) GetWeaviateUser added in v0.4.0

func (*Server) GrantMySQLPrivileges added in v0.4.0

func (*Server) GrantPostgresPrivileges added in v0.2.0

func (*Server) Handler

func (s *Server) Handler() http.Handler

Handler returns the public router, including root health/metrics and SPA history fallback.

func (*Server) InternalHandler

func (s *Server) InternalHandler() http.Handler

InternalHandler only exposes member configuration to the persisted member identity.

func (*Server) InvalidateElasticAPIKey

InvalidateElasticAPIKey implements the generated strict API operation.

func (*Server) ListAPITokens

ListAPITokens implements the generated strict API operation.

func (*Server) ListAccounts

ListAccounts implements the generated strict API operation.

func (*Server) ListBackends added in v0.2.0

func (*Server) ListBackupDrills added in v0.4.0

func (*Server) ListBackupStorages

ListBackupStorages implements the generated strict API operation.

func (*Server) ListBackups

ListBackups implements the generated strict API operation.

func (*Server) ListClusterMembers

ListClusterMembers implements the generated strict API operation.

func (*Server) ListClusterOperations

ListClusterOperations implements the generated strict API operation.

func (*Server) ListClusters

ListClusters implements the generated strict API operation.

func (*Server) ListControlPlaneBackups added in v0.4.0

func (*Server) ListDatabaseRoles

ListDatabaseRoles implements the generated strict API operation.

func (*Server) ListDatabaseUsers

ListDatabaseUsers implements the generated strict API operation.

func (*Server) ListElasticAPIKeys

ListElasticAPIKeys implements the generated strict API operation.

func (*Server) ListElasticRoles

ListElasticRoles implements the generated strict API operation.

func (*Server) ListElasticUsers

ListElasticUsers implements the generated strict API operation.

func (*Server) ListEvents

ListEvents implements the generated strict API operation.

func (*Server) ListMySQLDatabases added in v0.4.0

func (*Server) ListMySQLGrants added in v0.4.0

func (*Server) ListMySQLUsers added in v0.4.0

func (*Server) ListNamespaces

func (*Server) ListNeo4jUsers added in v0.4.0

func (*Server) ListNotificationChannels added in v0.4.0

func (*Server) ListOAuthGrants added in v0.3.0

func (*Server) ListOpenBaoDatabaseConnections added in v0.4.0

func (*Server) ListOperations

ListOperations implements the generated strict API operation.

func (*Server) ListOrphanedVolumes

ListOrphanedVolumes implements the generated strict API operation.

func (*Server) ListPostgresBindings added in v0.4.0

func (*Server) ListPostgresDatabases added in v0.2.0

func (*Server) ListPostgresGrants added in v0.2.0

func (*Server) ListPostgresRoles added in v0.2.0

func (*Server) ListProviders

ListProviders implements the generated strict API operation.

func (*Server) ListRestores

ListRestores implements the generated strict API operation.

func (*Server) ListSupabaseFunctions added in v0.2.0

func (*Server) ListSystemUsers

ListSystemUsers implements the generated strict API operation.

func (*Server) ListTemporalNamespaces added in v0.4.0

func (*Server) ListWeaviateRoles added in v0.4.0

func (*Server) ListWeaviateUsers added in v0.4.0

func (*Server) Login

Login implements the generated strict API operation.

func (*Server) Logout

Logout implements the generated strict API operation.

func (*Server) MoveClusterMember added in v0.4.0

func (*Server) OidcCallback

OidcCallback implements the generated strict API operation.

func (*Server) OidcLogin

OidcLogin implements the generated strict API operation.

func (*Server) PatchCluster

PatchCluster implements the generated strict API operation.

func (*Server) PatchMySQLUser added in v0.4.0

func (*Server) PatchPostgresRole added in v0.2.0

func (*Server) PutSupabaseFunction added in v0.2.0

func (*Server) RaiseClusterFCV

RaiseClusterFCV implements the generated strict API operation.

func (*Server) RebalancePostgres added in v0.4.0

func (*Server) RecoverMySQLQuorum added in v0.4.0

func (*Server) RefreshSession

RefreshSession implements the generated strict API operation.

func (*Server) ReplaceAPIToken

ReplaceAPIToken implements the generated strict API operation.

func (*Server) ReplaceAccount

ReplaceAccount implements the generated strict API operation.

func (*Server) ReplaceBackupStorage

ReplaceBackupStorage implements the generated strict API operation.

func (*Server) ReplaceCluster

ReplaceCluster implements the generated strict API operation.

func (*Server) ReplaceClusterBalancer

ReplaceClusterBalancer implements the generated strict API operation.

func (*Server) ReplaceClusterMember

ReplaceClusterMember implements the generated strict API operation.

func (*Server) ReplaceDatabaseRole

ReplaceDatabaseRole implements the generated strict API operation.

func (*Server) ReplaceDatabaseUser

ReplaceDatabaseUser implements the generated strict API operation.

func (*Server) ReplaceNotificationChannel added in v0.4.0

func (*Server) ReplaceRBACPolicy

ReplaceRBACPolicy implements the generated strict API operation.

func (*Server) ReplaceSettings

ReplaceSettings implements the generated strict API operation.

func (*Server) ResetAccountPassword

ResetAccountPassword implements the generated strict API operation.

func (*Server) RestartCluster

RestartCluster implements the generated strict API operation.

func (*Server) ResumeCluster

ResumeCluster implements the generated strict API operation.

func (*Server) RetryClusterDeployments added in v0.2.0

func (*Server) RevealOpenBaoUnsealKeys added in v0.4.0

func (*Server) RevokeMySQLPrivileges added in v0.4.0

func (*Server) RevokePostgresPrivileges added in v0.2.0

func (*Server) RotateClusterTLS

RotateClusterTLS implements the generated strict API operation.

func (*Server) RotateMySQLUserPassword added in v0.4.0

func (*Server) RotatePostgresBinding added in v0.4.0

func (*Server) RotateSupabaseJWTSecret added in v0.2.0

func (*Server) RotateSystemUser

RotateSystemUser implements the generated strict API operation.

func (*Server) RotateWeaviateUserKey added in v0.4.0

func (*Server) SetNeo4jUserPassword added in v0.4.0

func (*Server) SetSupabaseSMTPPassword added in v0.2.0

func (*Server) StreamEvents

StreamEvents implements the generated strict API operation.

func (*Server) TestNotificationChannel added in v0.4.0

func (*Server) UpdateAgentRolloutSettings added in v0.4.0

func (*Server) UpdateControlPlaneBackupPolicy added in v0.4.0

func (*Server) UpdateElasticRole

UpdateElasticRole implements the generated strict API operation.

func (*Server) UpdateElasticUser

UpdateElasticUser implements the generated strict API operation.

func (*Server) UpdatePostgresRole added in v0.2.0

func (*Server) UpdateWeaviateRole added in v0.4.0

func (*Server) UpdateWeaviateUser added in v0.4.0

func (*Server) UpgradeClusterAgents added in v0.4.0

func (*Server) VerifyBackupStorage

VerifyBackupStorage implements the generated strict API operation.

Jump to

Keyboard shortcuts

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