v1alpha1

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ingress v1alpha1 API group +kubebuilder:object:generate=true +groupName=ingress.astarte-platform.org

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ingress.astarte-platform.org", Version: "v1alpha1"}

	// 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 AstarteDefaultIngress

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

	Spec   AstarteDefaultIngressSpec   `json:"spec,omitempty"`
	Status AstarteDefaultIngressStatus `json:"status,omitempty"`
}

AstarteDefaultIngress is the Schema for the astartedefaultingresses API

func (*AstarteDefaultIngress) DeepCopy

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

func (*AstarteDefaultIngress) DeepCopyInto

func (in *AstarteDefaultIngress) DeepCopyInto(out *AstarteDefaultIngress)

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

func (*AstarteDefaultIngress) DeepCopyObject

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

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

func (*AstarteDefaultIngress) Default

func (r *AstarteDefaultIngress) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*AstarteDefaultIngress) SetupWebhookWithManager

func (r *AstarteDefaultIngress) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*AstarteDefaultIngress) ValidateCreate

func (r *AstarteDefaultIngress) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*AstarteDefaultIngress) ValidateDelete

func (r *AstarteDefaultIngress) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*AstarteDefaultIngress) ValidateUpdate

func (r *AstarteDefaultIngress) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type AstarteDefaultIngressAPISpec

type AstarteDefaultIngressAPISpec struct {
	metav1.TypeMeta `json:",inline"`
	// When true, deploy the API ingress.
	// +optional
	Deploy *bool `json:"deploy,omitempty"`
	// The secret containing the TLS certificates and keys used to access the Astarte API. The secret
	// must be present in the namespace in which Astarte resides. If set, this secret overrides the TLSSecret
	// field contained in AstarteDefaultIngressSpec.
	// +optional
	TLSSecret string `json:"tlsSecret,omitempty"`
	// When true, enable Cross-Origin Resource Sharing (CORS). Default: false.
	// +optional
	Cors *bool `json:"cors,omitempty"`
	// When true, the housekeeping endpoint is publicly exposed. Default: true.
	// +optional
	ExposeHousekeeping *bool `json:"exposeHousekeeping,omitempty"`
	// When true, all /metrics endpoints for Astarte services will be served by the Ingress.
	// Beware this might be a security hole. You can control which IPs can access /metrics
	// with serveMetricsToSubnet. Default: false.
	// +optional
	ServeMetrics *bool `json:"serveMetrics,omitempty"`
	// When specified and when serveMetrics is true, /metrics endpoints will be served only to IPs
	// in the provided subnet range. The subnet has to be compatible with the HAProxy
	// ACL src syntax (e.g.: "10.0.0.0/16"). Default: "".
	// +optional
	ServeMetricsToSubnet string `json:"serveMetricsToSubnet,omitempty"`
}

AstarteDefaultIngressAPISpec defines how the Astarte APIs are served.

func (*AstarteDefaultIngressAPISpec) DeepCopy

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

func (*AstarteDefaultIngressAPISpec) DeepCopyInto

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

type AstarteDefaultIngressBrokerSpec

type AstarteDefaultIngressBrokerSpec struct {
	metav1.TypeMeta `json:",inline"`
	// When true, expose the Broker.
	// +optional
	Deploy *bool `json:"deploy,omitempty"`
	// Set the type of service employed to expose the broker. Supported values are "NodePort" and "LoadBalancer".
	// The AstarteDefaultIngress handles TLS termination at VerneMQ level and, as such, no TLSSecret is needed to
	// configure the broker service.
	// Default: "LoadBalancer"
	// +optional
	ServiceType v1.ServiceType `json:"serviceType,omitempty"`
	// Set the LoadBalancerIP if and only if the broker service is of type "LoadBalancer". This feature depends on
	// whether the cloud provider supports specifying the LoadBalancerIP when a load balancer is created.
	// +optional
	LoadBalancerIP string `json:"loadBalancerIP,omitempty"`
	// Additional annotations for the service exposing this broker.
	// +optional
	ServiceAnnotations map[string]string `json:"serviceAnnotations,omitempty"`
}

