cilium: github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2 Index | Files | Directories

package v2

import "github.com/cilium/cilium/pkg/k8s/apis/cilium.io/v2"

Package v2 is the v2 version of the API. +groupName=cilium.io

Index

Package Files

doc.go register.go types.go zz_generated.deepcopy.go zz_generated.deepequal.go

Constants

const (
    // CustomResourceDefinitionGroup is the name of the third party resource group
    CustomResourceDefinitionGroup = k8sconst.CustomResourceDefinitionGroup

    // CustomResourceDefinitionVersion is the current version of the resource
    CustomResourceDefinitionVersion = "v2"

    // CustomResourceDefinitionSchemaVersion is semver-conformant version of CRD schema
    // Used to determine if CRD needs to be updated in cluster
    CustomResourceDefinitionSchemaVersion = "1.22"

    // CustomResourceDefinitionSchemaVersionKey is key to label which holds the CRD schema version
    CustomResourceDefinitionSchemaVersionKey = "io.cilium.k8s.crd.schema.version"

    // CNPSingularName is the singular name of Cilium Network Policy
    CNPSingularName = "ciliumnetworkpolicy"

    // CNPPluralName is the plural name of Cilium Network Policy
    CNPPluralName = "ciliumnetworkpolicies"

    // CNPKindDefinition is the kind name for Cilium Network Policy
    CNPKindDefinition = "CiliumNetworkPolicy"

    // CNPName is the full name of Cilium Network Policy
    CNPName = CNPPluralName + "." + CustomResourceDefinitionGroup

    // CCNPSingularName is the singular name of Cilium Cluster wide Network Policy
    CCNPSingularName = "ciliumclusterwidenetworkpolicy"

    // CCNPPluralName is the plural name of Cilium Cluster wide Network Policy
    CCNPPluralName = "ciliumclusterwidenetworkpolicies"

    // CCNPKindDefinition is the kind name for Cilium Cluster wide Network Policy
    CCNPKindDefinition = "CiliumClusterwideNetworkPolicy"

    // CCNPName is the full name of Cilium Cluster wide Network Policy
    CCNPName = CCNPPluralName + "." + CustomResourceDefinitionGroup

    // CESingularName is the singular name of Cilium Endpoint
    CEPSingularName = "ciliumendpoint"

    // CEPluralName is the plural name of Cilium Endpoint
    CEPPluralName = "ciliumendpoints"

    // CEKindDefinition is the kind name for Cilium Endpoint
    CEPKindDefinition = "CiliumEndpoint"

    // CEPName is the full name of Cilium Endpoint
    CEPName = CEPPluralName + "." + CustomResourceDefinitionGroup

    // CNSingularName is the singular name of Cilium Node
    CNSingularName = "ciliumnode"

    // CNPluralName is the plural name of Cilium Node
    CNPluralName = "ciliumnodes"

    // CNKindDefinition is the kind name for Cilium Node
    CNKindDefinition = "CiliumNode"

    // CNName is the full name of Cilium Node
    CNName = CNPluralName + "." + CustomResourceDefinitionGroup

    // CIDSingularName is the singular name of Cilium Identity
    CIDSingularName = "ciliumidentity"

    // CIDPluralName is the plural name of Cilium Identity
    CIDPluralName = "ciliumidentities"

    // CIDKindDefinition is the kind name for Cilium Identity
    CIDKindDefinition = "CiliumIdentity"

    // CIDName is the full name of Cilium Identity
    CIDName = CIDPluralName + "." + CustomResourceDefinitionGroup
)
const EndpointStatusLogEntries = 5

EndpointStatusLogEntries is the maximum number of log entries in EndpointStatus.Log

Variables

var (
    // SchemeBuilder is needed by DeepCopy generator.
    SchemeBuilder runtime.SchemeBuilder

    // AddToScheme adds all types of this clientset into the given scheme.
    // This allows composition of clientsets, like in:
    //
    //   import (
    //     "k8s.io/client-go/kubernetes"
    //     clientsetscheme "k8s.io/client-go/kuberentes/scheme"
    //     aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
    //   )
    //
    //   kclientset, _ := kubernetes.NewForConfig(c)
    //   aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
    AddToScheme = localSchemeBuilder.AddToScheme
)
var SchemeGroupVersion = schema.GroupVersion{
    Group:   CustomResourceDefinitionGroup,
    Version: CustomResourceDefinitionVersion,
}

SchemeGroupVersion is group version used to register these objects

func Resource Uses

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

type AddressPair Uses

