Help us shape the future of Go! Take the 2026 Go Developer Survey

kubernetes

package
v1.9.3 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2026 License: Apache-2.0 Imports: 27 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

	// ControllerName is the well-known name of the Envoy Gateway controller's own resources.
	ControllerName string

	// ControllerFullName is the Helm release fullname used for certgen and other release-scoped resources.
	ControllerFullName string

	// ControllerServiceAccountName is the service account name of the Envoy Gateway controller pod.
	ControllerServiceAccountName 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, errors message.RunnerErrorNotifier) *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) GetControllerFullName added in v1.8.5

func (i *Infra) GetControllerFullName() string

func (*Infra) GetControllerName added in v1.8.5

func (i *Infra) GetControllerName() string

func (*Infra) GetControllerNamespace added in v1.4.1

func (i *Infra) GetControllerNamespace() string

func (*Infra) GetControllerServiceAccountName added in v1.8.5

func (i *Infra) GetControllerServiceAccountName() 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