d10ad53ef5
Change-Id: I4dc45689e5d4c1df5b1910122794b7b400044ede
379 lines
21 KiB
YAML
379 lines
21 KiB
YAML
---
|
||
apiVersion: apiextensions.k8s.io/v1beta1
|
||
kind: CustomResourceDefinition
|
||
metadata:
|
||
creationTimestamp: null
|
||
name: machines.cluster.x-k8s.io
|
||
spec:
|
||
additionalPrinterColumns:
|
||
- JSONPath: .spec.providerID
|
||
description: Provider ID
|
||
name: ProviderID
|
||
type: string
|
||
- JSONPath: .status.phase
|
||
description: Machine status such as Terminating/Pending/Running/Failed etc
|
||
name: Phase
|
||
type: string
|
||
- JSONPath: .status.nodeRef.name
|
||
description: Node name associated with this machine
|
||
name: NodeName
|
||
priority: 1
|
||
type: string
|
||
group: cluster.x-k8s.io
|
||
names:
|
||
categories:
|
||
- cluster-api
|
||
kind: Machine
|
||
listKind: MachineList
|
||
plural: machines
|
||
shortNames:
|
||
- ma
|
||
singular: machine
|
||
scope: Namespaced
|
||
subresources:
|
||
status: {}
|
||
validation:
|
||
openAPIV3Schema:
|
||
description: Machine is the Schema for the machines 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/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/api-conventions.md#types-kinds'
|
||
type: string
|
||
metadata:
|
||
type: object
|
||
spec:
|
||
description: MachineSpec defines the desired state of Machine
|
||
properties:
|
||
bootstrap:
|
||
description: Bootstrap is a reference to a local struct which encapsulates
|
||
fields to configure the Machine’s bootstrapping mechanism.
|
||
properties:
|
||
configRef:
|
||
description: ConfigRef is a reference to a bootstrap provider-specific
|
||
resource that holds configuration details. The reference is optional
|
||
to allow users/operators to specify Bootstrap.Data without the
|
||
need of a controller.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
fieldPath:
|
||
description: 'If referring to a piece of an object instead of
|
||
an entire object, this string should contain a valid JSON/Go
|
||
field access statement, such as desiredState.manifest.containers[2].
|
||
For example, if the object reference is to a container within
|
||
a pod, this would take on a value like: "spec.containers{name}"
|
||
(where "name" refers to the name of the container that triggered
|
||
the event) or if no container name is specified "spec.containers[2]"
|
||
(container with index 2 in this pod). This syntax is chosen
|
||
only to have some well-defined way of referencing a part of
|
||
an object. TODO: this design is not final and this field is
|
||
subject to change in the future.'
|
||
type: string
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||
type: string
|
||
namespace:
|
||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||
type: string
|
||
resourceVersion:
|
||
description: 'Specific resourceVersion to which this reference
|
||
is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||
type: string
|
||
type: object
|
||
data:
|
||
description: Data contains the bootstrap data, such as cloud-init
|
||
details scripts. If nil, the Machine should remain in the Pending
|
||
state.
|
||
type: string
|
||
type: object
|
||
infrastructureRef:
|
||
description: InfrastructureRef is a required reference to a custom resource
|
||
offered by an infrastructure provider.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
fieldPath:
|
||
description: 'If referring to a piece of an object instead of an
|
||
entire object, this string should contain a valid JSON/Go field
|
||
access statement, such as desiredState.manifest.containers[2].
|
||
For example, if the object reference is to a container within
|
||
a pod, this would take on a value like: "spec.containers{name}"
|
||
(where "name" refers to the name of the container that triggered
|
||
the event) or if no container name is specified "spec.containers[2]"
|
||
(container with index 2 in this pod). This syntax is chosen only
|
||
to have some well-defined way of referencing a part of an object.
|
||
TODO: this design is not final and this field is subject to change
|
||
in the future.'
|
||
type: string
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||
type: string
|
||
namespace:
|
||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||
type: string
|
||
resourceVersion:
|
||
description: 'Specific resourceVersion to which this reference is
|
||
made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||
type: string
|
||
type: object
|
||
metadata:
|
||
description: 'DEPRECATED: ObjectMeta has no function and isn''t used
|
||
anywhere.'
|
||
properties:
|
||
annotations:
|
||
additionalProperties:
|
||
type: string
|
||
description: 'Annotations is an unstructured key value map stored
|
||
with a resource that may be set by external tools to store and
|
||
retrieve arbitrary metadata. They are not queryable and should
|
||
be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
|
||
type: object
|
||
generateName:
|
||
description: "GenerateName is an optional prefix, used by the server,
|
||
to generate a unique name ONLY IF the Name field has not been
|
||
provided. If this field is used, the name returned to the client
|
||
will be different than the name passed. This value will also be
|
||
combined with a unique suffix. The provided value has the same
|
||
validation rules as the Name field, and may be truncated by the
|
||
length of the suffix required to make the value unique on the
|
||
server. \n If this field is specified and the generated name exists,
|
||
the server will NOT return a 409 - instead, it will either return
|
||
201 Created or 500 with Reason ServerTimeout indicating a unique
|
||
name could not be found in the time allotted, and the client should
|
||
retry (optionally after the time indicated in the Retry-After
|
||
header). \n Applied only if Name is not specified. More info:
|
||
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"
|
||
type: string
|
||
labels:
|
||
additionalProperties:
|
||
type: string
|
||
description: 'Map of string keys and values that can be used to
|
||
organize and categorize (scope and select) objects. May match
|
||
selectors of replication controllers and services. More info:
|
||
http://kubernetes.io/docs/user-guide/labels'
|
||
type: object
|
||
name:
|
||
description: 'Name must be unique within a namespace. Is required
|
||
when creating resources, although some resources may allow a client
|
||
to request the generation of an appropriate name automatically.
|
||
Name is primarily intended for creation idempotence and configuration
|
||
definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
|
||
type: string
|
||
namespace:
|
||
description: "Namespace defines the space within each name must
|
||
be unique. An empty namespace is equivalent to the \"default\"
|
||
namespace, but \"default\" is the canonical representation. Not
|
||
all objects are required to be scoped to a namespace - the value
|
||
of this field for those objects will be empty. \n Must be a DNS_LABEL.
|
||
Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"
|
||
type: string
|
||
ownerReferences:
|
||
description: List of objects depended by this object. If ALL objects
|
||
in the list have been deleted, this object will be garbage collected.
|
||
If this object is managed by a controller, then an entry in this
|
||
list will point to this controller, with the controller field
|
||
set to true. There cannot be more than one managing controller.
|
||
items:
|
||
description: OwnerReference contains enough information to let
|
||
you identify an owning object. An owning object must be in the
|
||
same namespace as the dependent, or be cluster-scoped, so there
|
||
is no namespace field.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
blockOwnerDeletion:
|
||
description: If true, AND if the owner has the "foregroundDeletion"
|
||
finalizer, then the owner cannot be deleted from the key-value
|
||
store until this reference is removed. Defaults to false.
|
||
To set this field, a user needs "delete" permission of the
|
||
owner, otherwise 422 (Unprocessable Entity) will be returned.
|
||
type: boolean
|
||
controller:
|
||
description: If true, this reference points to the managing
|
||
controller.
|
||
type: boolean
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
|
||
type: string
|
||
required:
|
||
- apiVersion
|
||
- kind
|
||
- name
|
||
- uid
|
||
type: object
|
||
type: array
|
||
type: object
|
||
providerID:
|
||
description: ProviderID is the identification ID of the machine provided
|
||
by the provider. This field must match the provider ID as seen on
|
||
the node object corresponding to this machine. This field is required
|
||
by higher level consumers of cluster-api. Example use case is cluster
|
||
autoscaler with cluster-api as provider. Clean-up logic in the autoscaler
|
||
compares machines to nodes to find out machines at provider which
|
||
could not get registered as Kubernetes nodes. With cluster-api as
|
||
a generic out-of-tree provider for autoscaler, this field is required
|
||
by autoscaler to be able to have a provider view of the list of machines.
|
||
Another list of nodes is queried from the k8s apiserver and then a
|
||
comparison is done to find out unregistered machines and are marked
|
||
for delete. This field will be set by the actuators and consumed by
|
||
higher level entities like autoscaler that will be interfacing with
|
||
cluster-api as generic provider.
|
||
type: string
|
||
version:
|
||
description: Version defines the desired Kubernetes version. This field
|
||
is meant to be optionally used by bootstrap providers.
|
||
type: string
|
||
required:
|
||
- bootstrap
|
||
- infrastructureRef
|
||
type: object
|
||
status:
|
||
description: MachineStatus defines the observed state of Machine
|
||
properties:
|
||
addresses:
|
||
description: Addresses is a list of addresses assigned to the machine.
|
||
This field is copied from the infrastructure provider reference.
|
||
items:
|
||
description: MachineAddress contains information for the node's address.
|
||
properties:
|
||
address:
|
||
description: The machine address.
|
||
type: string
|
||
type:
|
||
description: Machine address type, one of Hostname, ExternalIP
|
||
or InternalIP.
|
||
type: string
|
||
required:
|
||
- address
|
||
- type
|
||
type: object
|
||
type: array
|
||
bootstrapReady:
|
||
description: BootstrapReady is the state of the bootstrap provider.
|
||
type: boolean
|
||
errorMessage:
|
||
description: "ErrorMessage will be set in the event that there is a
|
||
terminal problem reconciling the Machine and will contain a more verbose
|
||
string suitable for logging and human consumption. \n This field should
|
||
not be set for transitive errors that a controller faces that are
|
||
expected to be fixed automatically over time (like service outages),
|
||
but instead indicate that something is fundamentally wrong with the
|
||
Machine's spec or the configuration of the controller, and that manual
|
||
intervention is required. Examples of terminal errors would be invalid
|
||
combinations of settings in the spec, values that are unsupported
|
||
by the controller, or the responsible controller itself being critically
|
||
misconfigured. \n Any transient errors that occur during the reconciliation
|
||
of Machines can be added as events to the Machine object and/or logged
|
||
in the controller's output."
|
||
type: string
|
||
errorReason:
|
||
description: "ErrorReason will be set in the event that there is a terminal
|
||
problem reconciling the Machine and will contain a succinct value
|
||
suitable for machine interpretation. \n This field should not be set
|
||
for transitive errors that a controller faces that are expected to
|
||
be fixed automatically over time (like service outages), but instead
|
||
indicate that something is fundamentally wrong with the Machine's
|
||
spec or the configuration of the controller, and that manual intervention
|
||
is required. Examples of terminal errors would be invalid combinations
|
||
of settings in the spec, values that are unsupported by the controller,
|
||
or the responsible controller itself being critically misconfigured.
|
||
\n Any transient errors that occur during the reconciliation of Machines
|
||
can be added as events to the Machine object and/or logged in the
|
||
controller's output."
|
||
type: string
|
||
infrastructureReady:
|
||
description: InfrastructureReady is the state of the infrastructure
|
||
provider.
|
||
type: boolean
|
||
lastUpdated:
|
||
description: LastUpdated identifies when this status was last observed.
|
||
format: date-time
|
||
type: string
|
||
nodeRef:
|
||
description: NodeRef will point to the corresponding Node if it exists.
|
||
properties:
|
||
apiVersion:
|
||
description: API version of the referent.
|
||
type: string
|
||
fieldPath:
|
||
description: 'If referring to a piece of an object instead of an
|
||
entire object, this string should contain a valid JSON/Go field
|
||
access statement, such as desiredState.manifest.containers[2].
|
||
For example, if the object reference is to a container within
|
||
a pod, this would take on a value like: "spec.containers{name}"
|
||
(where "name" refers to the name of the container that triggered
|
||
the event) or if no container name is specified "spec.containers[2]"
|
||
(container with index 2 in this pod). This syntax is chosen only
|
||
to have some well-defined way of referencing a part of an object.
|
||
TODO: this design is not final and this field is subject to change
|
||
in the future.'
|
||
type: string
|
||
kind:
|
||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||
type: string
|
||
name:
|
||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||
type: string
|
||
namespace:
|
||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||
type: string
|
||
resourceVersion:
|
||
description: 'Specific resourceVersion to which this reference is
|
||
made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
|
||
type: string
|
||
uid:
|
||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||
type: string
|
||
type: object
|
||
phase:
|
||
description: Phase represents the current phase of machine actuation.
|
||
E.g. Pending, Running, Terminating, Failed etc.
|
||
type: string
|
||
version:
|
||
description: Version specifies the current version of Kubernetes running
|
||
on the corresponding Node. This is meant to be a means of bubbling
|
||
up status from the Node to the Machine. It is entirely optional, but
|
||
useful for end-user UX if it’s present.
|
||
type: string
|
||
type: object
|
||
type: object
|
||
version: v1alpha2
|
||
versions:
|
||
- name: v1alpha2
|
||
served: true
|
||
storage: true
|
||
status:
|
||
acceptedNames:
|
||
kind: ""
|
||
plural: ""
|
||
conditions: []
|
||
storedVersions: []
|