type AddressPair struct {
    IPV4 string `json:"ipv4,omitempty"`
    IPV6 string `json:"ipv6,omitempty"`
}

AddressPair is is a par of IPv4 and/or IPv6 address +k8s:deepcopy-gen=false

func (*AddressPair) DeepEqual Uses

func (in *AddressPair) DeepEqual(other *AddressPair) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type AddressPairList Uses

type AddressPairList []*AddressPair

AddressPairList is a list of address pairs +k8s:deepcopy-gen=false

func (*AddressPairList) DeepEqual Uses

func (in *AddressPairList) DeepEqual(other *AddressPairList) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

func (AddressPairList) Sort Uses

func (a AddressPairList) Sort()

Sort sorts an AddressPairList by IPv4 and IPv6 address

type AllowedIdentityList Uses

type AllowedIdentityList []AllowedIdentityTuple

AllowedIdentityList is a list of AllowedIdentityTuple +k8s:deepcopy-gen=false

func (*AllowedIdentityList) DeepEqual Uses

func (in *AllowedIdentityList) DeepEqual(other *AllowedIdentityList) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

func (AllowedIdentityList) Sort Uses

func (a AllowedIdentityList) Sort()

Sort sorts a list AllowedIdentityTuple by numeric identity, port and protocol

type AllowedIdentityTuple Uses

type AllowedIdentityTuple struct {
    Identity       uint64            `json:"identity,omitempty"`
    IdentityLabels map[string]string `json:"identity-labels,omitempty"`
    DestPort       uint16            `json:"dest-port,omitempty"`
    Protocol       uint8             `json:"protocol,omitempty"`
}

AllowedIdentityTuple specifies an allowed peer by identity, destination port and protocol

func (*AllowedIdentityTuple) DeepCopy Uses

func (in *AllowedIdentityTuple) DeepCopy() *AllowedIdentityTuple

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

func (*AllowedIdentityTuple) DeepCopyInto Uses

func (in *AllowedIdentityTuple) DeepCopyInto(out *AllowedIdentityTuple)

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

func (*AllowedIdentityTuple) DeepEqual Uses

func (in *AllowedIdentityTuple) DeepEqual(other *AllowedIdentityTuple) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type CiliumClusterwideNetworkPolicy Uses

type CiliumClusterwideNetworkPolicy struct {
    *CiliumNetworkPolicy

    // Status is the status of the Cilium policy rule
    // +optional
    // The reason this field exists in this structure is due a bug in the k8s code-generator
    // that doesn't create a `UpdateStatus` method because the field does not exist in
    // the structure.
    Status CiliumNetworkPolicyStatus `json:"status"`
}

CiliumClusterwideNetworkPolicy is a Kubernetes third-party resource with an modified version of CiliumNetworkPolicy which is cluster scoped rather than namespace scoped. +deepequal-gen=false

func (*CiliumClusterwideNetworkPolicy) DeepCopy Uses

func (in *CiliumClusterwideNetworkPolicy) DeepCopy() *CiliumClusterwideNetworkPolicy

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

func (*CiliumClusterwideNetworkPolicy) DeepCopyInto Uses

func (in *CiliumClusterwideNetworkPolicy) DeepCopyInto(out *CiliumClusterwideNetworkPolicy)

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

func (*CiliumClusterwideNetworkPolicy) DeepCopyObject Uses

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

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

type CiliumClusterwideNetworkPolicyList Uses

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

    // Items is a list of CiliumClusterwideNetworkPolicy
    Items []CiliumClusterwideNetworkPolicy `json:"items"`
}

CiliumClusterwideNetworkPolicyList is a list of CiliumClusterwideNetworkPolicy objects +k8s:openapi-gen=false +deepequal-gen=false

func (*CiliumClusterwideNetworkPolicyList) DeepCopy Uses

func (in *CiliumClusterwideNetworkPolicyList) DeepCopy() *CiliumClusterwideNetworkPolicyList

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

func (*CiliumClusterwideNetworkPolicyList) DeepCopyInto Uses

func (in *CiliumClusterwideNetworkPolicyList) DeepCopyInto(out *CiliumClusterwideNetworkPolicyList)

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

func (*CiliumClusterwideNetworkPolicyList) DeepCopyObject Uses

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

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

type CiliumEndpoint Uses

type CiliumEndpoint struct {
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.TypeMeta `json:",inline"`
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.ObjectMeta `json:"metadata"`

    Status EndpointStatus `json:"status"`
}

CiliumEndpoint is the status of a Cilium policy rule +k8s:openapi-gen=false

