v1alpha1

package
v0.0.0-...-9516177 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the node v1alpha1 API group +kubebuilder:object:generate=true +groupName=node.oneinfra.ereslibre.es

Index

Constants

View Source
const (
	// Issued represents a join request Issued condition
	Issued commonv1alpha1.ConditionType = "Issued"
)
View Source
const (
	// NodeJoinRequestOpenAPISchema represents the OpenAPI schema for kind NodeJoinRequest
	NodeJoinRequestOpenAPISchema = `description: NodeJoinRequest is the Schema for the nodejoinrequests API
properties:
  apiVersion:
    description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    type: string
  kind:
    description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    type: string
  metadata:
    type: object
  spec:
    description: NodeJoinRequestSpec defines the desired state of NodeJoinRequest
    properties:
      apiServerEndpoint:
        description: The API Server endpoint for what this join request is for. The generated kubeconfig file for the kubelet will point to this endpoint. If not provided, the default cluster API endpoint will be used.
        type: string
      containerRuntimeEndpoint:
        description: The local node container runtime endpoint. (e.g. unix:///run/containerd/containerd.sock)
        type: string
      extraSANs:
        description: A list of extra Subject Alternative Names (SAN's) that will be included in the Kubelet server certificate issued by oneinfra.
        items:
          type: string
        type: array
      imageServiceEndpoint:
        description: The local node image service endpoint. It's usually the same as the container runtime endpoint. (e.g. unix:///run/containerd/containerd.sock)
        type: string
      symmetricKey:
        description: Base64 encoded symmetric key, used by ` + "`" + `oneinfra` + "`" + ` management cluster to cipher joining information. This key must be ciphered with the join public key of the cluster to be joined, and encoded in base64. The public join key of every managed cluster can be found on the ` + "`" + `oneinfra-join` + "`" + ` ConfigMap present in the ` + "`" + `oneinfra-system` + "`" + ` namespace.
        type: string
    type: object
  status:
    description: NodeJoinRequestStatus defines the observed state of NodeJoinRequest
    properties:
      conditions:
        description: Conditions contains a list of conditions for this request. ` + "`" + `oneinfra` + "`" + ` will set the ` + "`" + `Issued` + "`" + ` condition to ` + "`" + `True` + "`" + ` when this request has all the information set, and available in this ` + "`" + `Status` + "`" + ` object.
        items:
          description: Condition represents a condition
          properties:
            lastSetTime:
              format: date-time
              type: string
            lastTransitionTime:
              format: date-time
              type: string
            message:
              type: string
            reason:
              type: string
            status:
              description: ConditionStatus represents a condition status
              type: string
            type:
              description: ConditionType represents a condition type
              type: string
          type: object
        type: array
      kubeConfig:
        description: KubeConfig has the kubeconfig contents that the kubelet should use. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
        type: string
      kubeletClientCACertificate:
        description: KubeletClientCACertificate contains the contents of the Kubelet client CA certificate to be used. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
        type: string
      kubeletConfig:
        description: KubeletConfig has the kubelet configuration contents that the kubelet should use. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
        type: string
      kubeletServerCertificate:
        description: KubeletServerCertificate contains the contents of the Kubelet server certificate to be used. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
        type: string
      kubeletServerPrivateKey:
        description: KubeletServerPrivateKey contains the contents of the Kubelet server private key to be used. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
        type: string
      kubernetesVersion:
        description: KubernetesVersion contains the Kubernetes version of the cluster this node is joining to. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
        type: string
      vpn:
        description: VPN contains the VPN information for this node join request. Nil if VPN is disabled. Filled by ` + "`" + `oneinfra` + "`" + `.
        properties:
          CIDR:
            description: CIDR for this cluster. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
            type: string
          address:
            description: Address contains the VPN address of this node. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
            type: string
          endpoint:
            description: Endpoint contains the VPN endpoint this peer should connect to. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
            type: string
          endpointPublicKey:
            description: EndpointPublicKey contains the VPN endpoint public key. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
            type: string
          peerPrivateKey:
            description: PeerPrivateKey contains the VPN peer private key. Filled by ` + "`" + `oneinfra` + "`" + `, and ciphered using the provided SymmetricKey in the request spec. Base64 encoded.
            type: string
        type: object
    type: object
type: object
`
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "node.oneinfra.ereslibre.es", Version: "v1alpha1"}

	// SchemeGroupVersion is group version used to register these objects (client-gen compatibility)
	SchemeGroupVersion = GroupVersion

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type NodeJoinRequest

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

	Spec   NodeJoinRequestSpec   `json:"spec,omitempty"`
	Status NodeJoinRequestStatus `json:"status,omitempty"`
}

NodeJoinRequest is the Schema for the nodejoinrequests API

func (*NodeJoinRequest) DeepCopy

func (in *NodeJoinRequest) DeepCopy() *NodeJoinRequest

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

func (*NodeJoinRequest) DeepCopyInto

func (in *NodeJoinRequest) DeepCopyInto(out *NodeJoinRequest)

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

func (*NodeJoinRequest) DeepCopyObject

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

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

type NodeJoinRequestList

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

NodeJoinRequestList contains a list of NodeJoinRequest

func (*NodeJoinRequestList) DeepCopy

func (in *NodeJoinRequestList) DeepCopy() *NodeJoinRequestList

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

func (*NodeJoinRequestList) DeepCopyInto

func (in *NodeJoinRequestList) DeepCopyInto(out *NodeJoinRequestList)

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

func (*NodeJoinRequestList) DeepCopyObject

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

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

type NodeJoinRequestSpec

