rotation

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetMaxActiveKeys

func GetMaxActiveKeys(provider string) int

GetMaxActiveKeys returns the maximum number of active keys Returns -1 for unlimited, 0 for unknown

func GetRecommendedStrategy

func GetRecommendedStrategy(provider string) (string, error)

GetRecommendedStrategy returns the best strategy for a provider

func ListProviders

func ListProviders() []string

ListProviders returns all known providers

func SupportsStrategy

func SupportsStrategy(provider, strategy string) bool

SupportsStrategy checks if a provider supports a specific strategy

func ValidateProviderStrategy

func ValidateProviderStrategy(provider, strategy string) error

ValidateProviderStrategy checks if a provider can use a specific strategy

Types

type CapabilitiesRegistry

type CapabilitiesRegistry struct {
	Providers  map[string]ProviderCapability `yaml:"providers"`
	Strategies map[string]StrategyDefinition `yaml:"strategies"`
}

CapabilitiesRegistry holds all provider capabilities and strategy definitions

func LoadCapabilities

func LoadCapabilities() (*CapabilitiesRegistry, error)

LoadCapabilities loads the embedded capabilities YAML

type ProviderCapability

type ProviderCapability struct {
	DisplayName           string   `yaml:"display_name"`
	MaxActiveKeys         string   `yaml:"max_active_keys"` // Can be number or "unlimited"
	SupportsExpiration    bool     `yaml:"supports_expiration"`
	SupportsVersioning    bool     `yaml:"supports_versioning"`
	SupportsRevocation    bool     `yaml:"supports_revocation"`
	RotationAPI           bool     `yaml:"rotation_api"`
	RecommendedStrategies []string `yaml:"recommended_strategies"`
	VerifiedDate          string   `yaml:"verified_date"`
	Documentation         string   `yaml:"documentation"`
	Notes                 string   `yaml:"notes"`
}

ProviderCapability represents the rotation capabilities of a provider

func GetProviderCapability

func GetProviderCapability(provider string) (*ProviderCapability, error)

GetProviderCapability returns the capability for a specific provider

type StrategyDefinition

type StrategyDefinition struct {
	Name         string   `yaml:"name"`
	Description  string   `yaml:"description"`
	DowntimeRisk string   `yaml:"downtime_risk"`
	Complexity   string   `yaml:"complexity"`
	Requirements []string `yaml:"requirements"`
}

StrategyDefinition describes a rotation strategy

func GetStrategyDefinition

func GetStrategyDefinition(strategy string) (*StrategyDefinition, error)

GetStrategyDefinition returns information about a strategy

Directories

Path Synopsis
Package gradual provides gradual rollout strategies for rotation operations.
Package gradual provides gradual rollout strategies for rotation operations.
discovery
Package discovery provides instance discovery for gradual rollout.
Package discovery provides instance discovery for gradual rollout.
Package health provides health monitoring functionality for rotation operations.
Package health provides health monitoring functionality for rotation operations.
Package notifications provides notification infrastructure for rotation events.
Package notifications provides notification infrastructure for rotation events.
Package rollback provides automatic and manual rollback functionality for rotation operations.
Package rollback provides automatic and manual rollback functionality for rotation operations.

Jump to

Keyboard shortcuts

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