func (*CiliumEndpoint) DeepCopy Uses

func (in *CiliumEndpoint) DeepCopy() *CiliumEndpoint

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

func (*CiliumEndpoint) DeepCopyInto Uses

func (in *CiliumEndpoint) DeepCopyInto(out *CiliumEndpoint)

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

func (*CiliumEndpoint) DeepCopyObject Uses

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

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

func (*CiliumEndpoint) DeepEqual Uses

func (in *CiliumEndpoint) DeepEqual(other *CiliumEndpoint) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type CiliumEndpointList Uses

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

    // Items is a list of CiliumEndpoint
    Items []CiliumEndpoint `json:"items"`
}

CiliumEndpointList is a list of CiliumEndpoint objects +k8s:openapi-gen=false +deepequal-gen=false

func (*CiliumEndpointList) DeepCopy Uses

func (in *CiliumEndpointList) DeepCopy() *CiliumEndpointList

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

func (*CiliumEndpointList) DeepCopyInto Uses

func (in *CiliumEndpointList) DeepCopyInto(out *CiliumEndpointList)

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

func (*CiliumEndpointList) DeepCopyObject Uses

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

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

type CiliumIdentity Uses

type CiliumIdentity struct {
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.TypeMeta `json:",inline"`
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.ObjectMeta `json:"metadata"`

    // SecurityLabels is the source-of-truth set of labels for this identity.
    SecurityLabels map[string]string `json:"security-labels"`

    // Status is deprecated and no longer used, it will be removed in Cilium 1.9
    // +deepequal-gen=false
    Status IdentityStatus `json:"status"`
}

CiliumIdentity is a CRD that represents an identity managed by Cilium. It is intended as a backing store for identity allocation, acting as the global coordination backend, and can be used in place of a KVStore (such as etcd). The name of the CRD is the numeric identity and the labels on the CRD object are the the kubernetes sourced labels seen by cilium. This is currently the only label source possible when running under kubernetes. Non-kubernetes labels are filtered but all labels, from all sources, are places in the SecurityLabels field. These also include the source and are used to define the identity. The labels under metav1.ObjectMeta can be used when searching for CiliumIdentity instances that include particular labels. This can be done with invocations such as:

kubectl get ciliumid -l 'foo=bar'

Each node using a ciliumidentity updates the status field with it's name and a timestamp when it first allocates or uses an identity, and periodically after that. It deletes its entry when no longer using this identity. cilium-operator uses the list of nodes in status to reference count users of this identity, and to expire stale usage.

func (*CiliumIdentity) DeepCopy Uses

func (in *CiliumIdentity) DeepCopy() *CiliumIdentity

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

func (*CiliumIdentity) DeepCopyInto Uses

func (in *CiliumIdentity) DeepCopyInto(out *CiliumIdentity)

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

func (*CiliumIdentity) DeepCopyObject Uses

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

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

func (*CiliumIdentity) DeepEqual Uses

