kubernetes

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2025 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Infra

type Infra struct {
	// ControllerNamespace is the namespace where Envoy Gateway is deployed.
	ControllerNamespace string

	// DNSDomain is the dns domain used by k8s services. Defaults to "cluster.local".
	DNSDomain string

	// EnvoyGateway is the configuration used to startup Envoy Gateway.
	EnvoyGateway *egv1a1.EnvoyGateway

	// Client wrap k8s client.
	Client *InfraClient
	// contains filtered or unexported fields
}

Infra manages the creation and deletion of Kubernetes infrastructure based on Infra IR resources.

func NewInfra

func NewInfra(cli client.Client, cfg *config.Server) *Infra

NewInfra returns a new Infra.

func (*Infra) Close added in v1.4.0

func (i *Infra) Close() error

Close implements Manager interface.

func (*Infra) CreateOrUpdateProxyInfra added in v0.3.0

func (i *Infra) CreateOrUpdateProxyInfra(ctx context.Context, irInfra *ir.Infra) error

CreateOrUpdateProxyInfra creates the managed kube infra, if it doesn't exist.

func (*Infra) CreateOrUpdateRateLimitInfra added in v0.3.0

func (i *Infra) CreateOrUpdateRateLimitInfra(ctx context.Context) error

CreateOrUpdateRateLimitInfra creates the managed kube rate limit infra, if it doesn't exist.

func (*Infra) DeleteProxyInfra added in v0.3.0

func (i *Infra) DeleteProxyInfra(ctx context.Context, irInfra *ir.Infra) error

DeleteProxyInfra removes the managed kube infra, if it doesn't exist.

func (*Infra) DeleteRateLimitInfra added in v0.3.0

func (i *Infra) DeleteRateLimitInfra(ctx context.Context) error

DeleteRateLimitInfra removes the managed kube infra, if it doesn't exist.

func (*Infra) GetControllerNamespace added in v1.4.1

func (i *Infra) GetControllerNamespace() string

func (*Infra) GetDNSDomain added in v1.4.1

func (i *Infra) GetDNSDomain() string

func (*Infra) GetEnvoyGateway added in v1.4.1

func (i *Infra) GetEnvoyGateway() *egv1a1.EnvoyGateway

func (*Infra) GetOwnerReferenceUID added in v1.4.1

func (i *Infra) GetOwnerReferenceUID(ctx context.Context, irInfra *ir.Infra) (map[string]types.UID, error)

func (*Infra) GetResourceNamespace added in v1.4.0

func (i *Infra) GetResourceNamespace(irInfra *ir.Infra) string

type InfraClient added in v0.5.0

type InfraClient struct {
	client.Client
}

func New added in v0.5.0

func New(cli client.Client) *InfraClient

func (*InfraClient) Delete added in v0.5.0

func (cli *InfraClient) Delete(ctx context.Context, object client.Object) error

func (*InfraClient) DeleteAllExcept added in v1.4.0

func (cli *InfraClient) DeleteAllExcept(ctx context.Context, objList client.ObjectList, key client.ObjectKey, listOpts ...client.ListOption) error

DeleteAllExcept delete all resources filter by ListOption except the one specified by key.

func (*InfraClient) GetUID added in v0.5.0

func (cli *InfraClient) GetUID(ctx context.Context, key client.ObjectKey, current client.Object) (types.UID, error)

GetUID retrieves the uid of one resource.

func (*InfraClient) ServerSideApply added in v1.0.2

func (cli *InfraClient) ServerSideApply(ctx context.Context, obj client.Object) error

type ResourceRender added in v0.5.0

type ResourceRender interface {
	Name() string
	Namespace() string
	LabelSelector() labels.Selector
	ServiceAccount() (*corev1.ServiceAccount, error)
	Service() (*corev1.Service, error)
	ConfigMap(cert string) (*corev1.ConfigMap, error)
	Deployment() (*appsv1.Deployment, error)
	DaemonSet() (*appsv1.DaemonSet, error)
	HorizontalPodAutoscaler() (*autoscalingv2.HorizontalPodAutoscaler, error)
	PodDisruptionBudget() (*policyv1.PodDisruptionBudget, error)
}

ResourceRender renders Kubernetes infrastructure resources based on Infra IR resources.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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