Documentation ¶
Index ¶
- Constants
- func IsInvalidConfig(err error) bool
- type Checker
- type ClusterChecker
- type ClusterCheckerConfig
- type ClusterPersister
- type ClusterPersisterConfig
- type Collector
- type Config
- type MachineDeploymentChecker
- type MachineDeploymentCheckerConfig
- type MachineDeploymentPersister
- type MachineDeploymentPersisterConfig
- type Persister
- type Resource
- type SubnetCollector
- type SubnetCollectorConfig
- type TestChecker
- type TestCollector
- type TestPersister
Constants ¶
const (
Name = "ipam"
)
Variables ¶
This section is empty.
Functions ¶
func IsInvalidConfig ¶
IsInvalidConfig asserts invalidConfigError.
Types ¶
type Checker ¶
Checker determines whether a subnet has to be allocated. This decision is being made based on the status of the Kubernetes runtime object defined by namespace and name.
type ClusterChecker ¶
type ClusterChecker struct {
// contains filtered or unexported fields
}
func NewClusterChecker ¶
func NewClusterChecker(config ClusterCheckerConfig) (*ClusterChecker, error)
type ClusterCheckerConfig ¶
type ClusterCheckerConfig struct { CtrlClient ctrlClient.Client Logger micrologger.Logger }
type ClusterPersister ¶
type ClusterPersister struct {
// contains filtered or unexported fields
}
func NewClusterPersister ¶
func NewClusterPersister(config ClusterPersisterConfig) (*ClusterPersister, error)
type ClusterPersisterConfig ¶
type ClusterPersisterConfig struct { CtrlClient ctrlClient.Client Logger micrologger.Logger }
type Collector ¶
type Collector interface {
Collect(ctx context.Context, networkRange net.IPNet) ([]net.IPNet, error)
}
Collector implementation must return all networks that are allocated on any given moment. Failing to do that will result in overlapping allocations which causes cluster creation failures. The network range provided here is a custom override. If it is empty we fall back to some globally configured default.
type MachineDeploymentChecker ¶
type MachineDeploymentChecker struct {
// contains filtered or unexported fields
}
func NewMachineDeploymentChecker ¶
func NewMachineDeploymentChecker(config MachineDeploymentCheckerConfig) (*MachineDeploymentChecker, error)
type MachineDeploymentCheckerConfig ¶
type MachineDeploymentCheckerConfig struct { CtrlClient ctrlClient.Client Logger micrologger.Logger }
type MachineDeploymentPersister ¶
type MachineDeploymentPersister struct {
// contains filtered or unexported fields
}
func NewMachineDeploymentPersister ¶
func NewMachineDeploymentPersister(config MachineDeploymentPersisterConfig) (*MachineDeploymentPersister, error)
type MachineDeploymentPersisterConfig ¶
type MachineDeploymentPersisterConfig struct { CtrlClient ctrlClient.Client Logger micrologger.Logger }
type Persister ¶
type Persister interface {
Persist(ctx context.Context, subnet net.IPNet, namespace string, name string) error
}
Persister must mutate shared persistent state so that on successful execution persisted networks are visible by Collector implementations.
type Resource ¶
type Resource struct {
// contains filtered or unexported fields
}
func (*Resource) EnsureCreated ¶
EnsureCreated allocates tenant cluster network segments. It gathers existing subnets from existing system resources like VPCs and Cluster CRs.
func (*Resource) EnsureDeleted ¶
EnsureDeleted is a NOP for IPAM resource as allocated subnet will get released when the guest cluster VPC and AWSConfig CR is deleted.
type SubnetCollector ¶
type SubnetCollector struct {
// contains filtered or unexported fields
}
func NewSubnetCollector ¶
func NewSubnetCollector(config SubnetCollectorConfig) (*SubnetCollector, error)
type SubnetCollectorConfig ¶
type SubnetCollectorConfig struct { CtrlClient ctrlClient.Client Logger micrologger.Logger NetworkRange net.IPNet }
type TestChecker ¶
type TestChecker struct {
// contains filtered or unexported fields
}
func NewTestChecker ¶
func NewTestChecker(proceed bool) *TestChecker
type TestCollector ¶
type TestCollector struct {
// contains filtered or unexported fields
}
func NewTestCollector ¶
func NewTestCollector(subnets []net.IPNet) *TestCollector
type TestPersister ¶
type TestPersister struct {
// contains filtered or unexported fields
}
func NewTestPersister ¶
func NewTestPersister(subnet net.IPNet) *TestPersister