func (in *CiliumIdentity) DeepEqual(other *CiliumIdentity) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type CiliumIdentityList Uses

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

    // Items is a list of CiliumIdentity
    Items []CiliumIdentity `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

CiliumIdentityList is a list of CiliumIdentity objects +deepequal-gen=false

func (*CiliumIdentityList) DeepCopy Uses

func (in *CiliumIdentityList) DeepCopy() *CiliumIdentityList

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

func (*CiliumIdentityList) DeepCopyInto Uses

func (in *CiliumIdentityList) DeepCopyInto(out *CiliumIdentityList)

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

func (*CiliumIdentityList) DeepCopyObject Uses

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

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

type CiliumNetworkPolicy Uses

type CiliumNetworkPolicy struct {
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.TypeMeta `json:",inline"`
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.ObjectMeta `json:"metadata"`

    // Spec is the desired Cilium specific rule specification.
    Spec *api.Rule `json:"spec,omitempty"`

    // Specs is a list of desired Cilium specific rule specification.
    Specs api.Rules `json:"specs,omitempty"`

    // Status is the status of the Cilium policy rule
    // +optional
    // +deepequal-gen=false
    Status CiliumNetworkPolicyStatus `json:"status"`
}

CiliumNetworkPolicy is a Kubernetes third-party resource with an extended version of NetworkPolicy +deepequal-gen:private-method=true

func (*CiliumNetworkPolicy) AnnotationsEquals Uses

func (r *CiliumNetworkPolicy) AnnotationsEquals(o *CiliumNetworkPolicy) bool

AnnotationsEquals returns true if ObjectMeta.Annotations of each CiliumNetworkPolicy are equivalent (i.e., they contain equivalent key-value pairs).

func (*CiliumNetworkPolicy) DeepCopy Uses

func (in *CiliumNetworkPolicy) DeepCopy() *CiliumNetworkPolicy

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

func (*CiliumNetworkPolicy) DeepCopyInto Uses

func (in *CiliumNetworkPolicy) DeepCopyInto(out *CiliumNetworkPolicy)

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

func (*CiliumNetworkPolicy) DeepCopyObject Uses

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

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

func (*CiliumNetworkPolicy) DeepEqual Uses

func (in *CiliumNetworkPolicy) DeepEqual(other *CiliumNetworkPolicy) bool

DeepEqual compares 2 CNPs while ignoring the LastAppliedConfigAnnotation and ignoring the Status field of the CNP.

func (*CiliumNetworkPolicy) GetControllerName Uses

func (r *CiliumNetworkPolicy) GetControllerName() string

GetControllerName returns the unique name for the controller manager.

func (*CiliumNetworkPolicy) GetIdentityLabels Uses

func (r *CiliumNetworkPolicy) GetIdentityLabels() labels.LabelArray

GetIdentityLabels returns all rule labels in the CiliumNetworkPolicy.

func (*CiliumNetworkPolicy) GetPolicyStatus Uses

func (r *CiliumNetworkPolicy) GetPolicyStatus(nodeName string) CiliumNetworkPolicyNodeStatus

GetPolicyStatus returns the CiliumNetworkPolicyNodeStatus corresponding to nodeName in the provided CiliumNetworkPolicy. If Nodes within the rule's Status is nil, returns an empty CiliumNetworkPolicyNodeStatus.

func (*CiliumNetworkPolicy) Parse Uses

func (r *CiliumNetworkPolicy) Parse() (api.Rules, error)

Parse parses a CiliumNetworkPolicy and returns a list of cilium policy rules.

func (*CiliumNetworkPolicy) RequiresDerivative Uses

func (r *CiliumNetworkPolicy) RequiresDerivative() bool

RequiresDerivative return true if the CNP has any rule that will create a new derivative rule.

func (*CiliumNetworkPolicy) SetDerivedPolicyStatus Uses

func (r *CiliumNetworkPolicy) SetDerivedPolicyStatus(derivativePolicyName string, status CiliumNetworkPolicyNodeStatus)

SetDerivedPolicyStatus set the derivative policy status for the given derivative policy name.

func (*CiliumNetworkPolicy) SetPolicyStatus Uses

func (r *CiliumNetworkPolicy) SetPolicyStatus(nodeName string, cnpns CiliumNetworkPolicyNodeStatus)

SetPolicyStatus sets the given policy status for the given nodes' map

func (*CiliumNetworkPolicy) String Uses

func (r *CiliumNetworkPolicy) String() string

type CiliumNetworkPolicyList Uses

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

    // Items is a list of CiliumNetworkPolicy
    Items []CiliumNetworkPolicy `json:"items"`
}

CiliumNetworkPolicyList is a list of CiliumNetworkPolicy objects +k8s:openapi-gen=false +deepequal-gen=false

func (*CiliumNetworkPolicyList) DeepCopy Uses

func (in *CiliumNetworkPolicyList) DeepCopy() *CiliumNetworkPolicyList

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

func (*CiliumNetworkPolicyList) DeepCopyInto Uses

func (in *CiliumNetworkPolicyList) DeepCopyInto(out *CiliumNetworkPolicyList)

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

func (*CiliumNetworkPolicyList) DeepCopyObject Uses

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

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

type CiliumNetworkPolicyNodeStatus Uses

type CiliumNetworkPolicyNodeStatus struct {
    // OK is true when the policy has been parsed and imported successfully
    // into the in-memory policy repository on the node.
    OK  bool `json:"ok,omitempty"`

    // Error describes any error that occurred when parsing or importing the
    // policy, or realizing the policy for the endpoints to which it applies
    // on the node.
    Error string `json:"error,omitempty"`

    // LastUpdated contains the last time this status was updated
    LastUpdated Timestamp `json:"lastUpdated,omitempty"`

    // Revision is the policy revision of the repository which first implemented
    // this policy.
    Revision uint64 `json:"localPolicyRevision,omitempty"`

    // Enforcing is set to true once all endpoints present at the time the
    // policy has been imported are enforcing this policy.
    Enforcing bool `json:"enforcing,omitempty"`

    // Annotations corresponds to the Annotations in the ObjectMeta of the CNP
    // that have been realized on the node for CNP. That is, if a CNP has been
    // imported and has been assigned annotation X=Y by the user,
    // Annotations in CiliumNetworkPolicyNodeStatus will be X=Y once the
    // CNP that was imported corresponding to Annotation X=Y has been realized on
    // the node.
    Annotations map[string]string `json:"annotations,omitempty"`
}

CiliumNetworkPolicyNodeStatus is the status of a Cilium policy rule for a specific node +deepequal-gen=true

func CreateCNPNodeStatus Uses

func CreateCNPNodeStatus(enforcing, ok bool, cnpError error, rev uint64, annotations map[string]string) CiliumNetworkPolicyNodeStatus

CreateCNPNodeStatus returns a CiliumNetworkPolicyNodeStatus created from the provided fields

func (*CiliumNetworkPolicyNodeStatus) DeepCopy Uses

func (in *CiliumNetworkPolicyNodeStatus) DeepCopy() *CiliumNetworkPolicyNodeStatus

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

func (*CiliumNetworkPolicyNodeStatus) DeepCopyInto Uses

func (in *CiliumNetworkPolicyNodeStatus) DeepCopyInto(out *CiliumNetworkPolicyNodeStatus)

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

func (*CiliumNetworkPolicyNodeStatus) DeepEqual Uses

func (in *CiliumNetworkPolicyNodeStatus) DeepEqual(other *CiliumNetworkPolicyNodeStatus) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type CiliumNetworkPolicyStatus Uses

type CiliumNetworkPolicyStatus struct {
    // Nodes is the Cilium policy status for each node
    Nodes map[string]CiliumNetworkPolicyNodeStatus `json:"nodes,omitempty"`

    // DerivativePolicies is the status of all policies derived from the Cilium
    // policy
    DerivativePolicies map[string]CiliumNetworkPolicyNodeStatus `json:"derivativePolicies,omitempty"`
}

CiliumNetworkPolicyStatus is the status of a Cilium policy rule +deepequal-gen=true

func (*CiliumNetworkPolicyStatus) DeepCopy Uses

func (in *CiliumNetworkPolicyStatus) DeepCopy() *CiliumNetworkPolicyStatus

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

func (*CiliumNetworkPolicyStatus) DeepCopyInto Uses

func (in *CiliumNetworkPolicyStatus) DeepCopyInto(out *CiliumNetworkPolicyStatus)

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

func (*CiliumNetworkPolicyStatus) DeepEqual Uses

func (in *CiliumNetworkPolicyStatus) DeepEqual(other *CiliumNetworkPolicyStatus) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type CiliumNode Uses

type CiliumNode struct {
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.TypeMeta `json:",inline"`
    // +k8s:openapi-gen=false
    // +deepequal-gen=false
    metav1.ObjectMeta `json:"metadata"`

    // Spec defines the desired specification/configuration of the node
    Spec NodeSpec `json:"spec"`

    // Status defines the realized specification/configuration and status
    // of the node
    Status NodeStatus `json:"status"`
}

CiliumNode represents a node managed by Cilium. It contains a specification to control various node specific configuration aspects and a status section to represent the status of the node

func (*CiliumNode) DeepCopy Uses

func (in *CiliumNode) DeepCopy() *CiliumNode

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

func (*CiliumNode) DeepCopyInto Uses

func (in *CiliumNode) DeepCopyInto(out *CiliumNode)

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

func (*CiliumNode) DeepCopyObject Uses

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

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

func (*CiliumNode) DeepEqual Uses

func (in *CiliumNode) DeepEqual(other *CiliumNode) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

func (*CiliumNode) InstanceID Uses

func (n *CiliumNode) InstanceID() (instanceID string)

InstanceID returns the InstanceID of a CiliumNode

type CiliumNodeList Uses

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

    // Items is a list of CiliumNode
    Items []CiliumNode `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

