Documentation
¶
Index ¶
Constants ¶
const ( KindAWSECR = "aws/ecr" KindAWSEKS = "aws/eks" // Future. )
Integration kind constants.
Variables ¶
This section is empty.
Functions ¶
func IsRegistered ¶
IsRegistered checks if an integration kind is registered.
func ListKinds ¶
func ListKinds() []string
ListKinds returns all registered integration kinds in sorted order.
func Register ¶
func Register(kind string, factory IntegrationFactory)
Register adds an integration factory for a kind. This should be called from init() functions in integration packages. Panics if kind is empty or factory is nil to catch configuration errors early.
Types ¶
type Integration ¶
type Integration interface {
// Kind returns the integration type (e.g., "aws/ecr").
Kind() string
// Execute performs the integration using the provided AWS credentials.
// Returns nil on success, error on failure.
Execute(ctx context.Context, creds types.ICredentials) error
}
Integration represents a client-only credential materialization. Integrations derive credentials from identities for service-specific access (e.g., ECR docker login, EKS kubeconfig).
func Create ¶
func Create(config *IntegrationConfig) (Integration, error)
Create instantiates an integration from config.
type IntegrationConfig ¶
type IntegrationConfig struct {
Name string
Config *schema.Integration
}
IntegrationConfig wraps the schema.Integration with the integration name.
type IntegrationFactory ¶
type IntegrationFactory func(config *IntegrationConfig) (Integration, error)
IntegrationFactory creates integrations from configuration.