v1alpha1

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2021 License: Apache-2.0 Imports: 4 Imported by: 5

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Package v1alpha1 contains API Schema definitions for the policy.openservicemesh.io v1alpha1 API group

Index

Constants

View Source
const (
	// KindService is the kind corresponding to a Service resource.
	KindService = "Service"

	// KindAuthenticatedPrincipal is the kind corresponding to an authenticated principal.
	KindAuthenticatedPrincipal = "AuthenticatedPrincipal"

	// KindIPRange is the kind corresponding to an IP address range represented in CIDR notation.
	KindIPRange = "IPRange"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register API objects in the policy.openservicemesh.io v1alpha1 API group
	SchemeGroupVersion = schema.GroupVersion{
		Group:   "policy.openservicemesh.io",
		Version: "v1alpha1",
	}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds all Resources to the Scheme
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type BackendSpec added in v0.10.0

type BackendSpec struct {
	// Name defines the name of the backend.
	Name string `json:"name"`

	// Port defines the specification for the backend's port.
	Port PortSpec `json:"port"`

	// TLS defines the specification for the backend's TLS configuration.
	// +optional
	TLS TLSSpec `json:"tls,omitempty"`
}

BackendSpec is the type used to represent a Backend specified in the IngressBackend policy specification.

func (*BackendSpec) DeepCopy added in v0.10.0

func (in *BackendSpec) DeepCopy() *BackendSpec

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

func (*BackendSpec) DeepCopyInto added in v0.10.0

func (in *BackendSpec) DeepCopyInto(out *BackendSpec)

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

type Egress

type Egress struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the Egress policy specification
	// +optional
	Spec EgressSpec `json:"spec,omitempty"`
}

Egress is the type used to represent an Egress traffic policy. An Egress policy allows applications to access endpoints external to the service mesh or cluster based on the specified rules in the policy. +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*Egress) DeepCopy

func (in *Egress) DeepCopy() *Egress

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

func (*Egress) DeepCopyInto

func (in *Egress) DeepCopyInto(out *Egress)

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

func (*Egress) DeepCopyObject

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

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

type EgressList

type EgressList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Egress `json:"items"`
}

EgressList defines the list of Egress objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*EgressList) DeepCopy

func (in *EgressList) DeepCopy() *EgressList

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

func (*EgressList) DeepCopyInto

func (in *EgressList) DeepCopyInto(out *EgressList)

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

func (*EgressList) DeepCopyObject

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

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

type EgressSourceSpec added in v0.10.0

type EgressSourceSpec struct {
	// Kind defines the kind for the source in the Egress policy, ex. ServiceAccount.
	Kind string `json:"kind"`

	// Name defines the name of the source for the given Kind.
	Name string `json:"name"`

	// Namespace defines the namespace for the given source.
	Namespace string `json:"namespace"`
}

EgressSourceSpec is the type used to represent the Source in the list of Sources specified in an Egress policy specification.

func (*EgressSourceSpec) DeepCopy added in v0.10.0

func (in *EgressSourceSpec) DeepCopy() *EgressSourceSpec

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

func (*EgressSourceSpec) DeepCopyInto added in v0.10.0

func (in *EgressSourceSpec) DeepCopyInto(out *EgressSourceSpec)

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

type EgressSpec

type EgressSpec struct {
	// Sources defines the list of sources the Egress policy applies to.
	Sources []EgressSourceSpec `json:"sources"`

	// Hosts defines the list of external hosts the Egress policy will allow
	// access to.
	//
	// - For HTTP traffic, the HTTP Host/Authority header is matched against the
	// list of Hosts specified.
	//
	// - For HTTPS traffic, the Server Name Indication (SNI) indicated by the client
	// in the TLS handshake is matched against the list of Hosts specified.
	//
	// - For non-HTTP(s) based protocols, the Hosts field is ignored.
	// +optional
	Hosts []string `json:"hosts,omitempty"`

	// IPAddresses defines the list of external IP address ranges the Egress policy
	// applies to. The destination IP address of the traffic is matched against the
	// list of IPAddresses specified as a CIDR range.
	// +optional
	IPAddresses []string `json:"ipAddresses,omitempty"`

	// Ports defines the list of ports the Egress policy is applies to.
	// The destination port of the traffic is matched against the list of Ports specified.
	Ports []PortSpec `json:"ports"`

	// Matches defines the list of object references the Egress policy should match on.
	// +optional
	Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"`
}

EgressSpec is the type used to represent the Egress policy specification.

func (*EgressSpec) DeepCopy

func (in *EgressSpec) DeepCopy() *EgressSpec

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

func (*EgressSpec) DeepCopyInto

func (in *EgressSpec) DeepCopyInto(out *EgressSpec)

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

type IngressBackend added in v0.10.0