CiliumNodeList is a list of CiliumNode objects +deepequal-gen=false

func (*CiliumNodeList) DeepCopy Uses

func (in *CiliumNodeList) DeepCopy() *CiliumNodeList

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

func (*CiliumNodeList) DeepCopyInto Uses

func (in *CiliumNodeList) DeepCopyInto(out *CiliumNodeList)

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

func (*CiliumNodeList) DeepCopyObject Uses

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

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

type ControllerList Uses

type ControllerList []ControllerStatus

ControllerList is a list of ControllerStatus +k8s:deepcopy-gen=false

func (*ControllerList) DeepEqual Uses

func (in *ControllerList) DeepEqual(other *ControllerList) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

func (ControllerList) Sort Uses

func (c ControllerList) Sort()

Sort sorts the ControllerList by controller name

type ControllerStatus Uses

type ControllerStatus struct {
    // Name is the name of the controller
    Name string `json:"name,omitempty"`

    // Configuration is the controller configuration
    Configuration *models.ControllerStatusConfiguration `json:"configuration,omitempty"`

    // Status is the status of the controller
    Status ControllerStatusStatus `json:"status,omitempty"`

    // UUID is the UUID of the controller
    UUID string `json:"uuid,omitempty"`
}

ControllerStatus is the status of a failing controller

func (*ControllerStatus) DeepCopy Uses

func (in *ControllerStatus) DeepCopy() *ControllerStatus

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

func (*ControllerStatus) DeepCopyInto Uses

func (in *ControllerStatus) DeepCopyInto(out *ControllerStatus)

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

func (*ControllerStatus) DeepEqual Uses

func (in *ControllerStatus) DeepEqual(other *ControllerStatus) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type ControllerStatusStatus Uses

type ControllerStatusStatus struct {
    ConsecutiveFailureCount int64  `json:"consecutive-failure-count,omitempty"`
    FailureCount            int64  `json:"failure-count,omitempty"`
    LastFailureMsg          string `json:"last-failure-msg,omitempty"`
    LastFailureTimestamp    string `json:"last-failure-timestamp,omitempty"`
    LastSuccessTimestamp    string `json:"last-success-timestamp,omitempty"`
    SuccessCount            int64  `json:"success-count,omitempty"`
}

ControllerStatusStatus is the detailed status section of a controller +k8s:deepcopy-gen=false

func (*ControllerStatusStatus) DeepEqual Uses

func (in *ControllerStatusStatus) DeepEqual(other *ControllerStatusStatus) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type EncryptionSpec Uses

type EncryptionSpec struct {
    // Key is the index to the key to use for encryption or 0 if encryption
    // is disabled
    //
    // +optional
    Key int `json:"key,omitempty"`
}

EncryptionSpec defines the encryption relevant configuration of a node

func (*EncryptionSpec) DeepCopy Uses

func (in *EncryptionSpec) DeepCopy() *EncryptionSpec

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

func (*EncryptionSpec) DeepCopyInto Uses

func (in *EncryptionSpec) DeepCopyInto(out *EncryptionSpec)

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

func (*EncryptionSpec) DeepEqual Uses

func (in *EncryptionSpec) DeepEqual(other *EncryptionSpec) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type EndpointIdentity Uses

type EndpointIdentity struct {
    // ID is the numeric identity of the endpoint
    ID  int64 `json:"id,omitempty"`

    // Labels is the list of labels associated with the identity
    Labels []string `json:"labels,omitempty"`
}

EndpointIdentity is the identity information of an endpoint

func (*EndpointIdentity) DeepCopy Uses

func (in *EndpointIdentity) DeepCopy() *EndpointIdentity

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

func (*EndpointIdentity) DeepCopyInto Uses

func (in *EndpointIdentity) DeepCopyInto(out *EndpointIdentity)

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

func (*EndpointIdentity) DeepEqual Uses

func (in *EndpointIdentity) DeepEqual(other *EndpointIdentity) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type EndpointNetworking Uses

type EndpointNetworking struct {
    // IP4/6 addresses assigned to this Endpoint
    Addressing AddressPairList `json:"addressing"`

    // NodeIP is the IP of the node the endpoint is running on. The IP must
    // be reachable between nodes.
    NodeIP string `json:"node,omitempty"`
}

EndpointNetworking is the addressing information of an endpoint

func (*EndpointNetworking) DeepCopy Uses

func (in *EndpointNetworking) DeepCopy() *EndpointNetworking

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

func (*EndpointNetworking) DeepCopyInto Uses

func (in *EndpointNetworking) DeepCopyInto(out *EndpointNetworking)

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

func (*EndpointNetworking) DeepEqual Uses

func (in *EndpointNetworking) DeepEqual(other *EndpointNetworking) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type EndpointPolicy Uses

type EndpointPolicy struct {
    Ingress *EndpointPolicyDirection `json:"ingress,omitempty"`
    Egress  *EndpointPolicyDirection `json:"egress,omitempty"`
}

EndpointPolicy represents the endpoint's policy by listing all allowed ingress and egress identities in combination with L4 port and protocol

func (*EndpointPolicy) DeepCopy Uses

func (in *EndpointPolicy) DeepCopy() *EndpointPolicy

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

