configstore

package
v0.0.0-...-08446c1 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrWorkerOwnerEpochMismatch = errors.New("worker owner epoch mismatch")

Functions

func HashPassword

func HashPassword(password string) (string, error)

HashPassword hashes a plaintext password using bcrypt.

func SecretRefEmpty

func SecretRefEmpty(ref SecretRef) bool

SecretRefEmpty reports whether the ref is entirely unset.

func ValidateManagedWarehouseSecretRefs

func ValidateManagedWarehouseSecretRefs(orgID, defaultNamespace string, warehouse *ManagedWarehouseConfig) error

ValidateManagedWarehouseSecretRefs validates every secret reference carried by a managed-warehouse config against the tenant namespace/prefix rules.

func ValidateTenantSecretRef

func ValidateTenantSecretRef(orgID, tenantNamespace, defaultNamespace, field string, ref SecretRef) error

ValidateTenantSecretRef constrains shared-worker secret refs to tenant-owned locations so one org cannot point activation at another org's secret.

Types

type ConfigStore

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

ConfigStore manages configuration stored in a PostgreSQL database.

func NewConfigStore

func NewConfigStore(connStr string, pollInterval time.Duration) (*ConfigStore, error)

NewConfigStore connects to the PostgreSQL config store, runs migrations, ensures singleton rows exist, and loads the initial snapshot.

func (*ConfigStore) ClaimHotIdleWorker

func (cs *ConfigStore) ClaimHotIdleWorker(ownerCPInstanceID, orgID string) (*WorkerRecord, error)

ClaimHotIdleWorker atomically claims one hot-idle worker row that was previously activated for the given org. The selected row is locked with SKIP LOCKED and transitioned to reserved while incrementing owner_epoch.

func (*ConfigStore) ClaimIdleWorker

func (cs *ConfigStore) ClaimIdleWorker(ownerCPInstanceID, orgID string, maxOrgWorkers int) (*WorkerRecord, error)

ClaimIdleWorker atomically claims one idle worker row for a control-plane instance. The selected row is locked with SKIP LOCKED and transitioned to reserved while incrementing owner_epoch. When maxOrgWorkers is set, org claims are serialized under the same advisory lock used for spawn-slot allocation.

func (*ConfigStore) CloseFlightSessionRecord

func (cs *ConfigStore) CloseFlightSessionRecord(sessionToken string, closedAt time.Time) error

func (*ConfigStore) CreateNeutralWarmWorkerSlot

func (cs *ConfigStore) CreateNeutralWarmWorkerSlot(ownerCPInstanceID, podNamePrefix string, targetWarmWorkers, maxGlobalWorkers int) (*WorkerRecord, error)

CreateNeutralWarmWorkerSlot creates a durable spawning worker row for the shared neutral warm pool under advisory-lock protected cluster-wide warm-target and global capacity checks. A nil result means capacity already satisfies the target or the global worker cap blocked the spawn.

func (*ConfigStore) CreateSpawningWorkerSlot

func (cs *ConfigStore) CreateSpawningWorkerSlot(ownerCPInstanceID, orgID string, ownerEpoch int64, podNamePrefix string, maxOrgWorkers, maxGlobalWorkers int) (*WorkerRecord, error)

CreateSpawningWorkerSlot creates a durable spawning worker row under advisory-lock protected org/global capacity checks. A nil result means capacity blocked the spawn.

func (*ConfigStore) DB

func (cs *ConfigStore) DB() *gorm.DB

DB exposes the GORM database for direct CRUD operations (used by admin API).

func (*ConfigStore) ExpireControlPlaneInstances

func (cs *ConfigStore) ExpireControlPlaneInstances(cutoff time.Time) (int64, error)

ExpireControlPlaneInstances marks stale control-plane instance rows as expired.

func (*ConfigStore) ExpireDrainingControlPlaneInstances

func (cs *ConfigStore) ExpireDrainingControlPlaneInstances(before time.Time) (int64, error)

ExpireDrainingControlPlaneInstances marks draining control-plane rows expired once their draining_at timestamp exceeds the configured handover timeout.

