scope

package
v0.7.1 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateLinodeClient

func CreateLinodeClient(config ClientConfig, opts ...Option) (LinodeClient, error)

func GetHash added in v0.6.4

func GetHash(key string) string

GetHash returns sha256 hash of input string

Types

type ClientConfig added in v0.6.0

type ClientConfig struct {
	Token               string
	BaseUrl             string
	RootCertificatePath string

	Timeout time.Duration
}

type ClusterScope

type ClusterScope struct {
	Client              K8sClient
	PatchHelper         *patch.Helper
	LinodeClient        LinodeClient
	Cluster             *clusterv1.Cluster
	LinodeCluster       *infrav1alpha2.LinodeCluster
	LinodeMachines      infrav1alpha2.LinodeMachineList
	AkamaiDomainsClient AkamClient
	LinodeDomainsClient LinodeClient
}

ClusterScope defines the basic context for an actuator to operate upon.

func NewClusterScope

func NewClusterScope(ctx context.Context, linodeClientConfig, dnsClientConfig ClientConfig, params ClusterScopeParams) (*ClusterScope, error)

NewClusterScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ClusterScope) AddCredentialsRefFinalizer added in v0.2.0

func (s *ClusterScope) AddCredentialsRefFinalizer(ctx context.Context) error

func (*ClusterScope) AddFinalizer

func (s *ClusterScope) AddFinalizer(ctx context.Context) error

AddFinalizer adds a finalizer if not present and immediately patches the object to avoid any race conditions.

func (*ClusterScope) Close

func (s *ClusterScope) Close(ctx context.Context) error

Close closes the current scope persisting the cluster configuration and status.

func (*ClusterScope) PatchObject

func (s *ClusterScope) PatchObject(ctx context.Context) error

PatchObject persists the cluster configuration and status.

func (*ClusterScope) RemoveCredentialsRefFinalizer added in v0.2.0

func (s *ClusterScope) RemoveCredentialsRefFinalizer(ctx context.Context) error

func (*ClusterScope) SetCredentialRefTokenForLinodeClients added in v0.6.3

func (s *ClusterScope) SetCredentialRefTokenForLinodeClients(ctx context.Context) error

type ClusterScopeParams

type ClusterScopeParams struct {
	Client            K8sClient
	Cluster           *clusterv1.Cluster
	LinodeCluster     *infrav1alpha2.LinodeCluster
	LinodeMachineList infrav1alpha2.LinodeMachineList
}

ClusterScopeParams defines the input parameters used to create a new Scope.

type FirewallScope added in v0.6.1

type FirewallScope struct {
	Client K8sClient

	PatchHelper    *patch.Helper
	LinodeClient   LinodeClient
	LinodeFirewall *infrav1alpha2.LinodeFirewall
}

FirewallScope defines the basic context for an actuator to operate upon.

func NewFirewallScope added in v0.6.1

func NewFirewallScope(ctx context.Context, linodeClientConfig ClientConfig, params FirewallScopeParams) (*FirewallScope, error)

NewFirewallScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*FirewallScope) AddCredentialsRefFinalizer added in v0.6.1

func (s *FirewallScope) AddCredentialsRefFinalizer(ctx context.Context) error

func (*FirewallScope) AddFinalizer added in v0.6.1

func (s *FirewallScope) AddFinalizer(ctx context.Context) error

AddFinalizer adds a finalizer if not present and immediately patches the object to avoid any race conditions.

func (*FirewallScope) Close added in v0.6.1

func (s *FirewallScope) Close(ctx context.Context) error

Close closes the current scope persisting the machine configuration and status.

func (*FirewallScope) PatchObject added in v0.6.1

func (s *FirewallScope) PatchObject(ctx context.Context) error

PatchObject persists the machine configuration and status.

func (*FirewallScope) RemoveCredentialsRefFinalizer added in v0.6.1

func (s *FirewallScope) RemoveCredentialsRefFinalizer(ctx context.Context) error

func (*FirewallScope) SetCredentialRefTokenForLinodeClients added in v0.6.3

func (s *FirewallScope) SetCredentialRefTokenForLinodeClients(ctx context.Context) error

type FirewallScopeParams added in v0.6.1

type FirewallScopeParams struct {
	Client         K8sClient
	LinodeFirewall *infrav1alpha2.LinodeFirewall
}

FirewallScopeParams defines the input parameters used to create a new Scope.

type MachineScope

type MachineScope struct {
	Client        K8sClient
	PatchHelper   *patch.Helper
	Cluster       *clusterv1.Cluster
	Machine       *clusterv1.Machine
	TokenHash     string
	LinodeClient  LinodeClient
	LinodeCluster *infrav1alpha2.LinodeCluster
	LinodeMachine *infrav1alpha2.LinodeMachine
}