func (*EndpointPolicy) DeepCopyInto Uses

func (in *EndpointPolicy) DeepCopyInto(out *EndpointPolicy)

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

func (*EndpointPolicy) DeepEqual Uses

func (in *EndpointPolicy) DeepEqual(other *EndpointPolicy) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type EndpointPolicyDirection Uses

type EndpointPolicyDirection struct {
    Enforcing bool                `json:"enforcing"`
    Allowed   AllowedIdentityList `json:"allowed,omitempty"`
    Removing  AllowedIdentityList `json:"removing,omitempty"`
    Adding    AllowedIdentityList `json:"adding,omitempty"`
}

EndpointPolicyDirection is the list of allowed identities per direction

func (*EndpointPolicyDirection) DeepCopy Uses

func (in *EndpointPolicyDirection) DeepCopy() *EndpointPolicyDirection

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

func (*EndpointPolicyDirection) DeepCopyInto Uses

func (in *EndpointPolicyDirection) DeepCopyInto(out *EndpointPolicyDirection)

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

func (*EndpointPolicyDirection) DeepEqual Uses

func (in *EndpointPolicyDirection) DeepEqual(other *EndpointPolicyDirection) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type EndpointStatus Uses

type EndpointStatus struct {
    // The cilium-agent-local ID of the endpoint
    ID  int64 `json:"id,omitempty"`

    // Controllers is the list of failing controllers for this endpoint
    Controllers ControllerList `json:"controllers,omitempty"`

    // ExternalIdentifiers is a set of identifiers to identify the endpoint
    // apart from the pod name. This includes container runtime IDs.
    ExternalIdentifiers *models.EndpointIdentifiers `json:"external-identifiers,omitempty"`

    // Summary overall endpoint & subcomponent health
    Health *models.EndpointHealth `json:"health,omitempty"`

    // Identity is the security identity associated with the endpoint
    Identity *EndpointIdentity `json:"identity,omitempty"`

    // Log is the list of the last few warning and error log entries
    Log []*models.EndpointStatusChange `json:"log,omitempty"`

    // Networking properties of the endpoint
    //
    // +optional
    Networking *EndpointNetworking `json:"networking,omitempty"`

    // Encryption is the encryption configuration of the node
    //
    // +optional
    Encryption EncryptionSpec `json:"encryption,omitempty"`

    Policy *EndpointPolicy `json:"policy,omitempty"`

    VisibilityPolicyStatus *string `json:"visibility-policy-status,omitempty"`

    // State is the state of the endpoint
    //
    // States are:
    // - creating
    // - waiting-for-identity
    // - not-ready
    // - waiting-to-regenerate
    // - regenerating
    // - restoring
    // - ready
    // - disconnecting
    // - disconnected
    State string `json:"state,omitempty"`

    NamedPorts models.NamedPorts `json:"named-ports,omitempty"`
}

EndpointStatus is the status of a Cilium endpoint The custom deepcopy function below is a workaround. We can generate a deepcopy for EndpointStatus but not for the various models.* types it includes. We can't generate functions for classes in other packages, nor can we change the models.Endpoint type to use proxy types we define here.

func (*EndpointStatus) DeepCopy Uses

func (in *EndpointStatus) DeepCopy() *EndpointStatus

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

func (*EndpointStatus) DeepCopyInto Uses

func (in *EndpointStatus) DeepCopyInto(out *EndpointStatus)

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

func (*EndpointStatus) DeepEqual Uses

func (in *EndpointStatus) DeepEqual(other *EndpointStatus) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type HealthAddressingSpec Uses

type HealthAddressingSpec struct {
    // IPv4 is the IPv4 address of the IPv4 health endpoint
    //
    // +optional
    IPv4 string `json:"ipv4,omitempty"`

    // IPv6 is the IPv6 address of the IPv4 health endpoint
    //
    // +optional
    IPv6 string `json:"ipv6,omitempty"`
}

HealthAddressingSpec is the addressing information required to do connectivity health checking

func (*HealthAddressingSpec) DeepCopy Uses

func (in *HealthAddressingSpec) DeepCopy() *HealthAddressingSpec

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

func (*HealthAddressingSpec) DeepCopyInto Uses

func (in *HealthAddressingSpec) DeepCopyInto(out *HealthAddressingSpec)

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

func (*HealthAddressingSpec) DeepEqual Uses

func (in *HealthAddressingSpec) DeepEqual(other *HealthAddressingSpec) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type IdentityStatus Uses