func (*ConfigStore) ExpireFlightSessionRecords

func (cs *ConfigStore) ExpireFlightSessionRecords(before time.Time) (int64, error)

ExpireFlightSessionRecords marks reconnectable Flight sessions expired when their reconnect deadline has passed.

func (*ConfigStore) FindAndValidateUser

func (cs *ConfigStore) FindAndValidateUser(username, password string) (string, bool)

FindAndValidateUser scans all orgs to find and authenticate a user by username/password. This is used for Flight SQL which doesn't have SNI-based org routing.

func (*ConfigStore) GetControlPlaneInstance

func (cs *ConfigStore) GetControlPlaneInstance(id string) (*ControlPlaneInstance, error)

GetControlPlaneInstance returns a runtime control-plane instance row by id.

func (*ConfigStore) GetFlightSessionRecord

func (cs *ConfigStore) GetFlightSessionRecord(sessionToken string) (*FlightSessionRecord, error)

GetFlightSessionRecord returns a durable Flight reconnect row by session token.

func (*ConfigStore) GetWorkerRecord

func (cs *ConfigStore) GetWorkerRecord(workerID int) (*WorkerRecord, error)

GetWorkerRecord returns a runtime worker row by worker id.

func (*ConfigStore) ListExpiredHotIdleWorkers

func (cs *ConfigStore) ListExpiredHotIdleWorkers(before time.Time) ([]WorkerRecord, error)

ListExpiredHotIdleWorkers returns hot-idle workers whose updated_at timestamp is at or before the given cutoff time.

func (*ConfigStore) ListOrphanedWorkers

func (cs *ConfigStore) ListOrphanedWorkers(before time.Time) ([]WorkerRecord, error)

ListOrphanedWorkers returns workers whose owning control-plane instance has already been marked expired long enough ago to pass the orphan grace cutoff. Retired/lost rows are included so a replacement janitor can finish deleting worker pods when the original control plane died after persisting retirement but before the Kubernetes delete completed.

func (*ConfigStore) ListStuckWorkers

func (cs *ConfigStore) ListStuckWorkers(spawningBefore, activatingBefore time.Time) ([]WorkerRecord, error)

ListStuckWorkers returns workers stuck in spawning, reserved, or activating beyond their respective cutoffs.

func (*ConfigStore) ListWarehousesByStates

func (cs *ConfigStore) ListWarehousesByStates(states []ManagedWarehouseProvisioningState) ([]ManagedWarehouse, error)

ListWarehousesByStates returns all warehouses with a state matching one of the given values. This is a direct DB query, not snapshot-based, for use by the provisioning controller.

func (*ConfigStore) OnChange

func (cs *ConfigStore) OnChange(fn func(old, new *Snapshot))

OnChange registers a callback that fires when the config snapshot changes.

func (*ConfigStore) Reload

func (cs *ConfigStore) Reload() error

Reload forces an immediate config reload from the database.

func (*ConfigStore) ResolveDatabase

func (cs *ConfigStore) ResolveDatabase(database string) string

ResolveDatabase maps a database name to an org ID. Returns "" if not found.

func (*ConfigStore) RetireHotIdleWorker

func (cs *ConfigStore) RetireHotIdleWorker(workerID int) (bool, error)

RetireHotIdleWorker atomically transitions a worker from hot_idle to retired. Returns true if the transition happened, false if the worker was no longer hot_idle (e.g. it was reclaimed by another CP pod between the list query and this call).

func (*ConfigStore) RuntimeSchema

func (cs *ConfigStore) RuntimeSchema() string

RuntimeSchema returns the dedicated runtime coordination schema name.

func (*ConfigStore) Snapshot

func (cs *ConfigStore) Snapshot() *Snapshot

Snapshot returns the current config snapshot.

func (*ConfigStore) Start

func (cs *ConfigStore) Start(ctx context.Context)

Start begins the polling goroutine that periodically reloads config.

func (*ConfigStore) TakeOverWorker

