airshipctl/manifests/function/capg/v0.3.0/crd/bases/infrastructure.cluster.x-k8s.io_gcpmachines.yaml
Rishabh Kumar Jain 219b29f1a6 Integrate gcp provider (capg) with airshipctl
* add documentation for gcp provider (capg)
  * add manifests for gcp provider (capg)
  * add cluster templates for control plane and workers
  * add site definition to use gcp provider (capg) with
    control plane and workers

Zuul Gate Scripts: https://review.opendev.org/#/c/749165/
Change-Id: I3ea07fcafe49fc2698d9d961222550c45b40cd66
2020-10-13 17:34:33 +00:00

196 lines
8.8 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.6
creationTimestamp: null
name: gcpmachines.infrastructure.cluster.x-k8s.io
spec:
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: GCPMachine
listKind: GCPMachineList
plural: gcpmachines
singular: gcpmachine
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Cluster to which this GCPMachine belongs
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
name: Cluster
type: string
- description: GCE instance state
jsonPath: .status.instanceState
name: State
type: string
- description: Machine ready status
jsonPath: .status.ready
name: Ready
type: string
- description: GCE instance ID
jsonPath: .spec.providerID
name: InstanceID
type: string
- description: Machine object which owns with this GCPMachine
jsonPath: .metadata.ownerReferences[?(@.kind=="Machine")].name
name: Machine
type: string
name: v1alpha3
schema:
openAPIV3Schema:
description: GCPMachine is the Schema for the gcpmachines 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: GCPMachineSpec defines the desired state of GCPMachine
properties:
additionalLabels:
additionalProperties:
type: string
description: AdditionalLabels is an optional set of tags to add to
an instance, in addition to the ones added by default by the GCP
provider. If both the GCPCluster and the GCPMachine specify the
same tag name with different values, the GCPMachine's value takes
precedence.
type: object
additionalNetworkTags:
description: AdditionalNetworkTags is a list of network tags that
should be applied to the instance. These tags are set in addition
to any network tags defined at the cluster level or in the actuator.
items:
type: string
type: array
image:
description: Image is the full reference to a valid image to be used
for this machine. Takes precedence over ImageFamily.
type: string
imageFamily:
description: ImageFamily is the full reference to a valid image family
to be used for this machine.
type: string
instanceType:
description: 'InstanceType is the type of instance to create. Example:
n1.standard-2'
type: string
providerID:
description: ProviderID is the unique identifier as specified by the
cloud provider.
type: string
publicIP:
description: PublicIP specifies whether the instance should get a
public IP. Set this to true if you don't have a NAT instances or
Cloud Nat setup.
type: boolean
rootDeviceSize:
description: RootDeviceSize is the size of the root volume in GB.
Defaults to 30.
format: int64
type: integer
serviceAccounts:
description: 'ServiceAccount specifies the service account email and
which scopes to assign to the machine. Defaults to: email: "default",
scope: []{compute.CloudPlatformScope}'
properties:
email:
description: 'Email: Email address of the service account.'
type: string
scopes:
description: 'Scopes: The list of scopes to be made available
for this service account.'
items:
type: string
type: array
type: object
subnet:
description: Subnet is a reference to the subnetwork to use for this
instance. If not specified, the first subnetwork retrieved from
the Cluster Region and Network is picked.
type: string
required:
- instanceType
type: object
status:
description: GCPMachineStatus defines the observed state of GCPMachine
properties:
addresses:
description: Addresses contains the GCP instance associated addresses.
items:
description: NodeAddress contains information for the node's address.
properties:
address:
description: The node address.
type: string
type:
description: Node address type, one of Hostname, ExternalIP
or InternalIP.
type: string
required:
- address
- type
type: object
type: array
failureMessage:
description: "FailureMessage 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
failureReason:
description: "FailureReason 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
instanceState:
description: InstanceStatus is the status of the GCP instance for
this machine.
type: string
ready:
description: Ready is true when the provider resource is ready.
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []