integrations

package
v1.203.0 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KindAWSECR = "aws/ecr"
	KindAWSEKS = "aws/eks" // Future.
)

Integration kind constants.

Variables

This section is empty.

Functions

func IsRegistered

func IsRegistered(kind string) bool

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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