func (cs *ConfigStore) TakeOverWorker(workerID int, ownerCPInstanceID, orgID string, expectedOwnerEpoch int64) (*WorkerRecord, error)

TakeOverWorker transfers durable worker ownership to a new control-plane instance when the caller still has the expected prior owner_epoch.

func (*ConfigStore) TouchFlightSessionRecord

func (cs *ConfigStore) TouchFlightSessionRecord(sessionToken string, lastSeenAt time.Time) error

func (*ConfigStore) UpdateWarehouseState

func (cs *ConfigStore) UpdateWarehouseState(orgID string, expectedState ManagedWarehouseProvisioningState, updates map[string]interface{}) error

UpdateWarehouseState performs a compare-and-swap update on a warehouse row. Only updates if the current state matches expectedState, preventing races.

func (*ConfigStore) UpsertControlPlaneInstance

func (cs *ConfigStore) UpsertControlPlaneInstance(instance *ControlPlaneInstance) error

UpsertControlPlaneInstance inserts or updates a runtime control-plane instance row.

func (*ConfigStore) UpsertFlightSessionRecord

func (cs *ConfigStore) UpsertFlightSessionRecord(record *FlightSessionRecord) error

UpsertFlightSessionRecord inserts or updates a durable Flight reconnect row.

func (*ConfigStore) UpsertWorkerRecord

func (cs *ConfigStore) UpsertWorkerRecord(record *WorkerRecord) error

UpsertWorkerRecord inserts or updates a runtime worker row.

func (*ConfigStore) ValidateOrgUser

func (cs *ConfigStore) ValidateOrgUser(orgID, username, password string) bool

ValidateOrgUser checks username/password scoped to a specific org.

type ControlPlaneInstance

type ControlPlaneInstance struct {
	ID              string                    `gorm:"primaryKey;size:255" json:"id"`
	PodName         string                    `gorm:"size:255;not null" json:"pod_name"`
	PodUID          string                    `gorm:"size:255;not null" json:"pod_uid"`
	BootID          string                    `gorm:"size:255;not null" json:"boot_id"`
	State           ControlPlaneInstanceState `gorm:"size:32;not null" json:"state"`
	StartedAt       time.Time                 `json:"started_at"`
	LastHeartbeatAt time.Time                 `gorm:"index" json:"last_heartbeat_at"`
	DrainingAt      *time.Time                `json:"draining_at,omitempty"`
	ExpiredAt       *time.Time                `json:"expired_at,omitempty"`
	CreatedAt       time.Time                 `json:"created_at"`
	UpdatedAt       time.Time                 `json:"updated_at"`
}

ControlPlaneInstance is a runtime coordination record for one control-plane process. These rows live in the runtime schema, not the snapshot-backed config tables.

func (ControlPlaneInstance) TableName

func (ControlPlaneInstance) TableName() string

type ControlPlaneInstanceState

type ControlPlaneInstanceState string

ControlPlaneInstanceState describes the liveness state of a control-plane instance.

const (
	ControlPlaneInstanceStateActive   ControlPlaneInstanceState = "active"
	ControlPlaneInstanceStateDraining ControlPlaneInstanceState = "draining"
	ControlPlaneInstanceStateExpired  ControlPlaneInstanceState = "expired"
)

type DuckLakeConfig

type DuckLakeConfig struct {
	ID            uint      `gorm:"primaryKey" json:"-"`
	MetadataStore string    `gorm:"size:1024" json:"metadata_store"`
	ObjectStore   string    `gorm:"size:1024" json:"object_store"`
	DataPath      string    `gorm:"size:1024" json:"data_path"`
	S3Provider    string    `gorm:"size:64" json:"s3_provider"`
	S3Endpoint    string    `gorm:"size:512" json:"s3_endpoint"`
	S3AccessKey   string    `gorm:"size:255" json:"s3_access_key"`
	S3SecretKey   string    `gorm:"size:255" json:"-"`
	S3Region      string    `gorm:"size:64" json:"s3_region"`
	S3UseSSL      bool      `json:"s3_use_ssl"`
	S3URLStyle    string    `gorm:"size:16" json:"s3_url_style"`
	S3Chain       string    `gorm:"size:255" json:"s3_chain"`
	S3Profile     string    `gorm:"size:255" json:"s3_profile"`
	UpdatedAt     time.Time `json:"updated_at"`
}