func NewMachineScope

func NewMachineScope(ctx context.Context, linodeClientConfig ClientConfig, params MachineScopeParams) (*MachineScope, error)

func (*MachineScope) AddCredentialsRefFinalizer added in v0.2.0

func (s *MachineScope) AddCredentialsRefFinalizer(ctx context.Context) error

func (*MachineScope) AddFinalizer

func (s *MachineScope) AddFinalizer(ctx context.Context) error

AddFinalizer adds a finalizer if not present and immediately patches the object to avoid any race conditions.

func (*MachineScope) Close

func (s *MachineScope) Close(ctx context.Context) error

Close closes the current scope persisting the machine configuration and status.

func (*MachineScope) GetBootstrapData

func (m *MachineScope) GetBootstrapData(ctx context.Context) ([]byte, error)

GetBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName.

func (*MachineScope) PatchObject

func (s *MachineScope) PatchObject(ctx context.Context) error

PatchObject persists the machine configuration and status.

func (*MachineScope) RemoveCredentialsRefFinalizer added in v0.2.0

func (s *MachineScope) RemoveCredentialsRefFinalizer(ctx context.Context) error

func (*MachineScope) SetCredentialRefTokenForLinodeClients added in v0.6.3

func (s *MachineScope) SetCredentialRefTokenForLinodeClients(ctx context.Context) error

type MachineScopeParams

type MachineScopeParams struct {
	Client        K8sClient
	Cluster       *clusterv1.Cluster
	Machine       *clusterv1.Machine
	LinodeCluster *infrav1alpha2.LinodeCluster
	LinodeMachine *infrav1alpha2.LinodeMachine
}

type ObjectStorageBucketScope

type ObjectStorageBucketScope struct {
	Client       K8sClient
	Bucket       *infrav1alpha2.LinodeObjectStorageBucket
	Logger       logr.Logger
	LinodeClient LinodeClient
	PatchHelper  *patch.Helper
}

func NewObjectStorageBucketScope

func NewObjectStorageBucketScope(ctx context.Context, linodeClientConfig ClientConfig, params ObjectStorageBucketScopeParams) (*ObjectStorageBucketScope, error)

TODO: Remove fields related to key provisioning from the bucket resource.

func (*ObjectStorageBucketScope) Close

Close closes the current scope persisting the object storage bucket configuration and status.

func (*ObjectStorageBucketScope) PatchObject

func (s *ObjectStorageBucketScope) PatchObject(ctx context.Context) error

PatchObject persists the object storage bucket configuration and status.

type ObjectStorageBucketScopeParams

type ObjectStorageBucketScopeParams struct {
	Client K8sClient
	Bucket *infrav1alpha2.LinodeObjectStorageBucket
	Logger *logr.Logger
}

type ObjectStorageKeyScope added in v0.6.0

type ObjectStorageKeyScope struct {
	Client       K8sClient
	Key          *infrav1alpha2.LinodeObjectStorageKey
	Logger       logr.Logger
	LinodeClient LinodeClient
	PatchHelper  *patch.Helper
}

func NewObjectStorageKeyScope added in v0.6.0

func NewObjectStorageKeyScope(ctx context.Context, linodeClientConfig ClientConfig, params ObjectStorageKeyScopeParams) (*ObjectStorageKeyScope, error)

func (*ObjectStorageKeyScope) AddFinalizer added in v0.6.0

func (s *ObjectStorageKeyScope) AddFinalizer(ctx context.Context) error

AddFinalizer adds a finalizer if not present and immediately patches the object to avoid any race conditions.

func (*ObjectStorageKeyScope) Close added in v0.6.0

Close closes the current scope persisting the object storage key configuration and status.

func (*ObjectStorageKeyScope) GenerateKeySecret added in v0.6.0

func (s *ObjectStorageKeyScope) GenerateKeySecret(ctx context.Context, key *linodego.ObjectStorageKey) (*corev1.Secret, error)

GenerateKeySecret returns a secret suitable for submission to the Kubernetes API. The secret is expected to contain keys for accessing the bucket, as well as owner and controller references.

func (*ObjectStorageKeyScope) PatchObject added in v0.6.0

func (s *ObjectStorageKeyScope) PatchObject(ctx context.Context) error

PatchObject persists the object storage key configuration and status.

func (*ObjectStorageKeyScope) SetCredentialRefTokenForLinodeClients added in v0.6.3

func (s *ObjectStorageKeyScope) SetCredentialRefTokenForLinodeClients(ctx context.Context) error

