34fd3e0bfc
* 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
306 lines
14 KiB
YAML
306 lines
14 KiB
YAML
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.2.9
|
|
creationTimestamp: null
|
|
name: openstackmachinetemplates.infrastructure.cluster.x-k8s.io
|
|
spec:
|
|
group: infrastructure.cluster.x-k8s.io
|
|
names:
|
|
categories:
|
|
- cluster-api
|
|
kind: OpenStackMachineTemplate
|
|
listKind: OpenStackMachineTemplateList
|
|
plural: openstackmachinetemplates
|
|
singular: openstackmachinetemplate
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha3
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: OpenStackMachineTemplate is the Schema for the openstackmachinetemplates
|
|
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: OpenStackMachineTemplateSpec defines the desired state of
|
|
OpenStackMachineTemplate
|
|
properties:
|
|
template:
|
|
description: OpenStackMachineTemplateResource describes the data needed
|
|
to create a OpenStackMachine from a template
|
|
properties:
|
|
spec:
|
|
description: Spec is the specification of the desired behavior
|
|
of the machine.
|
|
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
|
|
required:
|
|
- spec
|
|
type: object
|
|
required:
|
|
- template
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
status:
|
|
acceptedNames:
|
|
kind: ""
|
|
plural: ""
|
|
conditions: []
|
|
storedVersions: []
|