DuckLakeConfig is a singleton row (ID=1) for legacy cluster-wide DuckLake settings. In multi-tenant mode, the managed-warehouse contract is the intended per-org source of truth.

func (DuckLakeConfig) TableName

func (DuckLakeConfig) TableName() string

type FlightSessionRecord

type FlightSessionRecord struct {
	SessionToken string             `gorm:"primaryKey;size:255" json:"session_token"`
	Username     string             `gorm:"size:255;not null" json:"username"`
	OrgID        string             `gorm:"size:255;not null" json:"org_id"`
	WorkerID     int                `gorm:"not null;index" json:"worker_id"`
	OwnerEpoch   int64              `gorm:"not null" json:"owner_epoch"`
	CPInstanceID string             `gorm:"size:255" json:"cp_instance_id"`
	State        FlightSessionState `gorm:"size:32;not null" json:"state"`
	ExpiresAt    time.Time          `gorm:"index" json:"expires_at"`
	LastSeenAt   time.Time          `json:"last_seen_at"`
	CreatedAt    time.Time          `json:"created_at"`
	UpdatedAt    time.Time          `json:"updated_at"`
}

FlightSessionRecord is the durable reconnect record for Flight sessions.

func (FlightSessionRecord) TableName

func (FlightSessionRecord) TableName() string

type FlightSessionState

type FlightSessionState string

FlightSessionState is the durable reconnect state for Flight-only sessions.

const (
	FlightSessionStateActive       FlightSessionState = "active"
	FlightSessionStateReconnecting FlightSessionState = "reconnecting"
	FlightSessionStateExpired      FlightSessionState = "expired"
	FlightSessionStateClosed       FlightSessionState = "closed"
)

type GlobalConfig

type GlobalConfig struct {
	ID                  uint      `gorm:"primaryKey" json:"-"`
	MemoryBudget        string    `gorm:"size:32" json:"memory_budget"`
	MemoryRebalance     bool      `json:"memory_rebalance"`
	MaxConnections      int       `json:"max_connections"`
	IdleTimeoutS        int       `json:"idle_timeout_s"`
	WorkerQueueTimeoutS int       `json:"worker_queue_timeout_s"`
	WorkerIdleTimeoutS  int       `json:"worker_idle_timeout_s"`
	Extensions          string    `gorm:"size:1024" json:"extensions"`
	UpdatedAt           time.Time `json:"updated_at"`
}

GlobalConfig is a singleton row (ID=1) for cluster-wide settings.

func (GlobalConfig) TableName

func (GlobalConfig) TableName() string

type ManagedWarehouse

