Documentation
¶
Overview ¶
Package generated holds the backend configuration struct generated by go-jsonschema from the vendored config schema (config.go, regenerated via `make generate-config`), plus a hand-written stable alias (this file). It is read-only generated code — never hand-edit config.go; change the AppConfig model and regenerate (impl/6.0 §2).
Index ¶
- type AccessRequestsConfig
- type AdminAuthConfig
- type AdminConfig
- type AdminInviteConfig
- type AuthConfig
- type BackendConfig
- type BackendKind
- type BaseModel
- type BrokerConfig
- type BrokerConfigAccountLinkingBaseUrl_0
- type BrokerConfigJobsApiBaseUrl_0
- type BrokerConfigJwtSecret_0
- type BrokerResilienceConfig
- type CatalogConfig
- type CircuitBreakerConfig
- type CircuitBreakerConfigEnforcementMode
- type ConfigSchemaJson
- type ConnectConfig
- type ControlSurfaceConfig
- type CredentialsConfig
- type CredentialsConfigProviders
- type DatabaseConfig
- type DatabaseConfigBackend
- type DatabaseConfigPath_0
- type DatabasesConfig
- type DirectOAuth2ProviderConfig
- type DirectOAuth2ProviderConfigAuthorizeExtraParams
- type EgressConfig
- type EncryptionConfig
- type EncryptionKey
- type EntitlementConfig
- type EntitlementConfigEndpoint_0
- type EntitlementConfigLicenseSku_0
- type EntitlementConfigPricingModel
- type EntitlementConfigProductCode_0
- type IdempotencyConfig
- type IdpConfig
- type IdpConfigAuthorizationEndpoint_0
- type IdpConfigExchangeEndpoint_0
- type IdpConfigHostedDomain_0
- type IdpConfigUserinfoEndpoint_0
- type IngestConfig
- type JwtVerificationConfig
- type JwtVerificationConfigAudience_0
- type LoggingConfig
- type MetricsConfig
- type MetricsConfigExporter
- type ObservabilityConfig
- type PipedreamProviderConfig
- type PipedreamProviderConfigEnvironment
- type RateLimitConfig
- type ReleaseCheckConfig
- type RetryConfig
- type RuntimeConfig
- type SearchConfig
- type SecurityConfig
- type ServerConfig
- type ServerConfigBackend
- type ServicesConfig
- type SigningKeyConfig
- type StateBackendConfig
- type StateBackendConfigRedisUrl_0
- type TelemetryConfig
- type TelemetryConfigHostOs_0
- type TelemetryConfigInstanceId_0
- type TracingConfig
- type TracingConfigExporter
- type TrustedIssuerConfig
- type UpstreamClientConfig
- type UpstreamClientConfigMaxRequestBytesByType
- type WorkerConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessRequestsConfig ¶
type AccessRequestsConfig struct {
// CanonicalBaseUrl corresponds to the JSON schema field "canonical_base_url".
CanonicalBaseUrl string `json:"canonical_base_url,omitempty,omitzero" yaml:"canonical_base_url,omitempty" mapstructure:"canonical_base_url,omitempty"`
// TtlDays corresponds to the JSON schema field "ttl_days".
TtlDays int `json:"ttl_days,omitempty,omitzero" yaml:"ttl_days,omitempty" mapstructure:"ttl_days,omitempty"`
}
Access requests subsystem configuration.
func (*AccessRequestsConfig) UnmarshalJSON ¶
func (j *AccessRequestsConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type AdminAuthConfig ¶
type AdminAuthConfig struct {
// FailedLoginLockoutSeconds corresponds to the JSON schema field
// "failed_login_lockout_seconds".
FailedLoginLockoutSeconds int `` /* 154-byte string literal not displayed */
// FailedLoginLockoutThreshold corresponds to the JSON schema field
// "failed_login_lockout_threshold".
FailedLoginLockoutThreshold int `` /* 160-byte string literal not displayed */
// JwtSecret corresponds to the JSON schema field "jwt_secret".
JwtSecret string `json:"jwt_secret,omitempty,omitzero" yaml:"jwt_secret,omitempty" mapstructure:"jwt_secret,omitempty"`
// JwtTtlSeconds corresponds to the JSON schema field "jwt_ttl_seconds".
JwtTtlSeconds int `json:"jwt_ttl_seconds,omitempty,omitzero" yaml:"jwt_ttl_seconds,omitempty" mapstructure:"jwt_ttl_seconds,omitempty"`
// SessionTtlSeconds corresponds to the JSON schema field "session_ttl_seconds".
SessionTtlSeconds int `` /* 127-byte string literal not displayed */
}
Admin authentication settings.
func (*AdminAuthConfig) UnmarshalJSON ¶
func (j *AdminAuthConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type AdminConfig ¶
type AdminConfig struct {
// Auth corresponds to the JSON schema field "auth".
Auth *AdminAuthConfig `json:"auth,omitempty,omitzero" yaml:"auth,omitempty" mapstructure:"auth,omitempty"`
// Invite corresponds to the JSON schema field "invite".
Invite *AdminInviteConfig `json:"invite,omitempty,omitzero" yaml:"invite,omitempty" mapstructure:"invite,omitempty"`
}
Admin surface configuration.
type AdminInviteConfig ¶
type AdminInviteConfig struct {
// Pepper corresponds to the JSON schema field "pepper".
Pepper string `json:"pepper,omitempty,omitzero" yaml:"pepper,omitempty" mapstructure:"pepper,omitempty"`
// TtlDays corresponds to the JSON schema field "ttl_days".
TtlDays int `json:"ttl_days,omitempty,omitzero" yaml:"ttl_days,omitempty" mapstructure:"ttl_days,omitempty"`
}
Admin invite token settings.
func (*AdminInviteConfig) UnmarshalJSON ¶
func (j *AdminInviteConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type AuthConfig ¶
type AuthConfig struct {
// AccessTtlSeconds corresponds to the JSON schema field "access_ttl_seconds".
AccessTtlSeconds int `json:"access_ttl_seconds,omitempty,omitzero" yaml:"access_ttl_seconds,omitempty" mapstructure:"access_ttl_seconds,omitempty"`
// AssertionMaxTtlSeconds corresponds to the JSON schema field
// "assertion_max_ttl_seconds".
AssertionMaxTtlSeconds int `` /* 145-byte string literal not displayed */
// AuthCodeTtlSeconds corresponds to the JSON schema field
// "auth_code_ttl_seconds".
AuthCodeTtlSeconds int `` /* 133-byte string literal not displayed */
// CanonicalBaseUrl corresponds to the JSON schema field "canonical_base_url".
CanonicalBaseUrl string `json:"canonical_base_url,omitempty,omitzero" yaml:"canonical_base_url,omitempty" mapstructure:"canonical_base_url,omitempty"`
// ClaimTtlSeconds corresponds to the JSON schema field "claim_ttl_seconds".
ClaimTtlSeconds int `json:"claim_ttl_seconds,omitempty,omitzero" yaml:"claim_ttl_seconds,omitempty" mapstructure:"claim_ttl_seconds,omitempty"`
// IdSigning corresponds to the JSON schema field "id_signing".
IdSigning []SigningKeyConfig `json:"id_signing,omitempty,omitzero" yaml:"id_signing,omitempty" mapstructure:"id_signing,omitempty"`
// Idp corresponds to the JSON schema field "idp".
Idp *IdpConfig `json:"idp,omitempty,omitzero" yaml:"idp,omitempty" mapstructure:"idp,omitempty"`
// RatTtlSeconds corresponds to the JSON schema field "rat_ttl_seconds".
RatTtlSeconds int `json:"rat_ttl_seconds,omitempty,omitzero" yaml:"rat_ttl_seconds,omitempty" mapstructure:"rat_ttl_seconds,omitempty"`
// RefreshTtlSeconds corresponds to the JSON schema field "refresh_ttl_seconds".
RefreshTtlSeconds int `` /* 127-byte string literal not displayed */
}
Platform-actors OAuth surface configuration.
func (*AuthConfig) UnmarshalJSON ¶
func (j *AuthConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type BackendConfig ¶
type BackendConfig = ConfigSchemaJson
BackendConfig is the stable name the installer/binder/doctor refer to for the generated backend configuration root (impl/6.0 §2). go-jsonschema derives the root type name from the schema file (config-schema.json → ConfigSchemaJson); this alias pins the name the rest of the CLI uses so a future generator quirk or filename change can't ripple through internal/cli/ctl. It is a type ALIAS (not a defined type), so BackendConfig and ConfigSchemaJson are identical for reflection, JSON, and method-set purposes — the binder walks either interchangeably.
This file is hand-written and lives beside the generated config.go precisely so the generator never overwrites it.
type BackendKind ¶
type BackendKind string
const BackendKindMemory BackendKind = "memory"
const BackendKindRedis BackendKind = "redis"
func (*BackendKind) UnmarshalJSON ¶
func (j *BackendKind) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type BrokerConfig ¶
type BrokerConfig struct {
// AccountLinkingBaseUrl corresponds to the JSON schema field
// "account_linking_base_url".
AccountLinkingBaseUrl interface{} `` /* 142-byte string literal not displayed */
// Egress corresponds to the JSON schema field "egress".
Egress *EgressConfig `json:"egress,omitempty,omitzero" yaml:"egress,omitempty" mapstructure:"egress,omitempty"`
// Idempotency corresponds to the JSON schema field "idempotency".
Idempotency *IdempotencyConfig `json:"idempotency,omitempty,omitzero" yaml:"idempotency,omitempty" mapstructure:"idempotency,omitempty"`
// JobsApiBaseUrl corresponds to the JSON schema field "jobs_api_base_url".
JobsApiBaseUrl interface{} `json:"jobs_api_base_url,omitempty,omitzero" yaml:"jobs_api_base_url,omitempty" mapstructure:"jobs_api_base_url,omitempty"`
// JwtSecret corresponds to the JSON schema field "jwt_secret".
JwtSecret interface{} `json:"jwt_secret,omitempty,omitzero" yaml:"jwt_secret,omitempty" mapstructure:"jwt_secret,omitempty"`
// JwtVerification corresponds to the JSON schema field "jwt_verification".
JwtVerification *JwtVerificationConfig `json:"jwt_verification,omitempty,omitzero" yaml:"jwt_verification,omitempty" mapstructure:"jwt_verification,omitempty"`
// Resilience corresponds to the JSON schema field "resilience".
Resilience *BrokerResilienceConfig `json:"resilience,omitempty,omitzero" yaml:"resilience,omitempty" mapstructure:"resilience,omitempty"`
// ResolveCacheTtlSeconds corresponds to the JSON schema field
// "resolve_cache_ttl_seconds".
ResolveCacheTtlSeconds float64 `` /* 145-byte string literal not displayed */
// RuleCacheTtlS corresponds to the JSON schema field "rule_cache_ttl_s".
RuleCacheTtlS float64 `json:"rule_cache_ttl_s,omitempty,omitzero" yaml:"rule_cache_ttl_s,omitempty" mapstructure:"rule_cache_ttl_s,omitempty"`
// ToolkitCacheTtlS corresponds to the JSON schema field "toolkit_cache_ttl_s".
ToolkitCacheTtlS float64 `` /* 127-byte string literal not displayed */
// UpstreamTimeoutS corresponds to the JSON schema field "upstream_timeout_s".
UpstreamTimeoutS float64 `json:"upstream_timeout_s,omitempty,omitzero" yaml:"upstream_timeout_s,omitempty" mapstructure:"upstream_timeout_s,omitempty"`
}
Broker surface configuration.
func (*BrokerConfig) UnmarshalJSON ¶
func (j *BrokerConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type BrokerConfigAccountLinkingBaseUrl_0 ¶
type BrokerConfigAccountLinkingBaseUrl_0 *string
type BrokerConfigJobsApiBaseUrl_0 ¶
type BrokerConfigJobsApiBaseUrl_0 *string
type BrokerConfigJwtSecret_0 ¶
type BrokerConfigJwtSecret_0 *string
type BrokerResilienceConfig ¶
type BrokerResilienceConfig struct {
// Backend corresponds to the JSON schema field "backend".
Backend *StateBackendConfig `json:"backend,omitempty,omitzero" yaml:"backend,omitempty" mapstructure:"backend,omitempty"`
// CircuitBreaker corresponds to the JSON schema field "circuit_breaker".
CircuitBreaker *CircuitBreakerConfig `json:"circuit_breaker,omitempty,omitzero" yaml:"circuit_breaker,omitempty" mapstructure:"circuit_breaker,omitempty"`
// MaxInFlight corresponds to the JSON schema field "max_in_flight".
MaxInFlight int `json:"max_in_flight,omitempty,omitzero" yaml:"max_in_flight,omitempty" mapstructure:"max_in_flight,omitempty"`
// RateLimit corresponds to the JSON schema field "rate_limit".
RateLimit *RateLimitConfig `json:"rate_limit,omitempty,omitzero" yaml:"rate_limit,omitempty" mapstructure:"rate_limit,omitempty"`
// ReadinessSaturationThreshold corresponds to the JSON schema field
// "readiness_saturation_threshold".
ReadinessSaturationThreshold float64 `` /* 160-byte string literal not displayed */
// RequestDeadlineS corresponds to the JSON schema field "request_deadline_s".
RequestDeadlineS float64 `json:"request_deadline_s,omitempty,omitzero" yaml:"request_deadline_s,omitempty" mapstructure:"request_deadline_s,omitempty"`
// Retry corresponds to the JSON schema field "retry".
Retry *RetryConfig `json:"retry,omitempty,omitzero" yaml:"retry,omitempty" mapstructure:"retry,omitempty"`
// ShedRetryAfterS corresponds to the JSON schema field "shed_retry_after_s".
ShedRetryAfterS int `json:"shed_retry_after_s,omitempty,omitzero" yaml:"shed_retry_after_s,omitempty" mapstructure:"shed_retry_after_s,omitempty"`
// Upstream corresponds to the JSON schema field "upstream".
Upstream *UpstreamClientConfig `json:"upstream,omitempty,omitzero" yaml:"upstream,omitempty" mapstructure:"upstream,omitempty"`
}
Resilience envelope: admission (§04 R1) + rate limit / circuit (§05).
The shared-state “backend“ selection drives *both* the rate limiter and the circuit breaker (memory default; Redis is cluster-wide, §06). Queue backpressure / async-credential / retention knobs land in a later §05 slice.
func (*BrokerResilienceConfig) UnmarshalJSON ¶
func (j *BrokerResilienceConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type CatalogConfig ¶
type CatalogConfig struct {
// ManifestMaxAgeSeconds corresponds to the JSON schema field
// "manifest_max_age_seconds".
ManifestMaxAgeSeconds int `` /* 142-byte string literal not displayed */
// ManifestUrl corresponds to the JSON schema field "manifest_url".
ManifestUrl string `json:"manifest_url,omitempty,omitzero" yaml:"manifest_url,omitempty" mapstructure:"manifest_url,omitempty"`
// UpdateCheckIntervalSeconds corresponds to the JSON schema field
// "update_check_interval_seconds".
UpdateCheckIntervalSeconds int `` /* 157-byte string literal not displayed */
// UpdateSweepDeadlineSeconds corresponds to the JSON schema field
// "update_sweep_deadline_seconds".
UpdateSweepDeadlineSeconds int `` /* 157-byte string literal not displayed */
// UpdateSweepJitterRatio corresponds to the JSON schema field
// "update_sweep_jitter_ratio".
UpdateSweepJitterRatio float64 `` /* 145-byte string literal not displayed */
// UpdateSweepMaxConcurrency corresponds to the JSON schema field
// "update_sweep_max_concurrency".
UpdateSweepMaxConcurrency int `` /* 154-byte string literal not displayed */
}
Public API catalog settings (manifest source + staleness).
func (*CatalogConfig) UnmarshalJSON ¶
func (j *CatalogConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type CircuitBreakerConfig ¶
type CircuitBreakerConfig struct {
// CooldownS corresponds to the JSON schema field "cooldown_s".
CooldownS int `json:"cooldown_s,omitempty,omitzero" yaml:"cooldown_s,omitempty" mapstructure:"cooldown_s,omitempty"`
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// EnforcementMode corresponds to the JSON schema field "enforcement_mode".
EnforcementMode CircuitBreakerConfigEnforcementMode `json:"enforcement_mode,omitempty,omitzero" yaml:"enforcement_mode,omitempty" mapstructure:"enforcement_mode,omitempty"`
// FailureRatio corresponds to the JSON schema field "failure_ratio".
FailureRatio float64 `json:"failure_ratio,omitempty,omitzero" yaml:"failure_ratio,omitempty" mapstructure:"failure_ratio,omitempty"`
// MinCalls corresponds to the JSON schema field "min_calls".
MinCalls int `json:"min_calls,omitempty,omitzero" yaml:"min_calls,omitempty" mapstructure:"min_calls,omitempty"`
// WindowS corresponds to the JSON schema field "window_s".
WindowS int `json:"window_s,omitempty,omitzero" yaml:"window_s,omitempty" mapstructure:"window_s,omitempty"`
}
Per-upstream circuit breaker (§05 R5.1).
Counts failures/totals per rolling “window_s“ on the shared-state backend's atomic counters; when the failure ratio crosses “failure_ratio“ the circuit opens (a “set_if_absent“ latch) and fast-fails for “cooldown_s“. “observation“ mode tracks + emits “would_block“ but still calls the upstream (safe-rollout dry run).
func (*CircuitBreakerConfig) UnmarshalJSON ¶
func (j *CircuitBreakerConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type CircuitBreakerConfigEnforcementMode ¶
type CircuitBreakerConfigEnforcementMode string
const CircuitBreakerConfigEnforcementModeBlocking CircuitBreakerConfigEnforcementMode = "blocking"
const CircuitBreakerConfigEnforcementModeObservation CircuitBreakerConfigEnforcementMode = "observation"
func (*CircuitBreakerConfigEnforcementMode) UnmarshalJSON ¶
func (j *CircuitBreakerConfigEnforcementMode) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ConfigSchemaJson ¶
type ConfigSchemaJson struct {
// Admin corresponds to the JSON schema field "admin".
Admin *AdminConfig `json:"admin,omitempty,omitzero" yaml:"admin,omitempty" mapstructure:"admin,omitempty"`
// Apps corresponds to the JSON schema field "apps".
Apps []string `json:"apps,omitempty,omitzero" yaml:"apps,omitempty" mapstructure:"apps,omitempty"`
// Auth corresponds to the JSON schema field "auth".
Auth *AuthConfig `json:"auth,omitempty,omitzero" yaml:"auth,omitempty" mapstructure:"auth,omitempty"`
// Broker corresponds to the JSON schema field "broker".
Broker *BrokerConfig `json:"broker,omitempty,omitzero" yaml:"broker,omitempty" mapstructure:"broker,omitempty"`
// Catalog corresponds to the JSON schema field "catalog".
Catalog *CatalogConfig `json:"catalog,omitempty,omitzero" yaml:"catalog,omitempty" mapstructure:"catalog,omitempty"`
// Control corresponds to the JSON schema field "control".
Control *ControlSurfaceConfig `json:"control,omitempty,omitzero" yaml:"control,omitempty" mapstructure:"control,omitempty"`
// Credentials corresponds to the JSON schema field "credentials".
Credentials *CredentialsConfig `json:"credentials,omitempty,omitzero" yaml:"credentials,omitempty" mapstructure:"credentials,omitempty"`
// Databases corresponds to the JSON schema field "databases".
Databases DatabasesConfig `json:"databases" yaml:"databases" mapstructure:"databases"`
// Entitlement corresponds to the JSON schema field "entitlement".
Entitlement *EntitlementConfig `json:"entitlement,omitempty,omitzero" yaml:"entitlement,omitempty" mapstructure:"entitlement,omitempty"`
// Ingest corresponds to the JSON schema field "ingest".
Ingest *IngestConfig `json:"ingest,omitempty,omitzero" yaml:"ingest,omitempty" mapstructure:"ingest,omitempty"`
// Logging corresponds to the JSON schema field "logging".
Logging *LoggingConfig `json:"logging,omitempty,omitzero" yaml:"logging,omitempty" mapstructure:"logging,omitempty"`
// Observability corresponds to the JSON schema field "observability".
Observability *ObservabilityConfig `json:"observability,omitempty,omitzero" yaml:"observability,omitempty" mapstructure:"observability,omitempty"`
// ReleaseCheck corresponds to the JSON schema field "release_check".
ReleaseCheck *ReleaseCheckConfig `json:"release_check,omitempty,omitzero" yaml:"release_check,omitempty" mapstructure:"release_check,omitempty"`
// Runtime corresponds to the JSON schema field "runtime".
Runtime *RuntimeConfig `json:"runtime,omitempty,omitzero" yaml:"runtime,omitempty" mapstructure:"runtime,omitempty"`
// Search corresponds to the JSON schema field "search".
Search *SearchConfig `json:"search,omitempty,omitzero" yaml:"search,omitempty" mapstructure:"search,omitempty"`
// Security corresponds to the JSON schema field "security".
Security *SecurityConfig `json:"security,omitempty,omitzero" yaml:"security,omitempty" mapstructure:"security,omitempty"`
// Server corresponds to the JSON schema field "server".
Server *ServerConfig `json:"server,omitempty,omitzero" yaml:"server,omitempty" mapstructure:"server,omitempty"`
// Services corresponds to the JSON schema field "services".
Services *ServicesConfig `json:"services,omitempty,omitzero" yaml:"services,omitempty" mapstructure:"services,omitempty"`
// Telemetry corresponds to the JSON schema field "telemetry".
Telemetry *TelemetryConfig `json:"telemetry,omitempty,omitzero" yaml:"telemetry,omitempty" mapstructure:"telemetry,omitempty"`
// Worker corresponds to the JSON schema field "worker".
Worker *WorkerConfig `json:"worker,omitempty,omitzero" yaml:"worker,omitempty" mapstructure:"worker,omitempty"`
}
Top-level application configuration.
func (*ConfigSchemaJson) UnmarshalJSON ¶
func (j *ConfigSchemaJson) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ConnectConfig ¶
type ConnectConfig struct {
// StateSecret corresponds to the JSON schema field "state_secret".
StateSecret string `json:"state_secret,omitempty,omitzero" yaml:"state_secret,omitempty" mapstructure:"state_secret,omitempty"`
// StateTtlSeconds corresponds to the JSON schema field "state_ttl_seconds".
StateTtlSeconds int `json:"state_ttl_seconds,omitempty,omitzero" yaml:"state_ttl_seconds,omitempty" mapstructure:"state_ttl_seconds,omitempty"`
}
Configuration for the OAuth connect flow.
func (*ConnectConfig) UnmarshalJSON ¶
func (j *ConnectConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ControlSurfaceConfig ¶
type ControlSurfaceConfig struct {
// AccessRequests corresponds to the JSON schema field "access_requests".
AccessRequests *AccessRequestsConfig `json:"access_requests,omitempty,omitzero" yaml:"access_requests,omitempty" mapstructure:"access_requests,omitempty"`
}
Control surface configuration.
type CredentialsConfig ¶
type CredentialsConfig struct {
// Connect corresponds to the JSON schema field "connect".
Connect *ConnectConfig `json:"connect,omitempty,omitzero" yaml:"connect,omitempty" mapstructure:"connect,omitempty"`
// Encryption corresponds to the JSON schema field "encryption".
Encryption *EncryptionConfig `json:"encryption,omitempty,omitzero" yaml:"encryption,omitempty" mapstructure:"encryption,omitempty"`
// Providers corresponds to the JSON schema field "providers".
Providers CredentialsConfigProviders `json:"providers,omitempty,omitzero" yaml:"providers,omitempty" mapstructure:"providers,omitempty"`
}
Credentials subsystem configuration.
type CredentialsConfigProviders ¶
type CredentialsConfigProviders map[string]interface{}
type DatabaseConfig ¶
type DatabaseConfig struct {
// Backend corresponds to the JSON schema field "backend".
Backend DatabaseConfigBackend `json:"backend,omitempty,omitzero" yaml:"backend,omitempty" mapstructure:"backend,omitempty"`
// BusyTimeoutMs corresponds to the JSON schema field "busy_timeout_ms".
BusyTimeoutMs int `json:"busy_timeout_ms,omitempty,omitzero" yaml:"busy_timeout_ms,omitempty" mapstructure:"busy_timeout_ms,omitempty"`
// Host corresponds to the JSON schema field "host".
Host string `json:"host,omitempty,omitzero" yaml:"host,omitempty" mapstructure:"host,omitempty"`
// JournalMode corresponds to the JSON schema field "journal_mode".
JournalMode string `json:"journal_mode,omitempty,omitzero" yaml:"journal_mode,omitempty" mapstructure:"journal_mode,omitempty"`
// Name corresponds to the JSON schema field "name".
Name string `json:"name,omitempty,omitzero" yaml:"name,omitempty" mapstructure:"name,omitempty"`
// Password corresponds to the JSON schema field "password".
Password string `json:"password,omitempty,omitzero" yaml:"password,omitempty" mapstructure:"password,omitempty"`
// Path corresponds to the JSON schema field "path".
Path interface{} `json:"path,omitempty,omitzero" yaml:"path,omitempty" mapstructure:"path,omitempty"`
// PoolMax corresponds to the JSON schema field "pool_max".
PoolMax int `json:"pool_max,omitempty,omitzero" yaml:"pool_max,omitempty" mapstructure:"pool_max,omitempty"`
// Port corresponds to the JSON schema field "port".
Port int `json:"port,omitempty,omitzero" yaml:"port,omitempty" mapstructure:"port,omitempty"`
// SchemaName corresponds to the JSON schema field "schema_name".
SchemaName string `json:"schema_name,omitempty,omitzero" yaml:"schema_name,omitempty" mapstructure:"schema_name,omitempty"`
// User corresponds to the JSON schema field "user".
User string `json:"user,omitempty,omitzero" yaml:"user,omitempty" mapstructure:"user,omitempty"`
}
Connection parameters for a single database.
Supports two backends:
- “postgres“ (default): uses host/port/user/password/name + schema_name.
- “sqlite“: uses “path“ (a single-file database). The Postgres connection fields are ignored.
func (*DatabaseConfig) UnmarshalJSON ¶
func (j *DatabaseConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type DatabaseConfigBackend ¶
type DatabaseConfigBackend string
const DatabaseConfigBackendPostgres DatabaseConfigBackend = "postgres"
const DatabaseConfigBackendSqlite DatabaseConfigBackend = "sqlite"
func (*DatabaseConfigBackend) UnmarshalJSON ¶
func (j *DatabaseConfigBackend) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type DatabaseConfigPath_0 ¶
type DatabaseConfigPath_0 *string
type DatabasesConfig ¶
type DatabasesConfig struct {
// Admin corresponds to the JSON schema field "admin".
Admin DatabaseConfig `json:"admin" yaml:"admin" mapstructure:"admin"`
// Control corresponds to the JSON schema field "control".
Control DatabaseConfig `json:"control" yaml:"control" mapstructure:"control"`
// Registry corresponds to the JSON schema field "registry".
Registry DatabaseConfig `json:"registry" yaml:"registry" mapstructure:"registry"`
}
Named database connections.
func (*DatabasesConfig) UnmarshalJSON ¶
func (j *DatabasesConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type DirectOAuth2ProviderConfig ¶
type DirectOAuth2ProviderConfig struct {
// AuthorizeExtraParams corresponds to the JSON schema field
// "authorize_extra_params".
AuthorizeExtraParams DirectOAuth2ProviderConfigAuthorizeExtraParams `` /* 136-byte string literal not displayed */
// DefaultScopes corresponds to the JSON schema field "default_scopes".
DefaultScopes []string `json:"default_scopes,omitempty,omitzero" yaml:"default_scopes,omitempty" mapstructure:"default_scopes,omitempty"`
// ExpirySkewSeconds corresponds to the JSON schema field "expiry_skew_seconds".
ExpirySkewSeconds int `` /* 127-byte string literal not displayed */
// Kind corresponds to the JSON schema field "kind".
Kind string `json:"kind,omitempty,omitzero" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`
// RedirectUri corresponds to the JSON schema field "redirect_uri".
RedirectUri string `json:"redirect_uri" yaml:"redirect_uri" mapstructure:"redirect_uri"`
}
Configuration for a direct OAuth2 provider (full settings land in M5).
func (*DirectOAuth2ProviderConfig) UnmarshalJSON ¶
func (j *DirectOAuth2ProviderConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type EgressConfig ¶
type EgressConfig struct {
// AllowedInternalDomains corresponds to the JSON schema field
// "allowed_internal_domains".
AllowedInternalDomains []string `` /* 142-byte string literal not displayed */
// AllowedPrivateSubnets corresponds to the JSON schema field
// "allowed_private_subnets".
AllowedPrivateSubnets []string `` /* 139-byte string literal not displayed */
// DnsPinningEnabled corresponds to the JSON schema field "dns_pinning_enabled".
DnsPinningEnabled bool `` /* 127-byte string literal not displayed */
}
Outbound SSRF/egress policy for upstream calls (§08 E2).
Defaults are **strict** (both lists empty) — identical to the historical hard-coded behaviour: every private range and the cloud-metadata host are blocked. The two allowlists exist because the broker is frequently installed *inside* a corporate network to bridge to internal/legacy APIs, where the default block is a false positive. Both are opt-in, auditable operator decisions; the cloud-metadata IP is a **hard, non-overridable** deny so a credential-stealing SSRF can never be allowlisted by accident.
func (*EgressConfig) UnmarshalJSON ¶
func (j *EgressConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type EncryptionConfig ¶
type EncryptionConfig struct {
// ActiveId corresponds to the JSON schema field "active_id".
ActiveId string `json:"active_id,omitempty,omitzero" yaml:"active_id,omitempty" mapstructure:"active_id,omitempty"`
// Entries corresponds to the JSON schema field "entries".
Entries []EncryptionKey `json:"entries,omitempty,omitzero" yaml:"entries,omitempty" mapstructure:"entries,omitempty"`
}
Envelope-encryption keyset configuration.
func (*EncryptionConfig) UnmarshalJSON ¶
func (j *EncryptionConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type EncryptionKey ¶
type EncryptionKey struct {
// Id corresponds to the JSON schema field "id".
Id string `json:"id" yaml:"id" mapstructure:"id"`
// Material corresponds to the JSON schema field "material".
Material string `json:"material" yaml:"material" mapstructure:"material"`
}
A single named encryption key.
func (*EncryptionKey) UnmarshalJSON ¶
func (j *EncryptionKey) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type EntitlementConfig ¶
type EntitlementConfig struct {
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Endpoint corresponds to the JSON schema field "endpoint".
Endpoint interface{} `json:"endpoint,omitempty,omitzero" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"`
// GracePeriodSeconds corresponds to the JSON schema field "grace_period_seconds".
GracePeriodSeconds int `` /* 130-byte string literal not displayed */
// LicenseDimensions corresponds to the JSON schema field "license_dimensions".
LicenseDimensions []string `json:"license_dimensions,omitempty,omitzero" yaml:"license_dimensions,omitempty" mapstructure:"license_dimensions,omitempty"`
// LicenseSku corresponds to the JSON schema field "license_sku".
LicenseSku interface{} `json:"license_sku,omitempty,omitzero" yaml:"license_sku,omitempty" mapstructure:"license_sku,omitempty"`
// PricingModel corresponds to the JSON schema field "pricing_model".
PricingModel EntitlementConfigPricingModel `json:"pricing_model,omitempty,omitzero" yaml:"pricing_model,omitempty" mapstructure:"pricing_model,omitempty"`
// ProductCode corresponds to the JSON schema field "product_code".
ProductCode interface{} `json:"product_code,omitempty,omitzero" yaml:"product_code,omitempty" mapstructure:"product_code,omitempty"`
// RefreshIntervalSeconds corresponds to the JSON schema field
// "refresh_interval_seconds".
RefreshIntervalSeconds int `` /* 142-byte string literal not displayed */
// Region corresponds to the JSON schema field "region".
Region string `json:"region,omitempty,omitzero" yaml:"region,omitempty" mapstructure:"region,omitempty"`
}
AWS Marketplace license gate for the Marketplace-listed deployment.
Powers the entitlement checker (“integrations/aws_marketplace“): on startup — and every “refresh_interval_seconds“ after — the process asks AWS whether this deployment's Marketplace subscription is still active, and locks the HTTP surface (503, health excepted) when it definitively is not. Defaults to **OFF**: a non-Marketplace install that omits this block runs exactly as before — nothing is wired, no AWS call is ever made.
Failure posture: an *unreachable* or *erroring* AWS API is never grounds for lockout by itself — the last definitive verdict holds for “grace_period_seconds“ before the gate fails closed. Only an explicit "not entitled" answer from AWS locks out immediately.
func (*EntitlementConfig) UnmarshalJSON ¶
func (j *EntitlementConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type EntitlementConfigEndpoint_0 ¶
type EntitlementConfigEndpoint_0 *string
type EntitlementConfigLicenseSku_0 ¶
type EntitlementConfigLicenseSku_0 *string
type EntitlementConfigPricingModel ¶
type EntitlementConfigPricingModel string
const EntitlementConfigPricingModelContract EntitlementConfigPricingModel = "contract"
const EntitlementConfigPricingModelUsage EntitlementConfigPricingModel = "usage"
func (*EntitlementConfigPricingModel) UnmarshalJSON ¶
func (j *EntitlementConfigPricingModel) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type EntitlementConfigProductCode_0 ¶
type EntitlementConfigProductCode_0 *string
type IdempotencyConfig ¶
type IdempotencyConfig struct {
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// MaxResponseBytes corresponds to the JSON schema field "max_response_bytes".
MaxResponseBytes int `json:"max_response_bytes,omitempty,omitzero" yaml:"max_response_bytes,omitempty" mapstructure:"max_response_bytes,omitempty"`
// PendingTtlS corresponds to the JSON schema field "pending_ttl_s".
PendingTtlS float64 `json:"pending_ttl_s,omitempty,omitzero" yaml:"pending_ttl_s,omitempty" mapstructure:"pending_ttl_s,omitempty"`
// TtlS corresponds to the JSON schema field "ttl_s".
TtlS float64 `json:"ttl_s,omitempty,omitzero" yaml:"ttl_s,omitempty" mapstructure:"ttl_s,omitempty"`
}
“Idempotency-Key“ replay store (§07, PR-E/1 slim).
Sync “FULL“-mode replay over the shared-state “AtomicStore“ (memory default; Redis ⇒ cross-instance). Two TTLs: a *short* “pending_ttl_s“ claim (sized to the request deadline + buffer, so a crash mid-flight frees the key in seconds rather than the full replay window) promoted to the *long* “ttl_s“ only once the response is stored. Responses over “max_response_bytes“ are recorded without their body (replay still prevents a duplicate side-effect; only byte-for-byte body replay is dropped).
Compliance modes (“metadata_only“ / kill-switch), “require_for_mutations“, async same-“job_id“ replay, and at-rest encryption are later §07 slices.
func (*IdempotencyConfig) UnmarshalJSON ¶
func (j *IdempotencyConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type IdpConfig ¶
type IdpConfig struct {
// AuthorizationEndpoint corresponds to the JSON schema field
// "authorization_endpoint".
AuthorizationEndpoint interface{} `` /* 136-byte string literal not displayed */
// ClientId corresponds to the JSON schema field "client_id".
ClientId string `json:"client_id,omitempty,omitzero" yaml:"client_id,omitempty" mapstructure:"client_id,omitempty"`
// ClientSecret corresponds to the JSON schema field "client_secret".
ClientSecret string `json:"client_secret,omitempty,omitzero" yaml:"client_secret,omitempty" mapstructure:"client_secret,omitempty"`
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// ExchangeEndpoint corresponds to the JSON schema field "exchange_endpoint".
ExchangeEndpoint interface{} `json:"exchange_endpoint,omitempty,omitzero" yaml:"exchange_endpoint,omitempty" mapstructure:"exchange_endpoint,omitempty"`
// HostedDomain corresponds to the JSON schema field "hosted_domain".
HostedDomain interface{} `json:"hosted_domain,omitempty,omitzero" yaml:"hosted_domain,omitempty" mapstructure:"hosted_domain,omitempty"`
// Issuer corresponds to the JSON schema field "issuer".
Issuer string `json:"issuer,omitempty,omitzero" yaml:"issuer,omitempty" mapstructure:"issuer,omitempty"`
// Provider corresponds to the JSON schema field "provider".
Provider string `json:"provider,omitempty,omitzero" yaml:"provider,omitempty" mapstructure:"provider,omitempty"`
// Scopes corresponds to the JSON schema field "scopes".
Scopes []string `json:"scopes,omitempty,omitzero" yaml:"scopes,omitempty" mapstructure:"scopes,omitempty"`
// UserinfoEndpoint corresponds to the JSON schema field "userinfo_endpoint".
UserinfoEndpoint interface{} `json:"userinfo_endpoint,omitempty,omitzero" yaml:"userinfo_endpoint,omitempty" mapstructure:"userinfo_endpoint,omitempty"`
}
External OIDC identity provider configuration.
func (*IdpConfig) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type IdpConfigAuthorizationEndpoint_0 ¶
type IdpConfigAuthorizationEndpoint_0 *string
type IdpConfigExchangeEndpoint_0 ¶
type IdpConfigExchangeEndpoint_0 *string
type IdpConfigHostedDomain_0 ¶
type IdpConfigHostedDomain_0 *string
type IdpConfigUserinfoEndpoint_0 ¶
type IdpConfigUserinfoEndpoint_0 *string
type IngestConfig ¶
type IngestConfig struct {
// Egress corresponds to the JSON schema field "egress".
Egress *EgressConfig `json:"egress,omitempty,omitzero" yaml:"egress,omitempty" mapstructure:"egress,omitempty"`
// FetchTimeoutS corresponds to the JSON schema field "fetch_timeout_s".
FetchTimeoutS float64 `json:"fetch_timeout_s,omitempty,omitzero" yaml:"fetch_timeout_s,omitempty" mapstructure:"fetch_timeout_s,omitempty"`
// MaxRedirects corresponds to the JSON schema field "max_redirects".
MaxRedirects int `json:"max_redirects,omitempty,omitzero" yaml:"max_redirects,omitempty" mapstructure:"max_redirects,omitempty"`
// MaxSpecBytes corresponds to the JSON schema field "max_spec_bytes".
MaxSpecBytes int `json:"max_spec_bytes,omitempty,omitzero" yaml:"max_spec_bytes,omitempty" mapstructure:"max_spec_bytes,omitempty"`
}
Spec ingestion settings (fetch limits, timeouts, egress policy).
func (*IngestConfig) UnmarshalJSON ¶
func (j *IngestConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type JwtVerificationConfig ¶
type JwtVerificationConfig struct {
// Audience corresponds to the JSON schema field "audience".
Audience interface{} `json:"audience,omitempty,omitzero" yaml:"audience,omitempty" mapstructure:"audience,omitempty"`
// LeewayS corresponds to the JSON schema field "leeway_s".
LeewayS float64 `json:"leeway_s,omitempty,omitzero" yaml:"leeway_s,omitempty" mapstructure:"leeway_s,omitempty"`
// TrustedIssuers corresponds to the JSON schema field "trusted_issuers".
TrustedIssuers []TrustedIssuerConfig `json:"trusted_issuers,omitempty,omitzero" yaml:"trusted_issuers,omitempty" mapstructure:"trusted_issuers,omitempty"`
}
Hardened inbound-JWT verification for the broker edge (§08 E1).
When “trusted_issuers“ is non-empty the broker verifies self-contained JWTs against the issuers' published JWKS (asymmetric, key-rotation-aware) and enforces “iss“ (trusted set), “aud“ (“audience“), and “exp“/“nbf“ with “leeway_s“ clock-skew. Empty (the default) leaves the asymmetric path off — the legacy HS256 “broker.jwt_secret“ path (dev/test) still applies.
func (*JwtVerificationConfig) UnmarshalJSON ¶
func (j *JwtVerificationConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type JwtVerificationConfigAudience_0 ¶
type JwtVerificationConfigAudience_0 *string
type LoggingConfig ¶
type LoggingConfig struct {
// FileBackupCount corresponds to the JSON schema field "file_backup_count".
FileBackupCount int `json:"file_backup_count,omitempty,omitzero" yaml:"file_backup_count,omitempty" mapstructure:"file_backup_count,omitempty"`
// FileDir corresponds to the JSON schema field "file_dir".
FileDir string `json:"file_dir,omitempty,omitzero" yaml:"file_dir,omitempty" mapstructure:"file_dir,omitempty"`
// FileEnabled corresponds to the JSON schema field "file_enabled".
FileEnabled bool `json:"file_enabled,omitempty,omitzero" yaml:"file_enabled,omitempty" mapstructure:"file_enabled,omitempty"`
// FileMaxBytes corresponds to the JSON schema field "file_max_bytes".
FileMaxBytes int `json:"file_max_bytes,omitempty,omitzero" yaml:"file_max_bytes,omitempty" mapstructure:"file_max_bytes,omitempty"`
// FileName corresponds to the JSON schema field "file_name".
FileName string `json:"file_name,omitempty,omitzero" yaml:"file_name,omitempty" mapstructure:"file_name,omitempty"`
}
File logging sink (in addition to stdout).
func (*LoggingConfig) UnmarshalJSON ¶
func (j *LoggingConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type MetricsConfig ¶
type MetricsConfig struct {
// ExportIntervalSeconds corresponds to the JSON schema field
// "export_interval_seconds".
ExportIntervalSeconds int `` /* 139-byte string literal not displayed */
// Exporter corresponds to the JSON schema field "exporter".
Exporter MetricsConfigExporter `json:"exporter,omitempty,omitzero" yaml:"exporter,omitempty" mapstructure:"exporter,omitempty"`
}
Metrics exporter configuration.
func (*MetricsConfig) UnmarshalJSON ¶
func (j *MetricsConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type MetricsConfigExporter ¶
type MetricsConfigExporter string
const MetricsConfigExporterNone MetricsConfigExporter = "none"
const MetricsConfigExporterOtlp MetricsConfigExporter = "otlp"
const MetricsConfigExporterPrometheus MetricsConfigExporter = "prometheus"
func (*MetricsConfigExporter) UnmarshalJSON ¶
func (j *MetricsConfigExporter) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ObservabilityConfig ¶
type ObservabilityConfig struct {
// Metrics corresponds to the JSON schema field "metrics".
Metrics *MetricsConfig `json:"metrics,omitempty,omitzero" yaml:"metrics,omitempty" mapstructure:"metrics,omitempty"`
// Tracing corresponds to the JSON schema field "tracing".
Tracing *TracingConfig `json:"tracing,omitempty,omitzero" yaml:"tracing,omitempty" mapstructure:"tracing,omitempty"`
}
Observability settings (metrics, tracing knobs).
type PipedreamProviderConfig ¶
type PipedreamProviderConfig struct {
// ClientId corresponds to the JSON schema field "client_id".
ClientId string `json:"client_id" yaml:"client_id" mapstructure:"client_id"`
// ClientSecret corresponds to the JSON schema field "client_secret".
ClientSecret string `json:"client_secret" yaml:"client_secret" mapstructure:"client_secret"`
// ConnectBaseUrl corresponds to the JSON schema field "connect_base_url".
ConnectBaseUrl string `json:"connect_base_url,omitempty,omitzero" yaml:"connect_base_url,omitempty" mapstructure:"connect_base_url,omitempty"`
// Environment corresponds to the JSON schema field "environment".
Environment PipedreamProviderConfigEnvironment `json:"environment,omitempty,omitzero" yaml:"environment,omitempty" mapstructure:"environment,omitempty"`
// ExpirySkewSeconds corresponds to the JSON schema field "expiry_skew_seconds".
ExpirySkewSeconds int `` /* 127-byte string literal not displayed */
// Kind corresponds to the JSON schema field "kind".
Kind string `json:"kind,omitempty,omitzero" yaml:"kind,omitempty" mapstructure:"kind,omitempty"`
// ProjectId corresponds to the JSON schema field "project_id".
ProjectId string `json:"project_id" yaml:"project_id" mapstructure:"project_id"`
}
Configuration for a Pipedream-hosted OAuth provider (full settings land in M6).
func (*PipedreamProviderConfig) UnmarshalJSON ¶
func (j *PipedreamProviderConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type PipedreamProviderConfigEnvironment ¶
type PipedreamProviderConfigEnvironment string
const PipedreamProviderConfigEnvironmentDevelopment PipedreamProviderConfigEnvironment = "development"
const PipedreamProviderConfigEnvironmentProduction PipedreamProviderConfigEnvironment = "production"
func (*PipedreamProviderConfigEnvironment) UnmarshalJSON ¶
func (j *PipedreamProviderConfigEnvironment) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type RateLimitConfig ¶
type RateLimitConfig struct {
// Burst corresponds to the JSON schema field "burst".
Burst int `json:"burst,omitempty,omitzero" yaml:"burst,omitempty" mapstructure:"burst,omitempty"`
// DefaultRpm corresponds to the JSON schema field "default_rpm".
DefaultRpm int `json:"default_rpm,omitempty,omitzero" yaml:"default_rpm,omitempty" mapstructure:"default_rpm,omitempty"`
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
}
Per-caller token-bucket rate limit (§05 R2).
Keyed on the resolved “actor_id“ and enforced in a post-auth dependency (the actor isn't known at admission time, so this can't be a plain pre-auth middleware). The token bucket itself lives on the shared-state backend (“RateLimitStore“); with the memory backend the limit is per-instance, with Redis (§06) it is cluster-wide — no call-site change.
func (*RateLimitConfig) UnmarshalJSON ¶
func (j *RateLimitConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ReleaseCheckConfig ¶
type ReleaseCheckConfig struct {
// CacheTtlSeconds corresponds to the JSON schema field "cache_ttl_seconds".
CacheTtlSeconds int `json:"cache_ttl_seconds,omitempty,omitzero" yaml:"cache_ttl_seconds,omitempty" mapstructure:"cache_ttl_seconds,omitempty"`
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Repo corresponds to the JSON schema field "repo".
Repo string `json:"repo,omitempty,omitzero" yaml:"repo,omitempty" mapstructure:"repo,omitempty"`
}
"Update available" check for the running jentic-one build itself.
Powers “GET /system/version“: the backend asks GitHub for the newest published release of “repo“ and compares it against the running build so the web console can surface an "update available" banner (and the user menu can always show the current version). This is about *jentic-one's own* release — distinct from “CatalogConfig“, which tracks the public *API catalog*.
Runs only on a “local“ backend (a self-hosted install the operator can actually update); the hosted platform (“server.backend == "remote"“) skips it. The result is cached in-process for “cache_ttl_seconds“ (fetch-on-read, no background job), so at most one GitHub request happens per TTL regardless of how many clients poll. Every failure degrades to "latest unknown" (no banner) rather than erroring — the version probe must never break the app.
func (*ReleaseCheckConfig) UnmarshalJSON ¶
func (j *ReleaseCheckConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type RetryConfig ¶
type RetryConfig struct {
// BaseBackoffS corresponds to the JSON schema field "base_backoff_s".
BaseBackoffS float64 `json:"base_backoff_s,omitempty,omitzero" yaml:"base_backoff_s,omitempty" mapstructure:"base_backoff_s,omitempty"`
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// MaxAttempts corresponds to the JSON schema field "max_attempts".
MaxAttempts int `json:"max_attempts,omitempty,omitzero" yaml:"max_attempts,omitempty" mapstructure:"max_attempts,omitempty"`
// MaxBackoffS corresponds to the JSON schema field "max_backoff_s".
MaxBackoffS float64 `json:"max_backoff_s,omitempty,omitzero" yaml:"max_backoff_s,omitempty" mapstructure:"max_backoff_s,omitempty"`
// RetryStatuses corresponds to the JSON schema field "retry_statuses".
RetryStatuses []int `json:"retry_statuses,omitempty,omitzero" yaml:"retry_statuses,omitempty" mapstructure:"retry_statuses,omitempty"`
}
Idempotency-aware upstream retry (§09 E4.1).
The “RetryRunner“ decorator retries a failed attempt **only** when it is safe to do so: a connect-phase failure (no bytes on the wire) is retryable for any method, while a post-send failure (read timeout, mirrored “429“/ “503“) is retried only for idempotent methods or when an “Idempotency-Key“ is present — a blind “POST“ retry is a double-spend. Each attempt still flows through the circuit breaker (retry *outside*, breaker *inside*); the whole loop is bounded by the request deadline.
func (*RetryConfig) UnmarshalJSON ¶
func (j *RetryConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type RuntimeConfig ¶
type RuntimeConfig struct {
// Debug corresponds to the JSON schema field "debug".
Debug bool `json:"debug,omitempty,omitzero" yaml:"debug,omitempty" mapstructure:"debug,omitempty"`
// LogLevel corresponds to the JSON schema field "log_level".
LogLevel string `json:"log_level,omitempty,omitzero" yaml:"log_level,omitempty" mapstructure:"log_level,omitempty"`
// MaintenanceMode corresponds to the JSON schema field "maintenance_mode".
MaintenanceMode bool `json:"maintenance_mode,omitempty,omitzero" yaml:"maintenance_mode,omitempty" mapstructure:"maintenance_mode,omitempty"`
}
Hot-reloadable runtime flags.
func (*RuntimeConfig) UnmarshalJSON ¶
func (j *RuntimeConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SearchConfig ¶
type SearchConfig struct {
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// SearchEnabled corresponds to the JSON schema field "search_enabled".
SearchEnabled bool `json:"search_enabled,omitempty,omitzero" yaml:"search_enabled,omitempty" mapstructure:"search_enabled,omitempty"`
// SearchMode corresponds to the JSON schema field "search_mode".
SearchMode string `json:"search_mode,omitempty,omitzero" yaml:"search_mode,omitempty" mapstructure:"search_mode,omitempty"`
}
Search configuration.
The built-in mode is "lexical" (BM25 on SQLite, native full-text on PostgreSQL). “search_mode“ is validated against the registered SearchStrategy set at resolve time (“resolve_strategy“), so an unknown mode fails loudly with the available modes for the active dialect rather than at config load. Additional modes (e.g. "semantic", "vector") can be registered via “register_strategy“ without editing this schema.
func (*SearchConfig) UnmarshalJSON ¶
func (j *SearchConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SecurityConfig ¶
type SecurityConfig struct {
// AuthFailureEventThreshold corresponds to the JSON schema field
// "auth_failure_event_threshold".
AuthFailureEventThreshold int `` /* 154-byte string literal not displayed */
// CredentialExpiringSoonWindowH corresponds to the JSON schema field
// "credential_expiring_soon_window_h".
CredentialExpiringSoonWindowH int `` /* 169-byte string literal not displayed */
// CredentialExpirySweepIntervalTicks corresponds to the JSON schema field
// "credential_expiry_sweep_interval_ticks".
CredentialExpirySweepIntervalTicks int `` /* 184-byte string literal not displayed */
// ExecutionRepeatedFailureCriticalThreshold corresponds to the JSON schema field
// "execution_repeated_failure_critical_threshold".
ExecutionRepeatedFailureCriticalThreshold int `` /* 205-byte string literal not displayed */
// ExecutionRepeatedFailureThreshold corresponds to the JSON schema field
// "execution_repeated_failure_threshold".
ExecutionRepeatedFailureThreshold int `` /* 178-byte string literal not displayed */
// ExecutionRepeatedFailureWindowS corresponds to the JSON schema field
// "execution_repeated_failure_window_s".
ExecutionRepeatedFailureWindowS int `` /* 175-byte string literal not displayed */
}
Platform security event thresholds.
func (*SecurityConfig) UnmarshalJSON ¶
func (j *SecurityConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ServerConfig ¶
type ServerConfig struct {
// Backend corresponds to the JSON schema field "backend".
Backend ServerConfigBackend `json:"backend,omitempty,omitzero" yaml:"backend,omitempty" mapstructure:"backend,omitempty"`
// Host corresponds to the JSON schema field "host".
Host string `json:"host,omitempty,omitzero" yaml:"host,omitempty" mapstructure:"host,omitempty"`
// Port corresponds to the JSON schema field "port".
Port int `json:"port,omitempty,omitzero" yaml:"port,omitempty" mapstructure:"port,omitempty"`
// Reload corresponds to the JSON schema field "reload".
Reload bool `json:"reload,omitempty,omitzero" yaml:"reload,omitempty" mapstructure:"reload,omitempty"`
}
HTTP server settings.
func (*ServerConfig) UnmarshalJSON ¶
func (j *ServerConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ServerConfigBackend ¶
type ServerConfigBackend string
const ServerConfigBackendLocal ServerConfigBackend = "local"
const ServerConfigBackendRemote ServerConfigBackend = "remote"
func (*ServerConfigBackend) UnmarshalJSON ¶
func (j *ServerConfigBackend) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type ServicesConfig ¶
type ServicesConfig struct {
// RequestTimeoutS corresponds to the JSON schema field "request_timeout_s".
RequestTimeoutS float64 `json:"request_timeout_s,omitempty,omitzero" yaml:"request_timeout_s,omitempty" mapstructure:"request_timeout_s,omitempty"`
// RetryBackoffS corresponds to the JSON schema field "retry_backoff_s".
RetryBackoffS float64 `json:"retry_backoff_s,omitempty,omitzero" yaml:"retry_backoff_s,omitempty" mapstructure:"retry_backoff_s,omitempty"`
// RetryMax corresponds to the JSON schema field "retry_max".
RetryMax int `json:"retry_max,omitempty,omitzero" yaml:"retry_max,omitempty" mapstructure:"retry_max,omitempty"`
}
Service-level settings (immutable after boot).
func (*ServicesConfig) UnmarshalJSON ¶
func (j *ServicesConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type SigningKeyConfig ¶
type SigningKeyConfig struct {
// Kid corresponds to the JSON schema field "kid".
Kid string `json:"kid" yaml:"kid" mapstructure:"kid"`
// PrivateKeyPem corresponds to the JSON schema field "private_key_pem".
PrivateKeyPem string `json:"private_key_pem" yaml:"private_key_pem" mapstructure:"private_key_pem"`
}
A single ES256 signing key for ID token issuance.
func (*SigningKeyConfig) UnmarshalJSON ¶
func (j *SigningKeyConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type StateBackendConfig ¶
type StateBackendConfig struct {
// Backend corresponds to the JSON schema field "backend".
Backend BackendKind `json:"backend,omitempty,omitzero" yaml:"backend,omitempty" mapstructure:"backend,omitempty"`
// RedisKeyPrefix corresponds to the JSON schema field "redis_key_prefix".
RedisKeyPrefix string `json:"redis_key_prefix,omitempty,omitzero" yaml:"redis_key_prefix,omitempty" mapstructure:"redis_key_prefix,omitempty"`
// RedisUrl corresponds to the JSON schema field "redis_url".
RedisUrl interface{} `json:"redis_url,omitempty,omitzero" yaml:"redis_url,omitempty" mapstructure:"redis_url,omitempty"`
}
Configuration for :func:`build_state_backend`.
func (*StateBackendConfig) UnmarshalJSON ¶
func (j *StateBackendConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type StateBackendConfigRedisUrl_0 ¶
type StateBackendConfigRedisUrl_0 *string
type TelemetryConfig ¶
type TelemetryConfig struct {
// Enabled corresponds to the JSON schema field "enabled".
Enabled bool `json:"enabled,omitempty,omitzero" yaml:"enabled,omitempty" mapstructure:"enabled,omitempty"`
// Endpoint corresponds to the JSON schema field "endpoint".
Endpoint string `json:"endpoint,omitempty,omitzero" yaml:"endpoint,omitempty" mapstructure:"endpoint,omitempty"`
// FlushIntervalS corresponds to the JSON schema field "flush_interval_s".
FlushIntervalS float64 `json:"flush_interval_s,omitempty,omitzero" yaml:"flush_interval_s,omitempty" mapstructure:"flush_interval_s,omitempty"`
// HostOs corresponds to the JSON schema field "host_os".
HostOs interface{} `json:"host_os,omitempty,omitzero" yaml:"host_os,omitempty" mapstructure:"host_os,omitempty"`
// InstanceId corresponds to the JSON schema field "instance_id".
InstanceId interface{} `json:"instance_id,omitempty,omitzero" yaml:"instance_id,omitempty" mapstructure:"instance_id,omitempty"`
// MaxBatch corresponds to the JSON schema field "max_batch".
MaxBatch int `json:"max_batch,omitempty,omitzero" yaml:"max_batch,omitempty" mapstructure:"max_batch,omitempty"`
// QueueMax corresponds to the JSON schema field "queue_max".
QueueMax int `json:"queue_max,omitempty,omitzero" yaml:"queue_max,omitempty" mapstructure:"queue_max,omitempty"`
// RequestTimeoutS corresponds to the JSON schema field "request_timeout_s".
RequestTimeoutS float64 `json:"request_timeout_s,omitempty,omitzero" yaml:"request_timeout_s,omitempty" mapstructure:"request_timeout_s,omitempty"`
}
Anonymous product-telemetry settings (issue #446).
Defaults to **OFF**: an instance whose config omits this block (non-onboarded or hand-rolled) sends nothing. The onboarding CLI writes “enabled“ explicitly (a yes-default “[Y]/n“ prompt) so the on-by-default UX lives in the prompt, not the code default. “instance_id“ seeds the durable admin-DB identity row on first startup for opted-in instances. “host_os“ is the operator's OS family, stamped by the CLI at install time so a Docker-run instance reports the host's OS rather than the container's; sent once per boot, on the “instance_booted“ event.
func (*TelemetryConfig) UnmarshalJSON ¶
func (j *TelemetryConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TelemetryConfigHostOs_0 ¶
type TelemetryConfigHostOs_0 *string
type TelemetryConfigInstanceId_0 ¶
type TelemetryConfigInstanceId_0 *string
type TracingConfig ¶
type TracingConfig struct {
// Exporter corresponds to the JSON schema field "exporter".
Exporter TracingConfigExporter `json:"exporter,omitempty,omitzero" yaml:"exporter,omitempty" mapstructure:"exporter,omitempty"`
}
Tracing exporter configuration.
func (*TracingConfig) UnmarshalJSON ¶
func (j *TracingConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TracingConfigExporter ¶
type TracingConfigExporter string
const TracingConfigExporterNone TracingConfigExporter = "none"
const TracingConfigExporterOtlp TracingConfigExporter = "otlp"
func (*TracingConfigExporter) UnmarshalJSON ¶
func (j *TracingConfigExporter) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type TrustedIssuerConfig ¶
type TrustedIssuerConfig struct {
// Algorithms corresponds to the JSON schema field "algorithms".
Algorithms []string `json:"algorithms,omitempty,omitzero" yaml:"algorithms,omitempty" mapstructure:"algorithms,omitempty"`
// Issuer corresponds to the JSON schema field "issuer".
Issuer string `json:"issuer" yaml:"issuer" mapstructure:"issuer"`
// JwksUrl corresponds to the JSON schema field "jwks_url".
JwksUrl string `json:"jwks_url" yaml:"jwks_url" mapstructure:"jwks_url"`
}
A single trusted token issuer (IdP) and where to fetch its public keys.
The verifier holds one JWKS client per issuer; an unknown “kid“ triggers a bounded re-fetch (key rotation picked up without a restart). “algorithms“ is the per-issuer asymmetric allowlist — HMAC/“none“ are rejected here so an issuer can't be downgraded to a symmetric/forgeable signature.
func (*TrustedIssuerConfig) UnmarshalJSON ¶
func (j *TrustedIssuerConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type UpstreamClientConfig ¶
type UpstreamClientConfig struct {
// ConnectTimeoutS corresponds to the JSON schema field "connect_timeout_s".
ConnectTimeoutS float64 `json:"connect_timeout_s,omitempty,omitzero" yaml:"connect_timeout_s,omitempty" mapstructure:"connect_timeout_s,omitempty"`
// Http2 corresponds to the JSON schema field "http2".
Http2 bool `json:"http2,omitempty,omitzero" yaml:"http2,omitempty" mapstructure:"http2,omitempty"`
// MaxConnections corresponds to the JSON schema field "max_connections".
MaxConnections int `json:"max_connections,omitempty,omitzero" yaml:"max_connections,omitempty" mapstructure:"max_connections,omitempty"`
// MaxKeepalive corresponds to the JSON schema field "max_keepalive".
MaxKeepalive int `json:"max_keepalive,omitempty,omitzero" yaml:"max_keepalive,omitempty" mapstructure:"max_keepalive,omitempty"`
// MaxPerHost corresponds to the JSON schema field "max_per_host".
MaxPerHost int `json:"max_per_host,omitempty,omitzero" yaml:"max_per_host,omitempty" mapstructure:"max_per_host,omitempty"`
// MaxRequestBytes corresponds to the JSON schema field "max_request_bytes".
MaxRequestBytes int `json:"max_request_bytes,omitempty,omitzero" yaml:"max_request_bytes,omitempty" mapstructure:"max_request_bytes,omitempty"`
// MaxRequestBytesByType corresponds to the JSON schema field
// "max_request_bytes_by_type".
MaxRequestBytesByType UpstreamClientConfigMaxRequestBytesByType `` /* 145-byte string literal not displayed */
// MaxResponseBytes corresponds to the JSON schema field "max_response_bytes".
MaxResponseBytes int `json:"max_response_bytes,omitempty,omitzero" yaml:"max_response_bytes,omitempty" mapstructure:"max_response_bytes,omitempty"`
// PoolTimeoutS corresponds to the JSON schema field "pool_timeout_s".
PoolTimeoutS float64 `json:"pool_timeout_s,omitempty,omitzero" yaml:"pool_timeout_s,omitempty" mapstructure:"pool_timeout_s,omitempty"`
// ReadTimeoutS corresponds to the JSON schema field "read_timeout_s".
ReadTimeoutS float64 `json:"read_timeout_s,omitempty,omitzero" yaml:"read_timeout_s,omitempty" mapstructure:"read_timeout_s,omitempty"`
// StreamPassthroughEnabled corresponds to the JSON schema field
// "stream_passthrough_enabled".
StreamPassthroughEnabled bool `` /* 148-byte string literal not displayed */
// TransferDeadlineS corresponds to the JSON schema field "transfer_deadline_s".
TransferDeadlineS float64 `` /* 127-byte string literal not displayed */
// WriteTimeoutS corresponds to the JSON schema field "write_timeout_s".
WriteTimeoutS float64 `json:"write_timeout_s,omitempty,omitzero" yaml:"write_timeout_s,omitempty" mapstructure:"write_timeout_s,omitempty"`
}
Bounds for the single shared outbound “httpx.AsyncClient“ (§04, PR-B).
The timeouts are httpx semantics: “read_timeout_s“ is the *between-bytes* gap timeout (per read), **not** a whole-stream cap — a trickle that keeps sending under the limit can hold a pool slot open. The overall transfer deadline is owned by the response-streaming guard (§08/E2.4), not here.
func (*UpstreamClientConfig) UnmarshalJSON ¶
func (j *UpstreamClientConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.
type WorkerConfig ¶
type WorkerConfig struct {
// DrainTimeoutS corresponds to the JSON schema field "drain_timeout_s".
DrainTimeoutS float64 `json:"drain_timeout_s,omitempty,omitzero" yaml:"drain_timeout_s,omitempty" mapstructure:"drain_timeout_s,omitempty"`
// MaxAttempts corresponds to the JSON schema field "max_attempts".
MaxAttempts int `json:"max_attempts,omitempty,omitzero" yaml:"max_attempts,omitempty" mapstructure:"max_attempts,omitempty"`
// RetryBackoffBaseS corresponds to the JSON schema field "retry_backoff_base_s".
RetryBackoffBaseS float64 `` /* 130-byte string literal not displayed */
// RetryBackoffMaxS corresponds to the JSON schema field "retry_backoff_max_s".
RetryBackoffMaxS float64 `` /* 127-byte string literal not displayed */
// VisibilityTimeoutS corresponds to the JSON schema field "visibility_timeout_s".
VisibilityTimeoutS float64 `` /* 130-byte string literal not displayed */
}
Background job-worker durability knobs (§09 E4.2).
The worker claims a job, sets a **visibility deadline** (“visibility_timeout_s“ from claim), and processes it. A job left “RUNNING“ past that deadline by a crashed worker/pod is reclaimed on a later poll. A handler failure requeues the job with capped exponential backoff up to “max_attempts“ claims; beyond that it is dead-lettered (poison-message handling) rather than looped forever.
func (*WorkerConfig) UnmarshalJSON ¶
func (j *WorkerConfig) UnmarshalJSON(value []byte) error
UnmarshalJSON implements json.Unmarshaler.