type NodeJoinRequestSpec struct {
	// Base64 encoded symmetric key, used by `oneinfra` management
	// cluster to cipher joining information. This key must be ciphered
	// with the join public key of the cluster to be joined, and encoded
	// in base64. The public join key of every managed cluster can be
	// found on the `oneinfra-join` ConfigMap present in the
	// `oneinfra-system` namespace.
	SymmetricKey string `json:"symmetricKey,omitempty"`

	// The API Server endpoint for what this join request is for. The
	// generated kubeconfig file for the kubelet will point to this
	// endpoint. If not provided, the default cluster API endpoint will
	// be used.
	//
	// +optional
	APIServerEndpoint string `json:"apiServerEndpoint,omitempty"`

	// The local node container runtime endpoint.
	// (e.g. unix:///run/containerd/containerd.sock)
	ContainerRuntimeEndpoint string `json:"containerRuntimeEndpoint,omitempty"`

	// The local node image service endpoint. It's usually the same as
	// the container runtime endpoint.
	// (e.g. unix:///run/containerd/containerd.sock)
	ImageServiceEndpoint string `json:"imageServiceEndpoint,omitempty"`

	// A list of extra Subject Alternative Names (SAN's) that will be
	// included in the Kubelet server certificate issued by oneinfra.
	//
	// +optional
	ExtraSANs []string `json:"extraSANs,omitempty"`
}

NodeJoinRequestSpec defines the desired state of NodeJoinRequest

func (*NodeJoinRequestSpec) DeepCopy

func (in *NodeJoinRequestSpec) DeepCopy() *NodeJoinRequestSpec

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

func (*NodeJoinRequestSpec) DeepCopyInto

func (in *NodeJoinRequestSpec) DeepCopyInto(out *NodeJoinRequestSpec)

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

type NodeJoinRequestStatus

type NodeJoinRequestStatus struct {
	// KubernetesVersion contains the Kubernetes version of the cluster
	// this node is joining to. Filled by `oneinfra`, and ciphered using
	// the provided SymmetricKey in the request spec. Base64 encoded.
	KubernetesVersion string `json:"kubernetesVersion,omitempty"`

	// VPN contains the VPN information for this node join request. Nil
	// if VPN is disabled. Filled by `oneinfra`.
	VPN *VPN `json:"vpn,omitempty"`

	// KubeConfig has the kubeconfig contents that the kubelet should
	// use. Filled by `oneinfra`, and ciphered using the provided
	// SymmetricKey in the request spec. Base64 encoded.
	KubeConfig string `json:"kubeConfig,omitempty"`

	// KubeletConfig has the kubelet configuration contents that the
	// kubelet should use. Filled by `oneinfra`, and ciphered using the
	// provided SymmetricKey in the request spec. Base64 encoded.
	KubeletConfig string `json:"kubeletConfig,omitempty"`

	// KubeletServerCertificate contains the contents of the Kubelet
	// server certificate to be used. Filled by `oneinfra`, and ciphered
	// using the provided SymmetricKey in the request spec. Base64
	// encoded.
	KubeletServerCertificate string `json:"kubeletServerCertificate,omitempty"`

	// KubeletServerPrivateKey contains the contents of the Kubelet
	// server private key to be used. Filled by `oneinfra`, and ciphered
	// using the provided SymmetricKey in the request spec. Base64
	// encoded.
	KubeletServerPrivateKey string `json:"kubeletServerPrivateKey,omitempty"`

	// KubeletClientCACertificate contains the contents of the Kubelet
	// client CA certificate to be used. Filled by `oneinfra`, and ciphered
	// using the provided SymmetricKey in the request spec. Base64
	// encoded.
	KubeletClientCACertificate string `json:"kubeletClientCACertificate,omitempty"`

	// Conditions contains a list of conditions for this
	// request. `oneinfra` will set the `Issued` condition to `True`
	// when this request has all the information set, and available in
	// this `Status` object.
	Conditions commonv1alpha1.ConditionList `json:"conditions,omitempty"`
}

NodeJoinRequestStatus defines the observed state of NodeJoinRequest

func (*NodeJoinRequestStatus) DeepCopy

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

func (*NodeJoinRequestStatus) DeepCopyInto

func (in *NodeJoinRequestStatus) DeepCopyInto(out *NodeJoinRequestStatus)

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

type VPN

type VPN struct {
	// CIDR for this cluster. Filled by `oneinfra`, and ciphered using
	// the provided SymmetricKey in the request spec. Base64 encoded.
	CIDR string `json:"CIDR,omitempty"`

	// Address contains the VPN address of this node. Filled by
	// `oneinfra`, and ciphered using the provided SymmetricKey in the
	// request spec. Base64 encoded.
	Address string `json:"address,omitempty"`

	// PeerPrivateKey contains the VPN peer private key. Filled by
	// `oneinfra`, and ciphered using the provided SymmetricKey in the
	// request spec. Base64 encoded.
	PeerPrivateKey string `json:"peerPrivateKey,omitempty"`

	// Endpoint contains the VPN endpoint this peer should connect
	// to. Filled by `oneinfra`, and ciphered using the provided
	// SymmetricKey in the request spec. Base64 encoded.
	Endpoint string `json:"endpoint,omitempty"`

	// EndpointPublicKey contains the VPN endpoint public key. Filled by
	// `oneinfra`, and ciphered using the provided SymmetricKey in the
	// request spec. Base64 encoded.
	EndpointPublicKey string `json:"endpointPublicKey,omitempty"`
}

VPN defines the VPN related information to a node join request.

func (*VPN) DeepCopy

func (in *VPN) DeepCopy() *VPN

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

func (*VPN) DeepCopyInto

func (in *VPN) DeepCopyInto(out *VPN)

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