type ManagedWarehouse struct {
	OrgID string `gorm:"primaryKey;size:255" json:"org_id"`

	Image        string  `gorm:"size:512" json:"image"`
	AuroraMinACU float64 `json:"aurora_min_acu"`
	AuroraMaxACU float64 `json:"aurora_max_acu"`

	WarehouseDatabase ManagedWarehouseDatabase       `gorm:"embedded;embeddedPrefix:warehouse_database_" json:"warehouse_database"`
	MetadataStore     ManagedWarehouseMetadataStore  `gorm:"embedded;embeddedPrefix:metadata_store_" json:"metadata_store"`
	S3                ManagedWarehouseS3             `gorm:"embedded;embeddedPrefix:s3_" json:"s3"`
	WorkerIdentity    ManagedWarehouseWorkerIdentity `gorm:"embedded;embeddedPrefix:worker_identity_" json:"worker_identity"`

	WarehouseDatabaseCredentials SecretRef `gorm:"embedded;embeddedPrefix:warehouse_database_credentials_" json:"warehouse_database_credentials"`
	MetadataStoreCredentials     SecretRef `gorm:"embedded;embeddedPrefix:metadata_store_credentials_" json:"metadata_store_credentials"`
	S3Credentials                SecretRef `gorm:"embedded;embeddedPrefix:s3_credentials_" json:"s3_credentials"`
	RuntimeConfig                SecretRef `gorm:"embedded;embeddedPrefix:runtime_config_" json:"runtime_config"`

	State                          ManagedWarehouseProvisioningState `gorm:"size:32" json:"state"`
	StatusMessage                  string                            `gorm:"size:1024" json:"status_message"`
	WarehouseDatabaseState         ManagedWarehouseProvisioningState `gorm:"size:32" json:"warehouse_database_state"`
	WarehouseDatabaseStatusMessage string                            `gorm:"size:1024" json:"warehouse_database_status_message"`
	MetadataStoreState             ManagedWarehouseProvisioningState `gorm:"size:32" json:"metadata_store_state"`
	MetadataStoreStatusMessage     string                            `gorm:"size:1024" json:"metadata_store_status_message"`
	S3State                        ManagedWarehouseProvisioningState `gorm:"size:32" json:"s3_state"`
	S3StatusMessage                string                            `gorm:"size:1024" json:"s3_status_message"`
	IdentityState                  ManagedWarehouseProvisioningState `gorm:"size:32" json:"identity_state"`
	IdentityStatusMessage          string                            `gorm:"size:1024" json:"identity_status_message"`
	SecretsState                   ManagedWarehouseProvisioningState `gorm:"size:32" json:"secrets_state"`
	SecretsStatusMessage           string                            `gorm:"size:1024" json:"secrets_status_message"`
	ProvisioningStartedAt          *time.Time                        `json:"provisioning_started_at"`
	ReadyAt                        *time.Time                        `json:"ready_at"`
	FailedAt                       *time.Time                        `json:"failed_at"`
	CreatedAt                      time.Time                         `json:"created_at"`
	UpdatedAt                      time.Time                         `json:"updated_at"`
}

ManagedWarehouse is the config-store source of truth for an org's managed warehouse metadata.

func (ManagedWarehouse) TableName

func (ManagedWarehouse) TableName() string

type ManagedWarehouseConfig

type ManagedWarehouseConfig struct {
	OrgID string

	Image        string
	AuroraMinACU float64
	AuroraMaxACU float64

	WarehouseDatabase ManagedWarehouseDatabase
	MetadataStore     ManagedWarehouseMetadataStore
	S3                ManagedWarehouseS3
	WorkerIdentity    ManagedWarehouseWorkerIdentity

	WarehouseDatabaseCredentials SecretRef
	MetadataStoreCredentials     SecretRef
	S3Credentials                SecretRef
	RuntimeConfig                SecretRef

	State                          ManagedWarehouseProvisioningState
	StatusMessage                  string
	WarehouseDatabaseState         ManagedWarehouseProvisioningState
	WarehouseDatabaseStatusMessage string
	MetadataStoreState             ManagedWarehouseProvisioningState
	MetadataStoreStatusMessage     string
	S3State                        ManagedWarehouseProvisioningState
	S3StatusMessage                string
	IdentityState                  ManagedWarehouseProvisioningState
	IdentityStatusMessage          string
	SecretsState                   ManagedWarehouseProvisioningState
	SecretsStatusMessage           string
	ReadyAt                        *time.Time
	FailedAt                       *time.Time
}

ManagedWarehouseConfig is the in-memory snapshot view of an org's warehouse metadata.

type ManagedWarehouseDatabase

type ManagedWarehouseDatabase struct {
	Region       string `gorm:"size:64" json:"region"`
	Endpoint     string `gorm:"size:512" json:"endpoint"`
	Port         int    `json:"port"`
	DatabaseName string `gorm:"size:255" json:"database_name"`
	Username     string `gorm:"size:255" json:"username"`
}

ManagedWarehouseDatabase stores primary warehouse DB metadata for an org.

type ManagedWarehouseMetadataStore

