Documentation
¶
Index ¶
- type Infra
- func (i *Infra) Close() error
- func (i *Infra) CreateOrUpdateProxyInfra(ctx context.Context, irInfra *ir.Infra) error
- func (i *Infra) CreateOrUpdateRateLimitInfra(ctx context.Context) error
- func (i *Infra) DeleteProxyInfra(ctx context.Context, irInfra *ir.Infra) error
- func (i *Infra) DeleteRateLimitInfra(ctx context.Context) error
- func (i *Infra) GetControllerNamespace() string
- func (i *Infra) GetDNSDomain() string
- func (i *Infra) GetEnvoyGateway() *egv1a1.EnvoyGateway
- func (i *Infra) GetOwnerReferenceUID(ctx context.Context, irInfra *ir.Infra) (map[string]types.UID, error)
- func (i *Infra) GetResourceNamespace(irInfra *ir.Infra) string
- type InfraClient
- func (cli *InfraClient) Delete(ctx context.Context, object client.Object) error
- func (cli *InfraClient) DeleteAllExcept(ctx context.Context, objList client.ObjectList, key client.ObjectKey, ...) error
- func (cli *InfraClient) GetUID(ctx context.Context, key client.ObjectKey, current client.Object) (types.UID, error)
- func (cli *InfraClient) ServerSideApply(ctx context.Context, obj client.Object) error
- type ResourceRender
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 (*Infra) CreateOrUpdateProxyInfra ¶ added in v0.3.0
CreateOrUpdateProxyInfra creates the managed kube infra, if it doesn't exist.
func (*Infra) CreateOrUpdateRateLimitInfra ¶ added in v0.3.0
CreateOrUpdateRateLimitInfra creates the managed kube rate limit infra, if it doesn't exist.
func (*Infra) DeleteProxyInfra ¶ added in v0.3.0
DeleteProxyInfra removes the managed kube infra, if it doesn't exist.
func (*Infra) DeleteRateLimitInfra ¶ added in v0.3.0
DeleteRateLimitInfra removes the managed kube infra, if it doesn't exist.
func (*Infra) GetControllerNamespace ¶ added in v1.4.1
func (*Infra) GetDNSDomain ¶ added in v1.4.1
func (*Infra) GetEnvoyGateway ¶ added in v1.4.1
func (i *Infra) GetEnvoyGateway() *egv1a1.EnvoyGateway
func (*Infra) GetOwnerReferenceUID ¶ added in v1.4.1
type InfraClient ¶ added in v0.5.0
func New ¶ added in v0.5.0
func New(cli client.Client) *InfraClient
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
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.