type IngressBackend struct {
	// Object's type metadata
	metav1.TypeMeta `json:",inline"`

	// Object's metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the Ingress backend policy specification
	// +optional
	Spec IngressBackendSpec `json:"spec,omitempty"`

	// Status is the status of the IngressBackend configuration.
	// +optional
	Status IngressBackendStatus `json:"status,omitempty"`
}

IngressBackend is the type used to represent an Ingress backend policy. An Ingress backend policy authorizes one or more backends to accept ingress traffic from one or more sources. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*IngressBackend) DeepCopy added in v0.10.0

func (in *IngressBackend) DeepCopy() *IngressBackend

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

func (*IngressBackend) DeepCopyInto added in v0.10.0

func (in *IngressBackend) DeepCopyInto(out *IngressBackend)

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

func (*IngressBackend) DeepCopyObject added in v0.10.0

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

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

type IngressBackendList added in v0.10.0

type IngressBackendList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []IngressBackend `json:"items"`
}

IngressBackendList defines the list of IngressBackend objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*IngressBackendList) DeepCopy added in v0.10.0

func (in *IngressBackendList) DeepCopy() *IngressBackendList

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

func (*IngressBackendList) DeepCopyInto added in v0.10.0

func (in *IngressBackendList) DeepCopyInto(out *IngressBackendList)

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

func (*IngressBackendList) DeepCopyObject added in v0.10.0

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

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

type IngressBackendSpec added in v0.10.0

type IngressBackendSpec struct {
	// Backends defines the list of backends the IngressBackend policy applies to.
	Backends []BackendSpec `json:"backends"`

	// Sources defines the list of sources the IngressBackend policy applies to.
	Sources []IngressSourceSpec `json:"sources"`

	// Matches defines the list of object references the IngressBackend policy should match on.
	// +optional
	Matches []corev1.TypedLocalObjectReference `json:"matches,omitempty"`
}

IngressBackendSpec is the type used to represent the IngressBackend policy specification.

func (*IngressBackendSpec) DeepCopy added in v0.10.0

func (in *IngressBackendSpec) DeepCopy() *IngressBackendSpec

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

func (*IngressBackendSpec) DeepCopyInto added in v0.10.0

func (in *IngressBackendSpec) DeepCopyInto(out *IngressBackendSpec)

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

type IngressBackendStatus added in v0.10.0

type IngressBackendStatus struct {
	// CurrentStatus defines the current status of an IngressBackend resource.
	// +optional
	CurrentStatus string `json:"currentStatus,omitempty"`

	// Reason defines the reason for the current status of an IngressBackend resource.
	// +optional
	Reason string `json:"reason,omitempty"`
}

IngressBackendStatus is the type used to represent the status of an IngressBackend resource.

func (*IngressBackendStatus) DeepCopy added in v0.10.0

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

func (*IngressBackendStatus) DeepCopyInto added in v0.10.0

func (in *IngressBackendStatus) DeepCopyInto(out *IngressBackendStatus)

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

type IngressSourceSpec added in v0.10.0

type IngressSourceSpec struct {
	// Kind defines the kind for the source in the IngressBackend policy.
	Kind string `json:"kind"`

	// Name defines the name of the source for the given Kind.
	Name string `json:"name"`

	// Namespace defines the namespace for the given source.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

IngressSourceSpec is the type used to represent the Source in the list of Sources specified in an IngressBackend policy specification.

func (*IngressSourceSpec) DeepCopy added in v0.10.0

func (in *IngressSourceSpec) DeepCopy() *IngressSourceSpec

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

func (*IngressSourceSpec) DeepCopyInto added in v0.10.0

func (in *IngressSourceSpec) DeepCopyInto(out *IngressSourceSpec)

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

type PortSpec

type PortSpec struct {
	// Number defines the port number.
	Number int `json:"number"`

	// Protocol defines the protocol served by the port.
	Protocol string `json:"protocol"`
}

PortSpec is the type used to represent the Port in the list of Ports specified in an Egress policy specification.

func (*PortSpec) DeepCopy

func (in *PortSpec) DeepCopy() *PortSpec

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

func (*PortSpec) DeepCopyInto

func (in *PortSpec) DeepCopyInto(out *PortSpec)

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

type TLSSpec added in v0.10.0

type TLSSpec struct {
	// SkipClientCertValidation defines whether the backend should skip validating the
	// certificate presented by the client.
	SkipClientCertValidation bool `json:"skipClientCertValidation"`

	// SNIHosts defines the SNI hostnames that the backend allows the client to connect to.
	// +optional
	SNIHosts []string `json:"sniHosts,omitempty"`
}

TLSSpec is the type used to represent the backend's TLS configuration.

func (*TLSSpec) DeepCopy added in v0.10.0

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto added in v0.10.0

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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