type ManagedWarehouseMetadataStore struct {
	Kind         string `gorm:"size:64" json:"kind"`
	Engine       string `gorm:"size:64" json:"engine"`
	Region       string `gorm:"size:64" json:"region"`
	Endpoint     string `gorm:"size:512" json:"endpoint"`
	Port         int    `json:"port"`
	DatabaseName string `gorm:"size:255" json:"database_name"`
	Username     string `gorm:"size:255" json:"username"`
}

ManagedWarehouseMetadataStore stores org-scoped DuckLake metadata DB info.

type ManagedWarehouseProvisioningState

type ManagedWarehouseProvisioningState string

ManagedWarehouseProvisioningState is an open string used for warehouse lifecycle status. The constants below are the canonical values used by current tooling, but callers may persist other states while provisioning workflows evolve.

const (
	ManagedWarehouseStatePending      ManagedWarehouseProvisioningState = "pending"
	ManagedWarehouseStateProvisioning ManagedWarehouseProvisioningState = "provisioning"
	ManagedWarehouseStateReady        ManagedWarehouseProvisioningState = "ready"
	ManagedWarehouseStateFailed       ManagedWarehouseProvisioningState = "failed"
	ManagedWarehouseStateDeleting     ManagedWarehouseProvisioningState = "deleting"
	ManagedWarehouseStateDeleted      ManagedWarehouseProvisioningState = "deleted"
)

type ManagedWarehouseS3

type ManagedWarehouseS3 struct {
	Provider   string `gorm:"size:64" json:"provider"`
	Region     string `gorm:"size:64" json:"region"`
	Bucket     string `gorm:"size:255" json:"bucket"`
	PathPrefix string `gorm:"size:1024" json:"path_prefix"`
	Endpoint   string `gorm:"size:512" json:"endpoint"`
	UseSSL     bool   `json:"use_ssl"`
	URLStyle   string `gorm:"size:16" json:"url_style"`
}

ManagedWarehouseS3 stores object-store metadata for an org's warehouse.

type ManagedWarehouseWorkerIdentity

type ManagedWarehouseWorkerIdentity struct {
	Namespace          string `gorm:"size:255" json:"namespace"`
	ServiceAccountName string `gorm:"size:255" json:"service_account_name"`
	IAMRoleARN         string `gorm:"size:512" json:"iam_role_arn"`
}

ManagedWarehouseWorkerIdentity stores org-scoped worker identity metadata.

type Org

type Org struct {
	Name         string            `gorm:"primaryKey;size:255" json:"name"`
	DatabaseName string            `gorm:"size:255;uniqueIndex" json:"database_name"`
	MaxWorkers   int               `gorm:"default:0" json:"max_workers"`
	MemoryBudget string            `gorm:"size:32" json:"memory_budget"`
	IdleTimeoutS int               `gorm:"default:0" json:"idle_timeout_s"`
	Users        []OrgUser         `gorm:"foreignKey:OrgID;references:Name" json:"users,omitempty"`
	Warehouse    *ManagedWarehouse `gorm:"foreignKey:OrgID;references:Name;constraint:OnDelete:CASCADE" json:"warehouse,omitempty"`
	CreatedAt    time.Time         `json:"created_at"`
	UpdatedAt    time.Time         `json:"updated_at"`
}

Org represents a tenant with per-org resource limits.

func (Org) TableName

func (Org) TableName() string

type OrgConfig

type OrgConfig struct {
	Name         string
	DatabaseName string
	MaxWorkers   int
	MemoryBudget string
	IdleTimeoutS int
	Users        map[string]string // username -> password
	Warehouse    *ManagedWarehouseConfig
}

OrgConfig is a convenience view combining org metadata with resource limits.

type OrgUser

