Versions in this module Expand all Collapse all v1 v1.2.0 Apr 22, 2026 Changes in this version type CertConfig + URI []string v1.1.0 Apr 22, 2026 v1.0.0 Mar 2, 2026 Changes in this version + func DeleteGroup(ctx context.Context, loader *Loader, tenant, key string) error + func GetGroups(ctx context.Context, loader *Loader, tenant string) (map[string]GroupConfig, error) + func HashInfraConfig(cfg MergedConfig) string + func HashRuntimeConfig(cfg MergedConfig) string + func IntPtr(i int) *int + func RegisterCustomValidators(v *validator.Validate) error + func UpsertGroup(ctx context.Context, loader *Loader, tenant, key string, group GroupConfig) error + type AdvertiseConfig struct + AgentAddr string + ElectionAddr string + HealthAddr string + OperatorAddr string + RegistrationAddr string + type BindConfig struct + AgentAddr string + ElectionAddr string + HealthAddr string + OperatorAddr string + RegistrationAddr string + type CertConfig struct + CN *string + Country []string + DNS []string + IP []string + Kind string + Locality []string + Organization []string + PostalCode []string + Province []string + Street []string + TTL int + type ClusterConfig struct + ID string + LeaderElection LeaderElectionConfig + Secrets SecretsConfig + Storage *ClusterStorageConfig + type ClusterStorageConfig struct + Bucket string + Endpoint string + Prefix string + Provider string + Region string + type Config struct + Certificates map[string]CertConfig + Cluster ClusterConfig + Defaults DefaultsConfig + Groups map[string]map[string]GroupConfig + Images map[string]ImageConfig + LoadBalancers map[string]LoadBalancerConfig + Shard ShardConfig + Templates map[string]TemplateConfig + func ParseBytes(data []byte) (*Config, error) + func ValidateFile(filePath string) (*Config, error) + func (c *Config) Clone() (*Config, error) + func (c *Config) GetMergedConfig(template string, groupConfig GroupConfig) (*MergedConfig, error) + func (c *Config) GetShardStoragePrefix() string + func (c *Config) IsClusterLeaderElectionEnabled() bool + func (c *Config) IsShardLeaderElectionEnabled() bool + func (c *Config) ResolveSubnetKey(key string) ([]string, error) + func (c *Config) SetDefaults() + func (c *Config) Validate() error + func (c *Config) ValidateDynamicSubnetKey(key string) error + func (c *Config) ValidateSubnetConfig() error + type ConfigMetadata struct + ETag string + LastModified time.Time + Size int64 + type DefaultsConfig struct + Args map[string]interface{} + Userdata *UserdataConfig + Vars map[string]string + type Duration time.Duration + func (d *Duration) UnmarshalJSON(b []byte) error + func (d Duration) Duration() time.Duration + func (d Duration) MarshalJSON() ([]byte, error) + type EncryptionKeyConfig struct + Options map[string]interface{} + Provider string + Source string + type ErrorExitJitterConfig struct + MaxDelay Duration + MinDelay Duration + type ExpiryConfig struct + EligibleAge Duration + ForcedAge Duration + OndemandAge Duration + type FileConfig struct + Key *KeyConfig + Kind string + Source string + Template interface{} + type GarbageCollectionConfig struct + DeletedRecordRetention Duration + Interval Duration + RegistrationTimeout Duration + type GroupConfig struct + Args map[string]interface{} + DrainTimeout *Duration + InstanceType string + LoadBalancers []string + Size *int + SubnetPool string + Template string + Vars map[string]string + func GetGroup(ctx context.Context, loader *Loader, tenant, key string) (*GroupConfig, error) + func (g GroupConfig) GetSize() int + type ImageConfig struct + Fallback *string + Filters []ImageFilter + Order string + Owners []string + Provider string + Sort string + type ImageFilter struct + Name string + Values []string + type InfraConfig struct + Options map[string]interface{} + Provider string + Region string + Zone string + type InstanceConfig struct + Group string + InstanceType string + SubnetPool string + Template string + Vars map[string]string + type KeyConfig struct + Name string + Source string + type LeaderElectionConfig struct + Enabled *bool + FrequentInterval Duration + InfrequentInterval Duration + LeaderTimeout Duration + type LeaderNetworkConfig struct + IP string + InterfaceID string + type LoadBalancerConfig struct + BackendServiceName *string + InstanceGroupName *string + Provider string + TargetGroupArns []string + type Loader struct + func NewLoader(opts LoaderOptions) (*Loader, error) + func (l *Loader) CleanCache(ctx context.Context) error + func (l *Loader) DeleteDynamicGroup(ctx context.Context, tenant, key string) error + func (l *Loader) GetCurrent() *Config + func (l *Loader) GetDynamicGroup(tenant, key string) (GroupConfig, bool) + func (l *Loader) GetMetadata() *ConfigMetadata + func (l *Loader) LoadConfigAndGroups(ctx context.Context, forceRefresh bool) (*Config, error) + func (l *Loader) LoadDynamicGroups(ctx context.Context) (map[string]map[string]GroupConfig, error) + func (l *Loader) RefreshGroups(ctx context.Context) error + func (l *Loader) SetConfig(config *Config) + func (l *Loader) SetDynamicGroup(ctx context.Context, tenant, key string, group GroupConfig) error + func (l *Loader) SyncGroupsToCache(ctx context.Context) error + type LoaderOptions struct + AdvertiseHost string + CacheStorage storage.Storage + LocalDB *localdb.DB + Logger *slog.Logger + MaxRetries *int + Storage storage.Storage + type MergedConfig struct + Arch string + Args map[string]interface{} + Files map[string]FileConfig + InstanceType string + Kind string + SubnetPool string + Userdata *UserdataConfig + Vars map[string]string + type SecretsConfig struct + CacheTTL Duration + EncryptionKey *EncryptionKeyConfig + OldEncryptionKeys []EncryptionKeyConfig + Prefix string + Provider string + type ShardConfig struct + Advertise AdvertiseConfig + Bind BindConfig + CreateRateLimit Duration + DefaultDrainTimeout Duration + DynamicSubnetPools []string + ErrorExitJitter ErrorExitJitterConfig + Expiry ExpiryConfig + GarbageCollection GarbageCollectionConfig + HealthCheckInterval Duration + ID string + ImageRefreshInterval Duration + Infra InfraConfig + LeaderElection LeaderElectionConfig + LeaderNetwork *LeaderNetworkConfig + RequestTimeout Duration + ShutdownTimeout Duration + SubnetPools map[string][]string + type TemplateConfig struct + Arch string + Args map[string]interface{} + Files map[string]FileConfig + InstanceType string + Kind string + Size int + SubnetPool string + Userdata *UserdataConfig + Vars map[string]string + type TenantGroup struct + Config GroupConfig + Key string + Tenant string + func GetAllGroups(ctx context.Context, loader *Loader) ([]TenantGroup, error) + type UserdataConfig struct + Content string + Encoding string + Source string + func (u *UserdataConfig) Validate() error