
* add documentation for openstack provider (capo) * add manifests for openstack provider (capo) * add cluster templates for control plane and workers * add site definition to use openstack provider (capo) with control plane and workers Change-Id: I7158aa87f2ef044d0acca448e3b1c19f58416e22
356 lines
14 KiB
YAML
356 lines
14 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.2.9
|
|
creationTimestamp: null
|
|
name: openstackmachines.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: OpenStackMachine
|
|
listKind: OpenStackMachineList
|
|
plural: openstackmachines
|
|
singular: openstackmachine
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Cluster to which this OpenStackMachine belongs
|
|
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
|
|
name: Cluster
|
|
type: string
|
|
- description: OpenStack instance state
|
|
jsonPath: .status.instanceState
|
|
name: State
|
|
type: string
|
|
- description: Machine ready status
|
|
jsonPath: .status.ready
|
|
name: Ready
|
|
type: string
|
|
- description: OpenStack instance ID
|
|
jsonPath: .spec.providerID
|
|
name: InstanceID
|
|
type: string
|
|
- description: Machine object which owns with this OpenStackMachine
|
|
jsonPath: .metadata.ownerReferences[?(@.kind=="Machine")].name
|
|
name: Machine
|
|
type: string
|
|
name: v1alpha3
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: OpenStackMachine is the Schema for the openstackmachines 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: OpenStackMachineSpec defines the desired state of OpenStackMachine
|
|
properties:
|
|
cloudName:
|
|
description: The name of the cloud to use from the clouds secret
|
|
type: string
|
|
cloudsSecret:
|
|
description: The name of the secret containing the openstack credentials
|
|
properties:
|
|
name:
|
|
description: Name is unique within a namespace to reference a
|
|
secret resource.
|
|
type: string
|
|
namespace:
|
|
description: Namespace defines the space within which the secret
|
|
name must be unique.
|
|
type: string
|
|
type: object
|
|
configDrive:
|
|
description: Config Drive support
|
|
type: boolean
|
|
flavor:
|
|
description: The flavor reference for the flavor for your server instance.
|
|
type: string
|
|
floatingIP:
|
|
description: The floatingIP which will be associated to the machine,
|
|
only used for master. The floatingIP should have been created and
|
|
haven't been associated.
|
|
type: string
|
|
image:
|
|
description: The name of the image to use for your server instance.
|
|
If the RootVolume is specified, this will be ignored and use rootVolume
|
|
directly.
|
|
type: string
|
|
networks:
|
|
description: A networks object. Required parameter when there are
|
|
multiple networks defined for the tenant. When you do not specify
|
|
the networks parameter, the server attaches to the only network
|
|
created for the current tenant.
|
|
items:
|
|
properties:
|
|
filter:
|
|
description: Filters for optional network query
|
|
properties:
|
|
adminStateUp:
|
|
type: boolean
|
|
description:
|
|
type: string
|
|
id:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
marker:
|
|
type: string
|
|
name:
|
|
type: string
|
|
notTags:
|
|
type: string
|
|
notTagsAny:
|
|
type: string
|
|
projectId:
|
|
type: string
|
|
shared:
|
|
type: boolean
|
|
sortDir:
|
|
type: string
|
|
sortKey:
|
|
type: string
|
|
status:
|
|
type: string
|
|
tags:
|
|
type: string
|
|
tagsAny:
|
|
type: string
|
|
tenantId:
|
|
type: string
|
|
type: object
|
|
fixedIp:
|
|
description: A fixed IPv4 address for the NIC.
|
|
type: string
|
|
subnets:
|
|
description: Subnet within a network to use
|
|
items:
|
|
properties:
|
|
filter:
|
|
description: Filters for optional network query
|
|
properties:
|
|
cidr:
|
|
type: string
|
|
description:
|
|
type: string
|
|
enableDhcp:
|
|
type: boolean
|
|
gateway_ip:
|
|
type: string
|
|
id:
|
|
type: string
|
|
ipVersion:
|
|
type: integer
|
|
ipv6AddressMode:
|
|
type: string
|
|
ipv6RaMode:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
marker:
|
|
type: string
|
|
name:
|
|
type: string
|
|
networkId:
|
|
type: string
|
|
notTags:
|
|
type: string
|
|
notTagsAny:
|
|
type: string
|
|
projectId:
|
|
type: string
|
|
sortDir:
|
|
type: string
|
|
sortKey:
|
|
type: string
|
|
subnetpoolId:
|
|
type: string
|
|
tags:
|
|
type: string
|
|
tagsAny:
|
|
type: string
|
|
tenantId:
|
|
type: string
|
|
type: object
|
|
uuid:
|
|
description: The UUID of the network. Required if you
|
|
omit the port attribute.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
uuid:
|
|
description: The UUID of the network. Required if you omit the
|
|
port attribute.
|
|
type: string
|
|
type: object
|
|
type: array
|
|
providerID:
|
|
description: ProviderID is the unique identifier as specified by the
|
|
cloud provider.
|
|
type: string
|
|
rootVolume:
|
|
description: The volume metadata to boot from
|
|
properties:
|
|
deviceType:
|
|
type: string
|
|
diskSize:
|
|
type: integer
|
|
sourceType:
|
|
type: string
|
|
sourceUUID:
|
|
type: string
|
|
type: object
|
|
securityGroups:
|
|
description: The names of the security groups to assign to the instance
|
|
items:
|
|
properties:
|
|
filter:
|
|
description: Filters used to query security groups in openstack
|
|
properties:
|
|
description:
|
|
type: string
|
|
id:
|
|
type: string
|
|
limit:
|
|
type: integer
|
|
marker:
|
|
type: string
|
|
name:
|
|
type: string
|
|
notTags:
|
|
type: string
|
|
notTagsAny:
|
|
type: string
|
|
projectId:
|
|
type: string
|
|
sortDir:
|
|
type: string
|
|
sortKey:
|
|
type: string
|
|
tags:
|
|
type: string
|
|
tagsAny:
|
|
type: string
|
|
tenantId:
|
|
type: string
|
|
type: object
|
|
name:
|
|
description: Security Group name
|
|
type: string
|
|
uuid:
|
|
description: Security Group UID
|
|
type: string
|
|
type: object
|
|
type: array
|
|
serverGroupID:
|
|
description: The server group to assign the machine to
|
|
type: string
|
|
serverMetadata:
|
|
additionalProperties:
|
|
type: string
|
|
description: Metadata mapping. Allows you to create a map of key value
|
|
pairs to add to the server instance.
|
|
type: object
|
|
sshKeyName:
|
|
description: The ssh key to inject in the instance
|
|
type: string
|
|
tags:
|
|
description: Machine tags Requires Nova api 2.52 minimum!
|
|
items:
|
|
type: string
|
|
type: array
|
|
trunk:
|
|
description: Whether the server instance is created on a trunk port
|
|
or not.
|
|
type: boolean
|
|
userDataSecret:
|
|
description: The name of the secret containing the user data (startup
|
|
script in most cases)
|
|
properties:
|
|
name:
|
|
description: Name is unique within a namespace to reference a
|
|
secret resource.
|
|
type: string
|
|
namespace:
|
|
description: Namespace defines the space within which the secret
|
|
name must be unique.
|
|
type: string
|
|
type: object
|
|
required:
|
|
- flavor
|
|
- image
|
|
type: object
|
|
status:
|
|
description: OpenStackMachineStatus defines the observed state of OpenStackMachine
|
|
properties:
|
|
addresses:
|
|
description: Addresses contains the OpenStack 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
|
|
errorMessage:
|
|
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
|
|
errorReason:
|
|
description: Constants aren't automatically generated for unversioned
|
|
packages. Instead share the same constant for all versioned packages
|
|
type: string
|
|
instanceState:
|
|
description: InstanceState is the state of the OpenStack 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: []
|