mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-03 23:40:03 +00:00 
			
		
		
		
	fix doc of types.go of network v1, v1alpha1, v1beta1
Signed-off-by: Ruquan Zhao <ruquan.zhao@arm.com>
This commit is contained in:
		@@ -24,17 +24,18 @@ import (
 | 
			
		||||
 | 
			
		||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
 | 
			
		||||
 | 
			
		||||
// NetworkPolicy describes what network traffic is allowed for a set of Pods
 | 
			
		||||
// NetworkPolicy describes what network traffic is allowed for a set of pods
 | 
			
		||||
type NetworkPolicy struct {
 | 
			
		||||
	metav1.TypeMeta
 | 
			
		||||
 | 
			
		||||
	// +optional
 | 
			
		||||
	metav1.ObjectMeta
 | 
			
		||||
 | 
			
		||||
	// Specification of the desired behavior for this NetworkPolicy.
 | 
			
		||||
	// spec represents the specification of the desired behavior for this NetworkPolicy.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Spec NetworkPolicySpec
 | 
			
		||||
 | 
			
		||||
	// Status is the current state of the NetworkPolicy.
 | 
			
		||||
	// status represents the current state of the NetworkPolicy.
 | 
			
		||||
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
 | 
			
		||||
	// +optional
 | 
			
		||||
	Status NetworkPolicyStatus
 | 
			
		||||
@@ -53,16 +54,16 @@ const (
 | 
			
		||||
 | 
			
		||||
// NetworkPolicySpec provides the specification of a NetworkPolicy
 | 
			
		||||
type NetworkPolicySpec struct {
 | 
			
		||||
	// Selects the pods to which this NetworkPolicy object applies. The array of
 | 
			
		||||
	// ingress rules is applied to any pods selected by this field. Multiple network
 | 
			
		||||
	// policies can select the same set of pods. In this case, the ingress rules for
 | 
			
		||||
	// each are combined additively. This field is NOT optional and follows standard
 | 
			
		||||
	// label selector semantics. An empty podSelector matches all pods in this
 | 
			
		||||
	// namespace.
 | 
			
		||||
	// podSelector selects the pods to which this NetworkPolicy object applies.
 | 
			
		||||
	// The array of ingress rules is applied to any pods selected by this field.
 | 
			
		||||
	// Multiple network policies can select the same set of pods. In this case,
 | 
			
		||||
	// the ingress rules for each are combined additively.
 | 
			
		||||
	// This field is NOT optional and follows standard label selector semantics.
 | 
			
		||||
	// An empty podSelector matches all pods in this namespace.
 | 
			
		||||
	PodSelector metav1.LabelSelector
 | 
			
		||||
 | 
			
		||||
	// List of ingress rules to be applied to the selected pods. Traffic is allowed to
 | 
			
		||||
	// a pod if there are no NetworkPolicies selecting the pod
 | 
			
		||||
	// ingress is a list of ingress rules to be applied to the selected pods.
 | 
			
		||||
	// Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod
 | 
			
		||||
	// (and cluster policy otherwise allows the traffic), OR if the traffic source is
 | 
			
		||||
	// the pod's local node, OR if the traffic matches at least one ingress rule
 | 
			
		||||
	// across all of the NetworkPolicy objects whose podSelector matches the pod. If
 | 
			
		||||
@@ -71,8 +72,8 @@ type NetworkPolicySpec struct {
 | 
			
		||||
	// +optional
 | 
			
		||||
	Ingress []NetworkPolicyIngressRule
 | 
			
		||||
 | 
			
		||||
	// List of egress rules to be applied to the selected pods. Outgoing traffic is
 | 
			
		||||
	// allowed if there are no NetworkPolicies selecting the pod (and cluster policy
 | 
			
		||||
	// egress is a list of egress rules to be applied to the selected pods. Outgoing traffic
 | 
			
		||||
	// is allowed if there are no NetworkPolicies selecting the pod (and cluster policy
 | 
			
		||||
	// otherwise allows the traffic), OR if the traffic matches at least one egress rule
 | 
			
		||||
	// across all of the NetworkPolicy objects whose podSelector matches the pod. If
 | 
			
		||||
	// this field is empty then this NetworkPolicy limits all outgoing traffic (and serves
 | 
			
		||||
@@ -81,15 +82,15 @@ type NetworkPolicySpec struct {
 | 
			
		||||
	// +optional
 | 
			
		||||
	Egress []NetworkPolicyEgressRule
 | 
			
		||||
 | 
			
		||||
	// List of rule types that the NetworkPolicy relates to.
 | 
			
		||||
	// policyTypes is a list of rule types that the NetworkPolicy relates to.
 | 
			
		||||
	// Valid options are ["Ingress"], ["Egress"], or ["Ingress", "Egress"].
 | 
			
		||||
	// If this field is not specified, it will default based on the existence of Ingress or Egress rules;
 | 
			
		||||
	// policies that contain an Egress section are assumed to affect Egress, and all policies
 | 
			
		||||
	// (whether or not they contain an Ingress section) are assumed to affect Ingress.
 | 
			
		||||
	// If this field is not specified, it will default based on the existence of ingress or egress rules;
 | 
			
		||||
	// policies that contain an egress section are assumed to affect egress, and all policies
 | 
			
		||||
	// (whether or not they contain an ingress section) are assumed to affect ingress.
 | 
			
		||||
	// If you want to write an egress-only policy, you must explicitly specify policyTypes [ "Egress" ].
 | 
			
		||||
	// Likewise, if you want to write a policy that specifies that no egress is allowed,
 | 
			
		||||
	// you must specify a policyTypes value that include "Egress" (since such a policy would not include
 | 
			
		||||
	// an Egress section and would otherwise default to just [ "Ingress" ]).
 | 
			
		||||
	// an egress section and would otherwise default to just [ "Ingress" ]).
 | 
			
		||||
	// This field is beta-level in 1.8
 | 
			
		||||
	// +optional
 | 
			
		||||
	PolicyTypes []PolicyType
 | 
			
		||||
@@ -98,15 +99,15 @@ type NetworkPolicySpec struct {
 | 
			
		||||
// NetworkPolicyIngressRule describes a particular set of traffic that is allowed to the pods
 | 
			
		||||
// matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and from.
 | 
			
		||||
type NetworkPolicyIngressRule struct {
 | 
			
		||||
	// List of ports which should be made accessible on the pods selected for this
 | 
			
		||||
	// rule. Each item in this list is combined using a logical OR. If this field is
 | 
			
		||||
	// ports is a list of ports which should be made accessible on the pods selected for
 | 
			
		||||
	// this rule. Each item in this list is combined using a logical OR. If this field is
 | 
			
		||||
	// empty or missing, this rule matches all ports (traffic not restricted by port).
 | 
			
		||||
	// If this field is present and contains at least one item, then this rule allows
 | 
			
		||||
	// traffic only if the traffic matches at least one port in the list.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Ports []NetworkPolicyPort
 | 
			
		||||
 | 
			
		||||
	// List of sources which should be able to access the pods selected for this rule.
 | 
			
		||||
	// from is a list of sources which should be able to access the pods selected for this rule.
 | 
			
		||||
	// Items in this list are combined using a logical OR operation. If this field is
 | 
			
		||||
	// empty or missing, this rule matches all sources (traffic not restricted by
 | 
			
		||||
	// source). If this field is present and contains at least one item, this rule
 | 
			
		||||
@@ -119,7 +120,7 @@ type NetworkPolicyIngressRule struct {
 | 
			
		||||
// matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to.
 | 
			
		||||
// This type is beta-level in 1.8
 | 
			
		||||
type NetworkPolicyEgressRule struct {
 | 
			
		||||
	// List of destination ports for outgoing traffic.
 | 
			
		||||
	// ports is a list of destination ports for outgoing traffic.
 | 
			
		||||
	// Each item in this list is combined using a logical OR. If this field is
 | 
			
		||||
	// empty or missing, this rule matches all ports (traffic not restricted by port).
 | 
			
		||||
	// If this field is present and contains at least one item, then this rule allows
 | 
			
		||||
@@ -127,7 +128,7 @@ type NetworkPolicyEgressRule struct {
 | 
			
		||||
	// +optional
 | 
			
		||||
	Ports []NetworkPolicyPort
 | 
			
		||||
 | 
			
		||||
	// List of destinations for outgoing traffic of pods selected for this rule.
 | 
			
		||||
	// to is a list of destinations for outgoing traffic of pods selected for this rule.
 | 
			
		||||
	// Items in this list are combined using a logical OR operation. If this field is
 | 
			
		||||
	// empty or missing, this rule matches all destinations (traffic not restricted by
 | 
			
		||||
	// destination). If this field is present and contains at least one item, this rule
 | 
			
		||||
@@ -138,19 +139,19 @@ type NetworkPolicyEgressRule struct {
 | 
			
		||||
 | 
			
		||||
// NetworkPolicyPort describes a port to allow traffic on
 | 
			
		||||
type NetworkPolicyPort struct {
 | 
			
		||||
	// The protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this
 | 
			
		||||
	// field defaults to TCP.
 | 
			
		||||
	// protocol represents the protocol (TCP, UDP, or SCTP) which traffic must match.
 | 
			
		||||
	// If not specified, this field defaults to TCP.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Protocol *api.Protocol
 | 
			
		||||
 | 
			
		||||
	// The port on the given protocol. This can either be a numerical or named
 | 
			
		||||
	// port represents the port on the given protocol. This can either be a numerical or named
 | 
			
		||||
	// port on a pod. If this field is not provided, this matches all port names and
 | 
			
		||||
	// numbers.
 | 
			
		||||
	// If present, only traffic on the specified protocol AND port will be matched.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Port *intstr.IntOrString
 | 
			
		||||
 | 
			
		||||
	// If set, indicates that the range of ports from port to endPort, inclusive,
 | 
			
		||||
	// endPort indicates that the range of ports from port to endPort if set, inclusive,
 | 
			
		||||
	// should be allowed by the policy. This field cannot be defined if the port field
 | 
			
		||||
	// is not defined or if the port field is defined as a named (string) port.
 | 
			
		||||
	// The endPort must be equal or greater than port.
 | 
			
		||||
@@ -162,37 +163,38 @@ type NetworkPolicyPort struct {
 | 
			
		||||
// to the pods matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs
 | 
			
		||||
// that should not be included within this rule.
 | 
			
		||||
type IPBlock struct {
 | 
			
		||||
	// CIDR is a string representing the IP Block
 | 
			
		||||
	// cidr is a string representing the IPBlock
 | 
			
		||||
	// Valid examples are "192.168.1.0/24" or "2001:db8::/64"
 | 
			
		||||
	CIDR string
 | 
			
		||||
	// Except is a slice of CIDRs that should not be included within an IP Block
 | 
			
		||||
 | 
			
		||||
	// except is a list of CIDRs that should not be included within the IPBlock
 | 
			
		||||
	// Valid examples are "192.168.1.0/24" or "2001:db8::/64"
 | 
			
		||||
	// Except values will be rejected if they are outside the CIDR range
 | 
			
		||||
	// Except values will be rejected if they are outside the cidr range
 | 
			
		||||
	// +optional
 | 
			
		||||
	Except []string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NetworkPolicyPeer describes a peer to allow traffic to/from.
 | 
			
		||||
type NetworkPolicyPeer struct {
 | 
			
		||||
	// This is a label selector which selects Pods. This field follows standard label
 | 
			
		||||
	// podSelector is a label selector which selects pods. This field follows standard label
 | 
			
		||||
	// selector semantics; if present but empty, it selects all pods.
 | 
			
		||||
	//
 | 
			
		||||
	// If NamespaceSelector is also set, then the NetworkPolicyPeer as a whole selects
 | 
			
		||||
	// the Pods matching PodSelector in the Namespaces selected by NamespaceSelector.
 | 
			
		||||
	// Otherwise it selects the Pods matching PodSelector in the policy's own Namespace.
 | 
			
		||||
	// If namespaceSelector is also set, then the NetworkPolicyPeer as a whole selects
 | 
			
		||||
	// the pods matching podSelector in the Namespaces selected by namespaceSelector.
 | 
			
		||||
	// Otherwise it selects the pods matching podSelector in the policy's own namespace.
 | 
			
		||||
	// +optional
 | 
			
		||||
	PodSelector *metav1.LabelSelector
 | 
			
		||||
 | 
			
		||||
	// Selects Namespaces using cluster-scoped labels. This field follows standard label
 | 
			
		||||
	// selector semantics; if present but empty, it selects all namespaces.
 | 
			
		||||
	// namespaceSelector selects namespaces using cluster-scoped labels. This field follows
 | 
			
		||||
	// standard label selector semantics; if present but empty, it selects all namespaces.
 | 
			
		||||
	//
 | 
			
		||||
	// If PodSelector is also set, then the NetworkPolicyPeer as a whole selects
 | 
			
		||||
	// the Pods matching PodSelector in the Namespaces selected by NamespaceSelector.
 | 
			
		||||
	// Otherwise it selects all Pods in the Namespaces selected by NamespaceSelector.
 | 
			
		||||
	// If podSelector is also set, then the NetworkPolicyPeer as a whole selects
 | 
			
		||||
	// the pods matching podSelector in the namespaces selected by namespaceSelector.
 | 
			
		||||
	// Otherwise it selects all pods in the namespaces selected by namespaceSelector.
 | 
			
		||||
	// +optional
 | 
			
		||||
	NamespaceSelector *metav1.LabelSelector
 | 
			
		||||
 | 
			
		||||
	// IPBlock defines policy on a particular IPBlock. If this field is set then
 | 
			
		||||
	// ipBlock defines policy on a particular IPBlock. If this field is set then
 | 
			
		||||
	// neither of the other fields can be.
 | 
			
		||||
	// +optional
 | 
			
		||||
	IPBlock *IPBlock
 | 
			
		||||
@@ -228,9 +230,9 @@ const (
 | 
			
		||||
	NetworkPolicyConditionReasonFeatureNotSupported NetworkPolicyConditionReason = "FeatureNotSupported"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// NetworkPolicyStatus describe the current state of the NetworkPolicy.
 | 
			
		||||
// NetworkPolicyStatus describes the current state of the NetworkPolicy.
 | 
			
		||||
type NetworkPolicyStatus struct {
 | 
			
		||||
	// Conditions holds an array of metav1.Condition that describe the state of the NetworkPolicy.
 | 
			
		||||
	// conditions holds an array of metav1.Condition that describes the state of the NetworkPolicy.
 | 
			
		||||
	Conditions []metav1.Condition
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -239,6 +241,7 @@ type NetworkPolicyStatus struct {
 | 
			
		||||
// NetworkPolicyList is a list of NetworkPolicy objects.
 | 
			
		||||
type NetworkPolicyList struct {
 | 
			
		||||
	metav1.TypeMeta
 | 
			
		||||
 | 
			
		||||
	// +optional
 | 
			
		||||
	metav1.ListMeta
 | 
			
		||||
 | 
			
		||||
@@ -253,17 +256,18 @@ type NetworkPolicyList struct {
 | 
			
		||||
// based virtual hosting etc.
 | 
			
		||||
type Ingress struct {
 | 
			
		||||
	metav1.TypeMeta
 | 
			
		||||
 | 
			
		||||
	// Standard object's metadata.
 | 
			
		||||
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
 | 
			
		||||
	// +optional
 | 
			
		||||
	metav1.ObjectMeta
 | 
			
		||||
 | 
			
		||||
	// Spec is the desired state of the Ingress.
 | 
			
		||||
	// spec is the desired state of the Ingress.
 | 
			
		||||
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
 | 
			
		||||
	// +optional
 | 
			
		||||
	Spec IngressSpec
 | 
			
		||||
 | 
			
		||||
	// Status is the current state of the Ingress.
 | 
			
		||||
	// status is the current state of the Ingress.
 | 
			
		||||
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
 | 
			
		||||
	// +optional
 | 
			
		||||
	Status IngressStatus
 | 
			
		||||
@@ -274,18 +278,19 @@ type Ingress struct {
 | 
			
		||||
// IngressList is a collection of Ingress.
 | 
			
		||||
type IngressList struct {
 | 
			
		||||
	metav1.TypeMeta
 | 
			
		||||
 | 
			
		||||
	// Standard object's metadata.
 | 
			
		||||
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
 | 
			
		||||
	// +optional
 | 
			
		||||
	metav1.ListMeta
 | 
			
		||||
 | 
			
		||||
	// Items is the list of Ingress.
 | 
			
		||||
	// items is the list of Ingress.
 | 
			
		||||
	Items []Ingress
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IngressSpec describes the Ingress the user wishes to exist.
 | 
			
		||||
type IngressSpec struct {
 | 
			
		||||
	// IngressClassName is the name of the IngressClass cluster resource. The
 | 
			
		||||
	// ingressClassName is the name of the IngressClass cluster resource. The
 | 
			
		||||
	// associated IngressClass defines which controller will implement the
 | 
			
		||||
	// resource. This replaces the deprecated `kubernetes.io/ingress.class`
 | 
			
		||||
	// annotation. For backwards compatibility, when that annotation is set, it
 | 
			
		||||
@@ -298,23 +303,23 @@ type IngressSpec struct {
 | 
			
		||||
	// +optional
 | 
			
		||||
	IngressClassName *string
 | 
			
		||||
 | 
			
		||||
	// DefaultBackend is the backend that should handle requests that don't
 | 
			
		||||
	// defaultBackend is the backend that should handle requests that don't
 | 
			
		||||
	// match any rule. If Rules are not specified, DefaultBackend must be specified.
 | 
			
		||||
	// If DefaultBackend is not set, the handling of requests that do not match any
 | 
			
		||||
	// of the rules will be up to the Ingress controller.
 | 
			
		||||
	// +optional
 | 
			
		||||
	DefaultBackend *IngressBackend
 | 
			
		||||
 | 
			
		||||
	// TLS configuration. Currently the Ingress only supports a single TLS
 | 
			
		||||
	// port, 443. If multiple members of this list specify different hosts, they
 | 
			
		||||
	// will be multiplexed on the same port according to the hostname specified
 | 
			
		||||
	// tls represents the TLS configuration. Currently the ingress only supports a
 | 
			
		||||
	// single TLS port, 443. If multiple members of this list specify different hosts,
 | 
			
		||||
	// they will be multiplexed on the same port according to the hostname specified
 | 
			
		||||
	// through the SNI TLS extension, if the ingress controller fulfilling the
 | 
			
		||||
	// ingress supports SNI.
 | 
			
		||||
	// +listType=atomic
 | 
			
		||||
	// +optional
 | 
			
		||||
	TLS []IngressTLS
 | 
			
		||||
 | 
			
		||||
	// A list of host rules used to configure the Ingress. If unspecified, or
 | 
			
		||||
	// rules is a list of host rules used to configure the Ingress. If unspecified, or
 | 
			
		||||
	// no rule matches, all traffic is sent to the default backend.
 | 
			
		||||
	// +listType=atomic
 | 
			
		||||
	// +optional
 | 
			
		||||
@@ -330,9 +335,10 @@ type IngressSpec struct {
 | 
			
		||||
// resources without a class specified will be assigned this default class.
 | 
			
		||||
type IngressClass struct {
 | 
			
		||||
	metav1.TypeMeta
 | 
			
		||||
 | 
			
		||||
	metav1.ObjectMeta
 | 
			
		||||
 | 
			
		||||
	// Spec is the desired state of the IngressClass.
 | 
			
		||||
	// spec is the desired state of the IngressClass.
 | 
			
		||||
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
 | 
			
		||||
	// +optional
 | 
			
		||||
	Spec IngressClassSpec
 | 
			
		||||
@@ -340,15 +346,15 @@ type IngressClass struct {
 | 
			
		||||
 | 
			
		||||
// IngressClassSpec provides information about the class of an Ingress.
 | 
			
		||||
type IngressClassSpec struct {
 | 
			
		||||
	// Controller refers to the name of the controller that should handle this
 | 
			
		||||
	// controller refers to the name of the controller that should handle this
 | 
			
		||||
	// class. This allows for different "flavors" that are controlled by the
 | 
			
		||||
	// same controller. For example, you may have different Parameters for the
 | 
			
		||||
	// same controller. For example, you may have different parameters for the
 | 
			
		||||
	// same implementing controller. This should be specified as a
 | 
			
		||||
	// domain-prefixed path no more than 250 characters in length, e.g.
 | 
			
		||||
	// "acme.io/ingress-controller". This field is immutable.
 | 
			
		||||
	Controller string
 | 
			
		||||
 | 
			
		||||
	// Parameters is a link to a custom resource containing additional
 | 
			
		||||
	// parameters is a link to a custom resource containing additional
 | 
			
		||||
	// configuration for the controller. This is optional if the controller does
 | 
			
		||||
	// not require extra parameters.
 | 
			
		||||
	// +optional
 | 
			
		||||
@@ -367,20 +373,24 @@ const (
 | 
			
		||||
// IngressClassParametersReference identifies an API object. This can be used
 | 
			
		||||
// to specify a cluster or namespace-scoped resource.
 | 
			
		||||
type IngressClassParametersReference struct {
 | 
			
		||||
	// APIGroup is the group for the resource being referenced. If APIGroup is
 | 
			
		||||
	// not specified, the specified Kind must be in the core API group. For any
 | 
			
		||||
	// other third-party types, APIGroup is required.
 | 
			
		||||
	// apiGroup is the group for the resource being referenced. If apiGroup is
 | 
			
		||||
	// not specified, the specified kind must be in the core API group. For any
 | 
			
		||||
	// other third-party types, apiGroup is required.
 | 
			
		||||
	// +optional
 | 
			
		||||
	APIGroup *string
 | 
			
		||||
	// Kind is the type of resource being referenced.
 | 
			
		||||
 | 
			
		||||
	// kind is the type of resource being referenced.
 | 
			
		||||
	Kind string
 | 
			
		||||
	// Name is the name of resource being referenced.
 | 
			
		||||
 | 
			
		||||
	// name is the name of resource being referenced.
 | 
			
		||||
	Name string
 | 
			
		||||
	// Scope represents if this refers to a cluster or namespace scoped resource.
 | 
			
		||||
 | 
			
		||||
	// scope represents if this refers to a cluster or namespace scoped resource.
 | 
			
		||||
	// This may be set to "Cluster" (default) or "Namespace".
 | 
			
		||||
	// +optional
 | 
			
		||||
	Scope *string
 | 
			
		||||
	// Namespace is the namespace of the resource being referenced. This field is
 | 
			
		||||
 | 
			
		||||
	// namespace is the namespace of the resource being referenced. This field is
 | 
			
		||||
	// required when scope is set to "Namespace" and must be unset when scope is set to
 | 
			
		||||
	// "Cluster".
 | 
			
		||||
	// +optional
 | 
			
		||||
@@ -392,71 +402,73 @@ type IngressClassParametersReference struct {
 | 
			
		||||
// IngressClassList is a collection of IngressClasses.
 | 
			
		||||
type IngressClassList struct {
 | 
			
		||||
	metav1.TypeMeta
 | 
			
		||||
 | 
			
		||||
	// Standard object's metadata.
 | 
			
		||||
	// +optional
 | 
			
		||||
	metav1.ListMeta
 | 
			
		||||
 | 
			
		||||
	// Items is the list of IngressClasses.
 | 
			
		||||
	// items is the list of IngressClasses.
 | 
			
		||||
	Items []IngressClass
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IngressTLS describes the transport layer security associated with an Ingress.
 | 
			
		||||
// IngressTLS describes the transport layer security associated with an ingress.
 | 
			
		||||
type IngressTLS struct {
 | 
			
		||||
	// Hosts are a list of hosts included in the TLS certificate. The values in
 | 
			
		||||
	// hosts is a list of hosts included in the TLS certificate. The values in
 | 
			
		||||
	// this list must match the name/s used in the tlsSecret. Defaults to the
 | 
			
		||||
	// wildcard host setting for the loadbalancer controller fulfilling this
 | 
			
		||||
	// Ingress, if left unspecified.
 | 
			
		||||
	// +listType=atomic
 | 
			
		||||
	// +optional
 | 
			
		||||
	Hosts []string
 | 
			
		||||
	// SecretName is the name of the secret used to terminate TLS traffic on
 | 
			
		||||
 | 
			
		||||
	// secretName is the name of the secret used to terminate TLS traffic on
 | 
			
		||||
	// port 443. Field is left optional to allow TLS routing based on SNI
 | 
			
		||||
	// hostname alone. If the SNI host in a listener conflicts with the "Host"
 | 
			
		||||
	// header field used by an IngressRule, the SNI host is used for termination
 | 
			
		||||
	// and value of the Host header is used for routing.
 | 
			
		||||
	// and value of the "Host" header is used for routing.
 | 
			
		||||
	// +optional
 | 
			
		||||
	SecretName string
 | 
			
		||||
	// TODO: Consider specifying different modes of termination, protocols etc.
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IngressStatus describe the current state of the Ingress.
 | 
			
		||||
// IngressStatus describes the current state of the Ingress.
 | 
			
		||||
type IngressStatus struct {
 | 
			
		||||
	// LoadBalancer contains the current status of the load-balancer.
 | 
			
		||||
	// loadBalancer contains the current status of the load-balancer.
 | 
			
		||||
	// +optional
 | 
			
		||||
	LoadBalancer IngressLoadBalancerStatus
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IngressLoadBalancerStatus represents the status of a load-balancer
 | 
			
		||||
type IngressLoadBalancerStatus struct {
 | 
			
		||||
	// Ingress is a list containing ingress points for the load-balancer.
 | 
			
		||||
	// ingress is a list containing ingress points for the load-balancer.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Ingress []IngressLoadBalancerIngress
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IngressLoadBalancerIngress represents the status of a load-balancer ingress point.
 | 
			
		||||
type IngressLoadBalancerIngress struct {
 | 
			
		||||
	// IP is set for load-balancer ingress points that are IP based.
 | 
			
		||||
	// ip is set for load-balancer ingress points that are IP based.
 | 
			
		||||
	// +optional
 | 
			
		||||
	IP string
 | 
			
		||||
 | 
			
		||||
	// Hostname is set for load-balancer ingress points that are DNS based.
 | 
			
		||||
	// hostname is set for load-balancer ingress points that are DNS based.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Hostname string
 | 
			
		||||
 | 
			
		||||
	// Ports provides information about the ports exposed by this LoadBalancer.
 | 
			
		||||
	// ports provides information about the ports exposed by this LoadBalancer.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Ports []IngressPortStatus
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IngressPortStatus represents the error condition of an ingress port
 | 
			
		||||
type IngressPortStatus struct {
 | 
			
		||||
	// Port is the port number of the ingress port.
 | 
			
		||||
	// port is the port number of the ingress port.
 | 
			
		||||
	Port int32
 | 
			
		||||
 | 
			
		||||
	// Protocol is the protocol of the ingress port.
 | 
			
		||||
	// protocol is the protocol of the ingress port.
 | 
			
		||||
	Protocol api.Protocol
 | 
			
		||||
 | 
			
		||||
	// Error indicates a problem on this port.
 | 
			
		||||
	// error indicates a problem on this port.
 | 
			
		||||
	// The format of the error must comply with the following rules:
 | 
			
		||||
	// - Kubernetes-defined error values use CamelCase names
 | 
			
		||||
	// - Provider-specific error values must follow label-name style (e.g.
 | 
			
		||||
@@ -469,7 +481,7 @@ type IngressPortStatus struct {
 | 
			
		||||
// host match, then routed to the backend associated with the matching
 | 
			
		||||
// IngressRuleValue.
 | 
			
		||||
type IngressRule struct {
 | 
			
		||||
	// Host is the fully qualified domain name of a network host, as defined by RFC 3986.
 | 
			
		||||
	// host is the fully qualified domain name of a network host, as defined by RFC 3986.
 | 
			
		||||
	// Note the following deviations from the "host" part of the
 | 
			
		||||
	// URI as defined in RFC 3986:
 | 
			
		||||
	// 1. IPs are not allowed. Currently an IngressRuleValue can only apply to
 | 
			
		||||
@@ -482,17 +494,18 @@ type IngressRule struct {
 | 
			
		||||
	// IngressRuleValue. If the host is unspecified, the Ingress routes all
 | 
			
		||||
	// traffic based on the specified IngressRuleValue.
 | 
			
		||||
	//
 | 
			
		||||
	// Host can be "precise" which is a domain name without the terminating dot of
 | 
			
		||||
	// host can be "precise" which is a domain name without the terminating dot of
 | 
			
		||||
	// a network host (e.g. "foo.bar.com") or "wildcard", which is a domain name
 | 
			
		||||
	// prefixed with a single wildcard label (e.g. "*.foo.com").
 | 
			
		||||
	// The wildcard character '*' must appear by itself as the first DNS label and
 | 
			
		||||
	// matches only a single label. You cannot have a wildcard label by itself (e.g. Host == "*").
 | 
			
		||||
	// Requests will be matched against the Host field in the following way:
 | 
			
		||||
	// 1. If Host is precise, the request matches this rule if the http host header is equal to Host.
 | 
			
		||||
	// 2. If Host is a wildcard, then the request matches this rule if the http host header
 | 
			
		||||
	// Requests will be matched against the host field in the following way:
 | 
			
		||||
	// 1. If host is precise, the request matches this rule if the http host header is equal to Host.
 | 
			
		||||
	// 2. If host is a wildcard, then the request matches this rule if the http host header
 | 
			
		||||
	// is to equal to the suffix (removing the first label) of the wildcard rule.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Host string
 | 
			
		||||
 | 
			
		||||
	// IngressRuleValue represents a rule to route requests for this
 | 
			
		||||
	// IngressRule. If unspecified, the rule defaults to a http catch-all.
 | 
			
		||||
	// Whether that sends just traffic matching the host to the default backend
 | 
			
		||||
@@ -524,7 +537,7 @@ type IngressRuleValue struct {
 | 
			
		||||
// to match against everything after the last '/' and before the first '?'
 | 
			
		||||
// or '#'.
 | 
			
		||||
type HTTPIngressRuleValue struct {
 | 
			
		||||
	// A collection of paths that map requests to backends.
 | 
			
		||||
	// paths is a collection of paths that map requests to backends.
 | 
			
		||||
	// +listType=atomic
 | 
			
		||||
	Paths []HTTPIngressPath
 | 
			
		||||
	// TODO: Consider adding fields for ingress-type specific global
 | 
			
		||||
@@ -564,32 +577,32 @@ const (
 | 
			
		||||
// HTTPIngressPath associates a path with a backend. Incoming urls matching the
 | 
			
		||||
// path are forwarded to the backend.
 | 
			
		||||
type HTTPIngressPath struct {
 | 
			
		||||
	// Path is matched against the path of an incoming request. Currently it can
 | 
			
		||||
	// path is matched against the path of an incoming request. Currently it can
 | 
			
		||||
	// contain characters disallowed from the conventional "path" part of a URL
 | 
			
		||||
	// as defined by RFC 3986. Paths must begin with a '/' and must be present
 | 
			
		||||
	// when using PathType with value "Exact" or "Prefix".
 | 
			
		||||
	// +optional
 | 
			
		||||
	Path string
 | 
			
		||||
 | 
			
		||||
	// PathType determines the interpretation of the Path matching. PathType can
 | 
			
		||||
	// pathType determines the interpretation of the path matching. PathType can
 | 
			
		||||
	// be one of Exact, Prefix, or ImplementationSpecific. Implementations are
 | 
			
		||||
	// required to support all path types.
 | 
			
		||||
	// +optional
 | 
			
		||||
	PathType *PathType
 | 
			
		||||
 | 
			
		||||
	// Backend defines the referenced service endpoint to which the traffic
 | 
			
		||||
	// backend defines the referenced service endpoint to which the traffic
 | 
			
		||||
	// will be forwarded to.
 | 
			
		||||
	Backend IngressBackend
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IngressBackend describes all endpoints for a given service and port.
 | 
			
		||||
type IngressBackend struct {
 | 
			
		||||
	// Service references a Service as a Backend.
 | 
			
		||||
	// service references a service as a backend.
 | 
			
		||||
	// This is a mutually exclusive setting with "Resource".
 | 
			
		||||
	// +optional
 | 
			
		||||
	Service *IngressServiceBackend
 | 
			
		||||
 | 
			
		||||
	// Resource is an ObjectRef to another Kubernetes resource in the namespace
 | 
			
		||||
	// resource is an ObjectRef to another Kubernetes resource in the namespace
 | 
			
		||||
	// of the Ingress object. If resource is specified, a service.Name and
 | 
			
		||||
	// service.Port must not be specified.
 | 
			
		||||
	// This is a mutually exclusive setting with "Service".
 | 
			
		||||
@@ -599,24 +612,24 @@ type IngressBackend struct {
 | 
			
		||||
 | 
			
		||||
// IngressServiceBackend references a Kubernetes Service as a Backend.
 | 
			
		||||
type IngressServiceBackend struct {
 | 
			
		||||
	// Name is the referenced service. The service must exist in
 | 
			
		||||
	// name is the referenced service. The service must exist in
 | 
			
		||||
	// the same namespace as the Ingress object.
 | 
			
		||||
	Name string
 | 
			
		||||
 | 
			
		||||
	// Port of the referenced service. A port name or port number
 | 
			
		||||
	// port of the referenced service. A port name or port number
 | 
			
		||||
	// is required for a IngressServiceBackend.
 | 
			
		||||
	Port ServiceBackendPort
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ServiceBackendPort is the service port being referenced.
 | 
			
		||||
type ServiceBackendPort struct {
 | 
			
		||||
	// Name is the name of the port on the Service.
 | 
			
		||||
	// name is the name of the port on the Service.
 | 
			
		||||
	// This must be an IANA_SVC_NAME (following RFC6335).
 | 
			
		||||
	// This is a mutually exclusive setting with "Number".
 | 
			
		||||
	// +optional
 | 
			
		||||
	Name string
 | 
			
		||||
 | 
			
		||||
	// Number is the numerical port number (e.g. 80) on the Service.
 | 
			
		||||
	// number is the numerical port number (e.g. 80) on the Service.
 | 
			
		||||
	// This is a mutually exclusive setting with "Name".
 | 
			
		||||
	// +optional
 | 
			
		||||
	Number int32
 | 
			
		||||
@@ -637,6 +650,7 @@ type ServiceBackendPort struct {
 | 
			
		||||
// selector matches the Node may be used.
 | 
			
		||||
type ClusterCIDR struct {
 | 
			
		||||
	metav1.TypeMeta
 | 
			
		||||
 | 
			
		||||
	metav1.ObjectMeta
 | 
			
		||||
 | 
			
		||||
	Spec ClusterCIDRSpec
 | 
			
		||||
@@ -644,13 +658,13 @@ type ClusterCIDR struct {
 | 
			
		||||
 | 
			
		||||
// ClusterCIDRSpec defines the desired state of ClusterCIDR.
 | 
			
		||||
type ClusterCIDRSpec struct {
 | 
			
		||||
	// NodeSelector defines which nodes the config is applicable to.
 | 
			
		||||
	// An empty or nil NodeSelector selects all nodes.
 | 
			
		||||
	// nodeSelector defines which nodes the config is applicable to.
 | 
			
		||||
	// An empty or nil nodeSelector selects all nodes.
 | 
			
		||||
	// This field is immutable.
 | 
			
		||||
	// +optional
 | 
			
		||||
	NodeSelector *api.NodeSelector
 | 
			
		||||
 | 
			
		||||
	// PerNodeHostBits defines the number of host bits to be configured per node.
 | 
			
		||||
	// perNodeHostBits defines the number of host bits to be configured per node.
 | 
			
		||||
	// A subnet mask determines how much of the address is used for network bits
 | 
			
		||||
	// and host bits. For example an IPv4 address of 192.168.0.0/24, splits the
 | 
			
		||||
	// address into 24 bits for the network portion and 8 bits for the host portion.
 | 
			
		||||
@@ -660,14 +674,14 @@ type ClusterCIDRSpec struct {
 | 
			
		||||
	// +required
 | 
			
		||||
	PerNodeHostBits int32
 | 
			
		||||
 | 
			
		||||
	// IPv4 defines an IPv4 IP block in CIDR notation(e.g. "10.0.0.0/8").
 | 
			
		||||
	// At least one of IPv4 and IPv6 must be specified.
 | 
			
		||||
	// ipv4 defines an IPv4 IP block in CIDR notation(e.g. "10.0.0.0/8").
 | 
			
		||||
	// At least one of ipv4 and ipv6 must be specified.
 | 
			
		||||
	// This field is immutable.
 | 
			
		||||
	// +optional
 | 
			
		||||
	IPv4 string
 | 
			
		||||
 | 
			
		||||
	// IPv6 defines an IPv6 IP block in CIDR notation(e.g. "2001:db8::/64").
 | 
			
		||||
	// At least one of IPv4 and IPv6 must be specified.
 | 
			
		||||
	// ipv6 defines an IPv6 IP block in CIDR notation(e.g. "2001:db8::/64").
 | 
			
		||||
	// At least one of ipv4 and ipv6 must be specified.
 | 
			
		||||
	// This field is immutable.
 | 
			
		||||
	// +optional
 | 
			
		||||
	IPv6 string
 | 
			
		||||
@@ -682,6 +696,6 @@ type ClusterCIDRList struct {
 | 
			
		||||
	// +optional
 | 
			
		||||
	metav1.ListMeta
 | 
			
		||||
 | 
			
		||||
	// Items is the list of ClusterCIDRs.
 | 
			
		||||
	// items is the list of ClusterCIDRs.
 | 
			
		||||
	Items []ClusterCIDR
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user