infraflow

package
v1.35.0 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultVPCRoutingConfigRegional is a constant for VPC Routing configuration option that enables regional routing.
	DefaultVPCRoutingConfigRegional = "REGIONAL"
	// DefaultAggregationInterval is the default value for the aggregation interval.
	DefaultAggregationInterval = "INTERVAL_5_MIN"
	// DefaultFlowSampling is the default value for the flow sampling.
	DefaultFlowSampling = 0.5
	// DefaultMetadata is the default value for the Flow Logs metadata.
	DefaultMetadata = "EXCLUDE_ALL_METADATA"
)
View Source
const (

	// CreatedServiceAccountKey marks whether we have created a service account for the shoot. If not we will skip reconciling the service accounts
	CreatedServiceAccountKey = "service_account_exist"
	// CreatedResourcesExistKey is a marker for the Terraform migration case. If the TF state is not empty
	// we inject this marker into the state to block the deletion without having first a successful reconciliation.
	CreatedResourcesExistKey = "resources_exist"
	// ChildKeyIDs is the prefix key for all ids.
	ChildKeyIDs = "ids"
	// KeyServiceAccountEmail is the key to store the service account object.
	KeyServiceAccountEmail = "service-account-email"
	// ObjectKeyVPC is the key to store the VPC object.
	ObjectKeyVPC = "vpc"
	// ObjectKeyNodeSubnet is the key to store the nodes subnet object.
	ObjectKeyNodeSubnet = "subnet-nodes"
	// ObjectKeyInternalSubnet is the key to store the internal subnet object.
	ObjectKeyInternalSubnet = "subnet-internal"
	// ObjectKeyRouter router is the key for the CloudRouter.
	ObjectKeyRouter = "router"
	// ObjectKeyNAT is the key for the .CloudNAT object.
	ObjectKeyNAT = "nat"
	// ObjectKeyIPAddress is the key for the IP Address slice.
	ObjectKeyIPAddress = "addresses/ip"
)

Variables

View Source
var (
	// DefaultUpdaterFunc is the default constructor used for an Updated used in the package.
	DefaultUpdaterFunc = gcpclient.NewUpdater
)

Functions

func GetObject

func GetObject[T any](wb shared.Whiteboard, key string) T

GetObject returns the object and attempts to cast it to the specified type.

Types

type FlowContext added in v1.35.0

type FlowContext struct {
	*shared.BasicFlowContext
	// contains filtered or unexported fields
}

FlowContext is capable of reconciling and deleting the infrastructure for a shoot.

func NewFlowContext added in v1.35.0

func NewFlowContext(ctx context.Context, opts Opts) (*FlowContext, error)

NewFlowContext returns a new FlowContext.

func (*FlowContext) Delete added in v1.35.0

func (fctx *FlowContext) Delete(ctx context.Context) error

Delete is used to destroy the infrastructure.

func (*FlowContext) Reconcile added in v1.35.0

Reconcile reconciles the infrastructure

type Opts added in v1.35.0

type Opts struct {
	// Log is the logger using during the reconciliation.
	Log logr.Logger
	// Infra
	Infra          *extensionsv1alpha1.Infrastructure
	State          *gcp.InfrastructureState
	Cluster        *controller.Cluster
	ServiceAccount *gcpinternal.ServiceAccount
	Factory        gcpclient.Factory
	Client         client.Client
	PersistFunc    PersistStateFunc
}

Opts contains the options to initialize a FlowContext.

type PersistStateFunc added in v1.35.0

type PersistStateFunc func(ctx context.Context, state *runtime.RawExtension) error

PersistStateFunc is a callback function that is used to persist the state during the reconciliation.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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