...

Package v1beta1

import "github.com/linkerd/linkerd2/controller/gen/apis/externalworkload/v1beta1"
Overview
Index

Overview ▾

Index ▾

Package files

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

Variables

var (
    // SchemeGroupVersion is the identifier for the API which includes the name
    // of the group and the version of the API.
    SchemeGroupVersion = schema.GroupVersion{
        Group:   externalworkload.GroupName,
        Version: "v1beta1",
    }

    // SchemeBuilder collects functions that add things to a scheme. It's to
    // allow code to compile without explicitly referencing generated types.
    // You should declare one in each package that will have generated deep
    // copy or conversion functions.
    SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

    // AddToScheme applies all the stored functions to the scheme. A non-nil error
    // indicates that one function failed and the attempt was abandoned.
    AddToScheme = SchemeBuilder.AddToScheme
)

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

type ExternalWorkload

ExternalWorkload describes a single workload (i.e. a deployable unit, conceptually similar to a Kubernetes Pod) that is running outside of a Kubernetes cluster. An ExternalWorkload should be enrolled in the mesh and typically represents a virtual machine.

type ExternalWorkload struct {
    // TypeMeta is the metadata for the resource, like kind and apiversion
    metav1.TypeMeta `json:",inline"`
    // ObjectMeta contains the metadata for the particular object, including
    // things like...
    //  - name
    //  - namespace
    //  - self link
    //  - labels
    //  - ... etc ...
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the desired state of an external workload instance
    Spec ExternalWorkloadSpec `json:"spec"`

    // Status defines the current state of an external workload instance
    Status ExternalWorkloadStatus `json:"status,omitempty"`
}

func (*ExternalWorkload) DeepCopy

func (in *ExternalWorkload) DeepCopy() *ExternalWorkload

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

func (*ExternalWorkload) DeepCopyInto

func (in *ExternalWorkload) DeepCopyInto(out *ExternalWorkload)

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

func (*ExternalWorkload) DeepCopyObject

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

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

type ExternalWorkloadList

ExternalWorkloadList contains a list of ExternalWorkload resources.

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

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

func (*ExternalWorkloadList) DeepCopy

func (in *ExternalWorkloadList) DeepCopy() *ExternalWorkloadList

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

func (*ExternalWorkloadList) DeepCopyInto

func (in *ExternalWorkloadList) DeepCopyInto(out *ExternalWorkloadList)

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

func (*ExternalWorkloadList) DeepCopyObject

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

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

type ExternalWorkloadSpec

ExternalWorkloadSpec represents the desired state of an external workload

type ExternalWorkloadSpec struct {
    // MeshTls describes TLS settings associated with an external workload
    MeshTLS MeshTLS `json:"meshTLS"`
    // Ports describes a set of ports exposed by the workload
    //
    // +optional
    Ports []PortSpec `json:"ports,omitempty"`
    // List of IP addresses that can be used to send traffic to an external
    // workload
    //
    // +optional
    WorkloadIPs []WorkloadIP `json:"workloadIPs,omitempty"`
}

func (*ExternalWorkloadSpec) DeepCopy

func (in *ExternalWorkloadSpec) DeepCopy() *ExternalWorkloadSpec

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

func (*ExternalWorkloadSpec) DeepCopyInto

func (in *ExternalWorkloadSpec) DeepCopyInto(out *ExternalWorkloadSpec)

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

type ExternalWorkloadStatus

WorkloadStatus holds information about the status of an external workload. The status describes the state of the workload.

type ExternalWorkloadStatus struct {
    // Current service state of an ExternalWorkload
    // +optional
    Conditions []WorkloadCondition `json:"conditions,omitempty"`
}

func (*ExternalWorkloadStatus) DeepCopy

func (in *ExternalWorkloadStatus) DeepCopy() *ExternalWorkloadStatus

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

func (*ExternalWorkloadStatus) DeepCopyInto

func (in *ExternalWorkloadStatus) DeepCopyInto(out *ExternalWorkloadStatus)

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

type MeshTLS

MeshTls describes TLS settings associated with an external workload

type MeshTLS struct {
    // Identity associated with the workload. Used by peers to perform
    // verification in the mTLS handshake
    Identity string `json:"identity"`
    // ServerName is the DNS formatted name associated with the workload. Used
    // to terminate TLS using the SNI extension.
    ServerName string `json:"serverName"`
}

func (*MeshTLS) DeepCopy

func (in *MeshTLS) DeepCopy() *MeshTLS

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

func (*MeshTLS) DeepCopyInto

func (in *MeshTLS) DeepCopyInto(out *MeshTLS)

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

type PortSpec

PortSpec represents a network port in a single workload.

type PortSpec struct {
    // If specified, must be an IANA_SVC_NAME and unique within the exposed
    // ports set. Each named port must have a unique name. The name may be
    // referred to by services
    // +optional
    Name string `json:"name,omitempty"`
    // Number of port exposed on the workload's IP address.
    // Must be a valid port number, i.e. 0 < x < 65536.
    Port int32 `json:"port"`
    // Protocol defines network protocols supported. One of UDP, TCP, or SCTP.
    // Should coincide with Service selecting the workload.
    // Defaults to "TCP" if unspecified.
    // +optional
    // +default="TCP"
    Protocol v1.Protocol `json:"protocol,omitempty"`
}

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 WorkloadCondition

WorkloadCondition represents the service state of an ExternalWorkload

type WorkloadCondition struct {
    // Type of the condition
    // see: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
    Type WorkloadConditionType `json:"type"`
    // Status of the condition.
    // Can be True, False, Unknown
    Status WorkloadConditionStatus `json:"status"`
    // Last time an ExternalWorkload was probed for a condition.
    // +optional
    LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
    // Last time a condition transitioned from one status to another.
    // +optional
    LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
    // Unique one word reason in CamelCase that describes the reason for a
    // transition.
    // +optional
    Reason string `json:"reason,omitempty"`
    // Human readable message that describes details about last transition.
    // +optional
    Message string `json:"message,omitempty"`
}

func (*WorkloadCondition) DeepCopy

func (in *WorkloadCondition) DeepCopy() *WorkloadCondition

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

func (*WorkloadCondition) DeepCopyInto

func (in *WorkloadCondition) DeepCopyInto(out *WorkloadCondition)

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

type WorkloadConditionStatus

WorkloadConditionStatus

type WorkloadConditionStatus string
const (
    ConditionTrue    WorkloadConditionStatus = "True"
    ConditionFalse   WorkloadConditionStatus = "False"
    ConditionUnknown WorkloadConditionStatus = "Unknown"
)

type WorkloadConditionType

WorkloadConditionType is a value for the type of a condition in an ExternalWorkload's status

type WorkloadConditionType string
const (
    // Ready to serve traffic
    WorkloadReady WorkloadConditionType = "Ready"
)

type WorkloadIP

WorkloadIPs contains a list of IP addresses exposed by an ExternalWorkload

type WorkloadIP struct {
    Ip string `json:"ip"`
}

func (*WorkloadIP) DeepCopy

func (in *WorkloadIP) DeepCopy() *WorkloadIP

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

func (*WorkloadIP) DeepCopyInto

func (in *WorkloadIP) DeepCopyInto(out *WorkloadIP)

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