AstarteDefaultIngressBrokerSpec defines how the Astarte Broker is served.

func (*AstarteDefaultIngressBrokerSpec) DeepCopy

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

func (*AstarteDefaultIngressBrokerSpec) DeepCopyInto

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

type AstarteDefaultIngressDashboardSpec

type AstarteDefaultIngressDashboardSpec struct {
	metav1.TypeMeta `json:",inline"`
	// When true, deploy the Ingress for the Dashboard.
	// +optional
	Deploy *bool `json:"deploy,omitempty"`
	// When true, enable TLS authentication for the Dashboard.
	// +optional
	SSL *bool `json:"ssl,omitempty"`
	// The host handling requests addressed to the dashboard. When deploy is true and host is not set,
	// the dashboard will be exposed at the following URL: https://<astarte-base-url>/dashboard.
	// +optional
	Host string `json:"host,omitempty"`
	// The secret containing the TLS certificates and keys used to access the Astarte Dashboard. The secret
	// must be present in the namespace in which Astarte resides. If set, this secret overrides the TLSSecret
	// field contained in AstarteDefaultIngressSpec.
	// +optional
	TLSSecret string `json:"tlsSecret,omitempty"`
}

AstarteDefaultIngressDashboardSpec defines how the Astarte Dashboard is served.

func (*AstarteDefaultIngressDashboardSpec) DeepCopy

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

func (*AstarteDefaultIngressDashboardSpec) DeepCopyInto

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

type AstarteDefaultIngressList

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

AstarteDefaultIngressList contains a list of AstarteDefaultIngress

func (*AstarteDefaultIngressList) DeepCopy

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

func (*AstarteDefaultIngressList) DeepCopyInto

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

func (*AstarteDefaultIngressList) DeepCopyObject

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

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

type AstarteDefaultIngressSpec

type AstarteDefaultIngressSpec struct {
	metav1.TypeMeta `json:",inline"`
	// The name of the Astarte instance served by the AstarteDefaultIngress.
	Astarte string `json:"astarte"`
	// In clusters with more than one instance of the Ingress-NGINX controller, all
	// instances of the controllers must be aware of which Ingress object they must serve.
	// The ingressClass field of a ingress object is the way to let the controller know about that.
	// Default: "nginx".
	// +optional
	IngressClass string `json:"ingressClass"`
	// Define the desired state of the AstarteDefaultIngressAPISpec resource.
	// +optional
	API AstarteDefaultIngressAPISpec `json:"api,omitempty"`
	// Define the desired state of the AstarteDefaultIngressDashboardSpec resource.
	// +optional
	Dashboard AstarteDefaultIngressDashboardSpec `json:"dashboard,omitempty"`
	// Define the desired state of the AstarteDefaultIngressBrokerSpec resource.
	// +optional
	Broker AstarteDefaultIngressBrokerSpec `json:"broker,omitempty"`
	// The secret containing the TLS certificates and keys used to connect to Astarte. The secret
	// must be present in the namespace in which Astarte resides and it will be used to authenticate
	// requests for API and Dashboard. If specific configurations are required,
	// the TLSSecret can be overridden by setting the secret in any of AstarteDefaultIngressAPISpec
	// and AstarteDefaultIngressDashboardSpec.
	// +optional
	TLSSecret string `json:"tlsSecret,omitempty"`
}

AstarteDefaultIngressSpec defines the desired state of the AstarteDefaultIngress resource

func (*AstarteDefaultIngressSpec) DeepCopy

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

func (*AstarteDefaultIngressSpec) DeepCopyInto

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

type AstarteDefaultIngressStatus

type AstarteDefaultIngressStatus struct {
	metav1.TypeMeta `json:",inline"`
}

AstarteDefaultIngressStatus defines the observed state of AstarteDefaultIngress

func (*AstarteDefaultIngressStatus) DeepCopy

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

func (*AstarteDefaultIngressStatus) DeepCopyInto

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