type OrgUser struct {
	OrgID     string    `gorm:"primaryKey;size:255" json:"org_id"`
	Username  string    `gorm:"primaryKey;size:255" json:"username"`
	Password  string    `gorm:"size:255;not null" json:"-"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

OrgUser maps a username to an org with credentials.

func (OrgUser) TableName

func (OrgUser) TableName() string

type OrgUserKey

type OrgUserKey struct {
	OrgID    string
	Username string
}

OrgUserKey is the composite key for org-scoped user lookups.

type QueryLogConfig

type QueryLogConfig struct {
	ID                   uint      `gorm:"primaryKey" json:"-"`
	Enabled              bool      `json:"enabled"`
	FlushIntervalS       int       `json:"flush_interval_s"`
	BatchSize            int       `json:"batch_size"`
	CompactIntervalS     int       `json:"compact_interval_s"`
	DataInliningRowLimit int       `json:"data_inlining_row_limit"`
	UpdatedAt            time.Time `json:"updated_at"`
}

QueryLogConfig is a singleton row (ID=1) for query logging.

func (QueryLogConfig) TableName

func (QueryLogConfig) TableName() string

type RateLimitConfig

type RateLimitConfig struct {
	ID                   uint      `gorm:"primaryKey" json:"-"`
	MaxFailedAttempts    int       `json:"max_failed_attempts"`
	FailedAttemptWindowS int       `json:"failed_attempt_window_s"`
	BanDurationS         int       `json:"ban_duration_s"`
	MaxConnectionsPerIP  int       `json:"max_connections_per_ip"`
	UpdatedAt            time.Time `json:"updated_at"`
}

RateLimitConfig is a singleton row (ID=1) for rate limiting.

func (RateLimitConfig) TableName

func (RateLimitConfig) TableName() string

type SecretRef

type SecretRef struct {
	Namespace string `gorm:"size:255" json:"namespace"`
	Name      string `gorm:"size:255" json:"name"`
	Key       string `gorm:"size:255" json:"key"`
}

SecretRef identifies a secret key without storing secret material in the config store.

type Snapshot

type Snapshot struct {
	Orgs            map[string]*OrgConfig
	DatabaseOrg     map[string]string     // database name -> org ID
	OrgUserPassword map[OrgUserKey]string // (orgID, username) -> bcrypt hash
	Global          GlobalConfig
	DuckLake        DuckLakeConfig
	RateLimit       RateLimitConfig
	QueryLog        QueryLogConfig
}

Snapshot holds a point-in-time copy of all config data for fast lookups.

type WorkerRecord

type WorkerRecord struct {
	WorkerID            int         `gorm:"primaryKey" json:"worker_id"`
	PodName             string      `gorm:"size:255;not null;uniqueIndex" json:"pod_name"`
	PodUID              string      `gorm:"size:255" json:"pod_uid"`
	State               WorkerState `gorm:"size:32;not null;index" json:"state"`
	OrgID               string      `gorm:"size:255;index" json:"org_id"`
	OwnerCPInstanceID   string      `gorm:"size:255;index" json:"owner_cp_instance_id"`
	OwnerEpoch          int64       `gorm:"not null" json:"owner_epoch"`
	ActivationStartedAt *time.Time  `json:"activation_started_at,omitempty"`
	LastHeartbeatAt     time.Time   `json:"last_heartbeat_at"`
	RetireReason        string      `gorm:"size:64" json:"retire_reason"`
	CreatedAt           time.Time   `json:"created_at"`
	UpdatedAt           time.Time   `json:"updated_at"`
}

WorkerRecord is the durable runtime coordination record for one worker pod.

func (WorkerRecord) TableName

func (WorkerRecord) TableName() string

type WorkerState

type WorkerState string

WorkerState is the durable lifecycle state for a worker pod.

const (
	WorkerStateSpawning   WorkerState = "spawning"
	WorkerStateIdle       WorkerState = "idle"
	WorkerStateReserved   WorkerState = "reserved"
	WorkerStateActivating WorkerState = "activating"
	WorkerStateHot        WorkerState = "hot"
	WorkerStateHotIdle    WorkerState = "hot_idle"
	WorkerStateDraining   WorkerState = "draining"
	WorkerStateRetired    WorkerState = "retired"
	WorkerStateLost       WorkerState = "lost"
)

Jump to

Keyboard shortcuts

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