Override the controller credentials with ones from the Cluster's Secret reference (if supplied).

func (*ObjectStorageKeyScope) ShouldInitKey added in v0.6.0

func (s *ObjectStorageKeyScope) ShouldInitKey() bool

func (*ObjectStorageKeyScope) ShouldRotateKey added in v0.6.0

func (s *ObjectStorageKeyScope) ShouldRotateKey() bool

type ObjectStorageKeyScopeParams added in v0.6.0

type ObjectStorageKeyScopeParams struct {
	Client K8sClient
	Key    *infrav1alpha2.LinodeObjectStorageKey
	Logger *logr.Logger
}

type Option added in v0.4.0

type Option struct {
	// contains filtered or unexported fields
}

func WithRetryCount added in v0.4.0

func WithRetryCount(c int) Option

type PlacementGroupScope added in v0.6.0

type PlacementGroupScope struct {
	Client K8sClient

	PatchHelper          *patch.Helper
	LinodeClient         LinodeClient
	LinodePlacementGroup *infrav1alpha2.LinodePlacementGroup
}

PlacementGroupScope defines the basic context for an actuator to operate upon.

func NewPlacementGroupScope added in v0.6.0

func NewPlacementGroupScope(ctx context.Context, linodeClientConfig ClientConfig, params PlacementGroupScopeParams) (*PlacementGroupScope, error)

NewPlacementGroupScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*PlacementGroupScope) AddCredentialsRefFinalizer added in v0.6.0

func (s *PlacementGroupScope) AddCredentialsRefFinalizer(ctx context.Context) error

func (*PlacementGroupScope) AddFinalizer added in v0.6.0

func (s *PlacementGroupScope) AddFinalizer(ctx context.Context) error

AddFinalizer adds a finalizer if not present and immediately patches the object to avoid any race conditions.

func (*PlacementGroupScope) Close added in v0.6.0

func (s *PlacementGroupScope) Close(ctx context.Context) error

Close closes the current scope persisting the placement group configuration and status.

func (*PlacementGroupScope) PatchObject added in v0.6.0

func (s *PlacementGroupScope) PatchObject(ctx context.Context) error

PatchObject persists the placement group configuration and status.

func (*PlacementGroupScope) RemoveCredentialsRefFinalizer added in v0.6.0

func (s *PlacementGroupScope) RemoveCredentialsRefFinalizer(ctx context.Context) error

func (*PlacementGroupScope) SetCredentialRefTokenForLinodeClients added in v0.6.3

func (s *PlacementGroupScope) SetCredentialRefTokenForLinodeClients(ctx context.Context) error

type PlacementGroupScopeParams added in v0.6.0

type PlacementGroupScopeParams struct {
	Client               K8sClient
	LinodePlacementGroup *infrav1alpha2.LinodePlacementGroup
}

PlacementGroupScopeParams defines the input parameters used to create a new Scope.

type VPCScope

type VPCScope struct {
	Client K8sClient

	PatchHelper  *patch.Helper
	LinodeClient LinodeClient
	LinodeVPC    *infrav1alpha2.LinodeVPC
}

VPCScope defines the basic context for an actuator to operate upon.

func NewVPCScope

func NewVPCScope(ctx context.Context, linodeClientConfig ClientConfig, params VPCScopeParams) (*VPCScope, error)

NewVPCScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*VPCScope) AddCredentialsRefFinalizer added in v0.2.0

func (s *VPCScope) AddCredentialsRefFinalizer(ctx context.Context) error

func (*VPCScope) AddFinalizer

func (s *VPCScope) AddFinalizer(ctx context.Context) error

AddFinalizer adds a finalizer if not present and immediately patches the object to avoid any race conditions.

func (*VPCScope) Close

func (s *VPCScope) Close(ctx context.Context) error

Close closes the current scope persisting the machine configuration and status.

func (*VPCScope) PatchObject

func (s *VPCScope) PatchObject(ctx context.Context) error

PatchObject persists the machine configuration and status.

func (*VPCScope) RemoveCredentialsRefFinalizer added in v0.2.0

func (s *VPCScope) RemoveCredentialsRefFinalizer(ctx context.Context) error

func (*VPCScope) SetCredentialRefTokenForLinodeClients added in v0.6.3

func (s *VPCScope) SetCredentialRefTokenForLinodeClients(ctx context.Context) error

type VPCScopeParams

type VPCScopeParams struct {
	Client    K8sClient
	LinodeVPC *infrav1alpha2.LinodeVPC
}

VPCScopeParams defines the input parameters used to create a new Scope.

Jump to

Keyboard shortcuts

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