type IdentityStatus struct {
    Nodes map[string]metav1.Time `json:"nodes,omitempty"`
}

IdentityStatus is the status of an identity

This structure is deprecated, do not use. +deepequal-gen=false

func (*IdentityStatus) DeepCopy Uses

func (in *IdentityStatus) DeepCopy() *IdentityStatus

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

func (*IdentityStatus) DeepCopyInto Uses

func (in *IdentityStatus) DeepCopyInto(out *IdentityStatus)

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

type NodeAddress Uses

type NodeAddress struct {
    // Type is the type of the node address
    Type addressing.AddressType `json:"type,omitempty"`

    // IP is an IP of a node
    IP  string `json:"ip,omitempty"`
}

NodeAddress is a node address

func (*NodeAddress) DeepCopy Uses

func (in *NodeAddress) DeepCopy() *NodeAddress

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

func (*NodeAddress) DeepCopyInto Uses

func (in *NodeAddress) DeepCopyInto(out *NodeAddress)

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

func (*NodeAddress) DeepEqual Uses

func (in *NodeAddress) DeepEqual(other *NodeAddress) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type NodeSpec Uses

type NodeSpec struct {
    // InstanceID is the identifier of the node. This is different from the
    // node name which is typically the FQDN of the node. The InstanceID
    // typically refers to the identifier used by the cloud provider or
    // some other means of identification.
    InstanceID string `json:"instance-id,omitempty"`

    // Addresses is the list of all node addresses
    //
    // +optional
    Addresses []NodeAddress `json:"addresses,omitempty"`

    // HealthAddressing is the addressing information for health
    // connectivity checking
    //
    // +optional
    HealthAddressing HealthAddressingSpec `json:"health,omitempty"`

    // Encryption is the encryption configuration of the node
    //
    // +optional
    Encryption EncryptionSpec `json:"encryption,omitempty"`

    // ENI is the AWS ENI specific configuration
    //
    // +optional
    ENI eniTypes.ENISpec `json:"eni,omitempty"`

    // Azure is the Azure IPAM specific configuration
    //
    // +optional
    Azure azureTypes.AzureSpec `json:"azure,omitempty"`

    // IPAM is the address management specification. This section can be
    // populated by a user or it can be automatically populated by an IPAM
    // operator
    //
    // +optional
    IPAM ipamTypes.IPAMSpec `json:"ipam,omitempty"`
}

NodeSpec is the configuration specific to a node

func (*NodeSpec) DeepCopy Uses

func (in *NodeSpec) DeepCopy() *NodeSpec

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

func (*NodeSpec) DeepCopyInto Uses

func (in *NodeSpec) DeepCopyInto(out *NodeSpec)

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

func (*NodeSpec) DeepEqual Uses

func (in *NodeSpec) DeepEqual(other *NodeSpec) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type NodeStatus Uses

type NodeStatus struct {
    // ENI is the AWS ENI specific status of the node
    //
    // +optional
    ENI eniTypes.ENIStatus `json:"eni,omitempty"`

    // Azure is the Azure specific status of the node
    //
    // +optional
    Azure azureTypes.AzureStatus `json:"azure,omitempty"`

    // IPAM is the IPAM status of the node
    //
    // +optional
    IPAM ipamTypes.IPAMStatus `json:"ipam,omitempty"`
}

NodeStatus is the status of a node

func (*NodeStatus) DeepCopy Uses

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto Uses

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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

func (*NodeStatus) DeepEqual Uses

func (in *NodeStatus) DeepEqual(other *NodeStatus) bool

DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.

type Timestamp Uses

type Timestamp struct {
    time.Time
}

Timestamp is a wrapper of time.Time so that we can create our own implementation of DeepCopyInto. +deepequal-gen=false

func NewTimestamp Uses

func NewTimestamp() Timestamp

NewTimestamp creates a new Timestamp with the current time.Now()

func (*Timestamp) DeepCopy Uses

func (in *Timestamp) DeepCopy() *Timestamp

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

func (*Timestamp) DeepCopyInto Uses

func (t *Timestamp) DeepCopyInto(out *Timestamp)

DeepCopyInto creates a deep-copy of the Time value. The underlying time.Time type is effectively immutable in the time API, so it is safe to copy-by-assign, despite the presence of (unexported) Pointer fields.

func (*Timestamp) DeepEqual Uses

func (in *Timestamp) DeepEqual(other *Timestamp) bool

Directories

PathSynopsis
client
validator

Package v2 imports 19 packages (graph) and is imported by 56 packages. Updated 2020-08-05. Refresh now. Tools for package owners.