v1

package
v0.0.0-...-ee0a5d2 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the egress v1 API group +kubebuilder:object:generate=true +groupName=egress.monzo.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "egress.monzo.com", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ExternalService

type ExternalService struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ExternalServiceSpec   `json:"spec,omitempty"`
	Status ExternalServiceStatus `json:"status,omitempty"`
}

ExternalService is the Schema for the externalservices API

func (*ExternalService) DeepCopy

func (in *ExternalService) DeepCopy() *ExternalService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalService.

func (*ExternalService) DeepCopyInto

func (in *ExternalService) DeepCopyInto(out *ExternalService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExternalService) DeepCopyObject

func (in *ExternalService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExternalServiceList

type ExternalServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ExternalService `json:"items"`
}

ExternalServiceList contains a list of ExternalService

func (*ExternalServiceList) DeepCopy

func (in *ExternalServiceList) DeepCopy() *ExternalServiceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalServiceList.

func (*ExternalServiceList) DeepCopyInto

func (in *ExternalServiceList) DeepCopyInto(out *ExternalServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExternalServiceList) DeepCopyObject

func (in *ExternalServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExternalServicePort

type ExternalServicePort struct {
	// The protocol (TCP or UDP) which traffic must match. If not specified, this
	// field defaults to TCP.
	// +optional
	Protocol *v1.Protocol `json:"protocol,omitempty"`

	// The port on the given protocol.
	Port int32 `json:"port,omitempty"`
}

func (*ExternalServicePort) DeepCopy

func (in *ExternalServicePort) DeepCopy() *ExternalServicePort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalServicePort.

func (*ExternalServicePort) DeepCopyInto

func (in *ExternalServicePort) DeepCopyInto(out *ExternalServicePort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalServiceSpec

type ExternalServiceSpec struct {

	// DnsName is a DNS name target for the external service
	DnsName string `json:"dnsName,omitempty"`

	// Ports is a list of ports on which the external service may be called
	Ports []ExternalServicePort `json:"ports,omitempty"`

	// MinReplicas is the minimum number of gateways to run. Defaults to 3
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	// MaxReplicas is the maximum number of gateways to run, enforced by HorizontalPodAutoscaler. Defaults to 12
	// +optional
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`

	// Target average CPU utilization (represented as a percentage of requested CPU) over all the pods. Defaults to 50
	// +optional
	TargetCPUUtilizationPercentage *int32 `json:"targetCPUUtilizationPercentage,omitempty"`

	// ResourceRequirements describes the compute resource requirements for gateway pods. Defaults to 100m, 50Mi, 2, 1Gi
	// +optional
	Resources *v1.ResourceRequirements `json:"resources,omitempty"`

	// If true, add a `egress.monzo.com/hijack-dns: true` label to produced Service objects
	// CoreDNS can watch this label and decide to rewrite DnsName -> clusterIP
	HijackDns bool `json:"hijackDns,omitempty"`

	// When set allows overwriting the A records of the DNS being overridden.
	// +optional
	IpOverride []string `json:"ipOverride,omitempty"`

	// The maximum number of connections that Envoy will establish to all hosts in an upstream cluster (defaults to 1024).
	// If this circuit breaker overflows the upstream_cx_overflow counter for the cluster will increment.
	// +optional
	EnvoyClusterMaxConnections *uint32 `json:"envoyClusterMaxConnections,omitempty"`

	// Input to the --log-level command line option. See the help text for the available log levels and the default.
	EnvoyLogLevel string `json:"envoyLogLevel,omitempty"`

	// Corresponds to Envoy's dns_refresh_rate config field for this cluster, in seconds
	// See	https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto
	// +optional
	EnvoyDnsRefreshRateS int64 `json:"envoyDnsRefreshRateS,omitempty"`

	// Corresponds to Envoy's respect_dns_ttl config field for this cluster.
	// See	https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto
	// +optional
	EnvoyRespectDnsTTL bool `json:"envoyRespectDnsTTL,omitempty"`

	// Provides a way to override the global default
	// +optional
	ServiceTopologyMode string `json:"serviceTopologyMode,omitempty"`
}

ExternalServiceSpec defines the desired state of ExternalService

func (*ExternalServiceSpec) DeepCopy

func (in *ExternalServiceSpec) DeepCopy() *ExternalServiceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalServiceSpec.

func (*ExternalServiceSpec) DeepCopyInto

func (in *ExternalServiceSpec) DeepCopyInto(out *ExternalServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalServiceStatus

type ExternalServiceStatus struct {
}

ExternalServiceStatus defines the observed state of ExternalService

func (*ExternalServiceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalServiceStatus.

func (*ExternalServiceStatus) DeepCopyInto

func (in *ExternalServiceStatus) DeepCopyInto(out *ExternalServiceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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