1539 lines
46 KiB
YAML
1539 lines
46 KiB
YAML
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
control-plane: controller-manager
|
|
name: migration-system
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: migrationplans.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: MigrationPlan
|
|
listKind: MigrationPlanList
|
|
plural: migrationplans
|
|
singular: migrationplan
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: MigrationPlan is the Schema for the migrationplans 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: MigrationPlanSpec defines the desired state of MigrationPlan
|
|
properties:
|
|
advancedOptions:
|
|
properties:
|
|
granularNetworks:
|
|
items:
|
|
type: string
|
|
type: array
|
|
granularPorts:
|
|
items:
|
|
type: string
|
|
type: array
|
|
granularVolumeTypes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
firstBootScript:
|
|
default: echo "Add your startup script here!"
|
|
type: string
|
|
migrationStrategy:
|
|
properties:
|
|
adminInitiatedCutOver:
|
|
default: false
|
|
type: boolean
|
|
dataCopyStart:
|
|
format: date-time
|
|
type: string
|
|
healthCheckPort:
|
|
default: "443"
|
|
type: string
|
|
performHealthChecks:
|
|
default: false
|
|
type: boolean
|
|
type:
|
|
enum:
|
|
- hot
|
|
- cold
|
|
type: string
|
|
vmCutoverEnd:
|
|
format: date-time
|
|
type: string
|
|
vmCutoverStart:
|
|
format: date-time
|
|
type: string
|
|
required:
|
|
- type
|
|
type: object
|
|
migrationTemplate:
|
|
type: string
|
|
retry:
|
|
type: boolean
|
|
virtualmachines:
|
|
items:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: array
|
|
required:
|
|
- migrationStrategy
|
|
- migrationTemplate
|
|
- virtualmachines
|
|
type: object
|
|
status:
|
|
description: MigrationPlanStatus defines the observed state of MigrationPlan
|
|
properties:
|
|
migrationMessage:
|
|
type: string
|
|
migrationStatus:
|
|
type: string
|
|
required:
|
|
- migrationMessage
|
|
- migrationStatus
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: migrations.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: Migration
|
|
listKind: MigrationList
|
|
plural: migrations
|
|
singular: migration
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: Migration is the Schema for the migrations 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: Spec defines the desired state of Migration
|
|
properties:
|
|
initiateCutover:
|
|
description: InitiateCutover is the flag to initiate cutover
|
|
type: boolean
|
|
migrationPlan:
|
|
description: MigrationPlan is the name of the migration plan
|
|
type: string
|
|
podRef:
|
|
description: PodRef is the name of the pod
|
|
type: string
|
|
vmName:
|
|
description: VMName is the name of the VM getting migrated from VMWare
|
|
to Openstack
|
|
type: string
|
|
required:
|
|
- initiateCutover
|
|
- migrationPlan
|
|
- podRef
|
|
- vmName
|
|
type: object
|
|
status:
|
|
description: Status defines the observed state of Migration
|
|
properties:
|
|
AgentName:
|
|
description: AgentName is the name of the agent where migration is
|
|
running
|
|
type: string
|
|
conditions:
|
|
description: Conditions is the list of conditions of the migration
|
|
object pod
|
|
items:
|
|
description: PodCondition contains details for the current condition
|
|
of this pod.
|
|
properties:
|
|
lastProbeTime:
|
|
description: Last time we probed the condition.
|
|
format: date-time
|
|
type: string
|
|
lastTransitionTime:
|
|
description: Last time the condition transitioned from one status
|
|
to another.
|
|
format: date-time
|
|
type: string
|
|
message:
|
|
description: Human-readable message indicating details about
|
|
last transition.
|
|
type: string
|
|
reason:
|
|
description: Unique, one-word, CamelCase reason for the condition's
|
|
last transition.
|
|
type: string
|
|
status:
|
|
description: |-
|
|
Status is the status of the condition.
|
|
Can be True, False, Unknown.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
|
|
type: string
|
|
type:
|
|
description: |-
|
|
Type is the type of the condition.
|
|
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
|
|
type: string
|
|
required:
|
|
- status
|
|
- type
|
|
type: object
|
|
type: array
|
|
phase:
|
|
description: Phase is the current phase of the migration
|
|
type: string
|
|
required:
|
|
- phase
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: migrationtemplates.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: MigrationTemplate
|
|
listKind: MigrationTemplateList
|
|
plural: migrationtemplates
|
|
singular: migrationtemplate
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: MigrationTemplate is the Schema for the migrationtemplates 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: MigrationTemplateSpec defines the desired state of MigrationTemplate
|
|
properties:
|
|
destination:
|
|
description: MigrationTemplateDestination defines the destination
|
|
details for the migrationtemplate
|
|
properties:
|
|
openstackRef:
|
|
type: string
|
|
required:
|
|
- openstackRef
|
|
type: object
|
|
networkMapping:
|
|
type: string
|
|
osType:
|
|
enum:
|
|
- windows
|
|
- linux
|
|
type: string
|
|
source:
|
|
description: MigrationTemplateSource defines the source details for
|
|
the migrationtemplate
|
|
properties:
|
|
datacenter:
|
|
type: string
|
|
vmwareRef:
|
|
type: string
|
|
required:
|
|
- datacenter
|
|
- vmwareRef
|
|
type: object
|
|
storageMapping:
|
|
type: string
|
|
virtioWinDriver:
|
|
type: string
|
|
required:
|
|
- destination
|
|
- networkMapping
|
|
- source
|
|
- storageMapping
|
|
type: object
|
|
status:
|
|
description: MigrationTemplateStatus defines the observed state of MigrationTemplate
|
|
properties:
|
|
openstack:
|
|
properties:
|
|
networks:
|
|
items:
|
|
type: string
|
|
type: array
|
|
volumeTypes:
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
vmware:
|
|
description: |-
|
|
INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
|
|
Important: Run "make" to regenerate code after modifying this file
|
|
items:
|
|
properties:
|
|
datastores:
|
|
items:
|
|
type: string
|
|
type: array
|
|
disks:
|
|
items:
|
|
type: string
|
|
type: array
|
|
ipAddress:
|
|
type: string
|
|
name:
|
|
type: string
|
|
networks:
|
|
items:
|
|
type: string
|
|
type: array
|
|
osType:
|
|
type: string
|
|
vmState:
|
|
type: string
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: networkmappings.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: NetworkMapping
|
|
listKind: NetworkMappingList
|
|
plural: networkmappings
|
|
singular: networkmapping
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: NetworkMapping is the Schema for the networkmappings 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: NetworkMappingSpec defines the desired state of NetworkMapping
|
|
properties:
|
|
networks:
|
|
description: Networks is the list of networks
|
|
items:
|
|
properties:
|
|
source:
|
|
type: string
|
|
target:
|
|
type: string
|
|
required:
|
|
- source
|
|
- target
|
|
type: object
|
|
type: array
|
|
required:
|
|
- networks
|
|
type: object
|
|
status:
|
|
description: NetworkMappingStatus defines the observed state of NetworkMapping
|
|
properties:
|
|
networkMappingValidationMessage:
|
|
type: string
|
|
networkMappingValidationStatus:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: openstackcreds.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: OpenstackCreds
|
|
listKind: OpenstackCredsList
|
|
plural: openstackcreds
|
|
singular: openstackcreds
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: OpenstackCreds is the Schema for the openstackcreds 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: OpenstackCredsSpec defines the desired state of OpenstackCreds
|
|
properties:
|
|
secretRef:
|
|
description: SecretRef is the reference to the Kubernetes secret holding
|
|
OpenStack credentials
|
|
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.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/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/sig-architecture/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
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
status:
|
|
description: OpenstackCredsStatus defines the observed state of OpenstackCreds
|
|
properties:
|
|
openstackValidationMessage:
|
|
type: string
|
|
openstackValidationStatus:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: storagemappings.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: StorageMapping
|
|
listKind: StorageMappingList
|
|
plural: storagemappings
|
|
singular: storagemapping
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: StorageMapping is the Schema for the storagemappings 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: StorageMappingSpec defines the desired state of StorageMapping
|
|
properties:
|
|
storages:
|
|
items:
|
|
properties:
|
|
source:
|
|
type: string
|
|
target:
|
|
type: string
|
|
required:
|
|
- source
|
|
- target
|
|
type: object
|
|
type: array
|
|
required:
|
|
- storages
|
|
type: object
|
|
status:
|
|
description: StorageMappingStatus defines the observed state of StorageMapping
|
|
properties:
|
|
storageMappingValidationMessage:
|
|
type: string
|
|
storageMappingValidationStatus:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: vjailbreaknodes.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: VjailbreakNode
|
|
listKind: VjailbreakNodeList
|
|
plural: vjailbreaknodes
|
|
singular: vjailbreaknode
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VjailbreakNode is the Schema for the vjailbreaknodes 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: Spec defines the desired state of VjailbreakNode
|
|
properties:
|
|
availableflavors:
|
|
description: AvailableFlavors is the list of available flavors in
|
|
openstack
|
|
items:
|
|
description: |-
|
|
Flavor represent (virtual) hardware configurations for server resources
|
|
in a region.
|
|
properties:
|
|
OS-FLV-EXT-DATA:ephemeral:
|
|
description: Ephemeral is the amount of ephemeral disk space,
|
|
measured in GB.
|
|
type: integer
|
|
description:
|
|
description: |-
|
|
Description is a free form description of the flavor. Limited to
|
|
65535 characters in length. Only printable characters are allowed.
|
|
New in version 2.55
|
|
type: string
|
|
disk:
|
|
description: Disk is the amount of root disk, measured in GB.
|
|
type: integer
|
|
id:
|
|
description: ID is the flavor's unique ID.
|
|
type: string
|
|
name:
|
|
description: Name is the name of the flavor.
|
|
type: string
|
|
os-flavor-access:is_public:
|
|
description: IsPublic indicates whether the flavor is public.
|
|
type: boolean
|
|
ram:
|
|
description: RAM is the amount of memory, measured in MB.
|
|
type: integer
|
|
rxtx_factor:
|
|
description: RxTxFactor describes bandwidth alterations of the
|
|
flavor.
|
|
type: number
|
|
vcpus:
|
|
description: VCPUs indicates how many (virtual) CPUs are available
|
|
for this flavor.
|
|
type: integer
|
|
required:
|
|
- OS-FLV-EXT-DATA:ephemeral
|
|
- description
|
|
- disk
|
|
- id
|
|
- name
|
|
- os-flavor-access:is_public
|
|
- ram
|
|
- rxtx_factor
|
|
- vcpus
|
|
type: object
|
|
type: array
|
|
imageid:
|
|
description: OpenstackImageID is the image of the VM
|
|
type: string
|
|
noderole:
|
|
description: NodeRole is the role assigned to the node
|
|
type: string
|
|
openstackcreds:
|
|
description: OpenstackCreds is the credentials for Openstack Environment
|
|
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.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/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/sig-architecture/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
|
|
x-kubernetes-map-type: atomic
|
|
openstackflavorid:
|
|
description: OpenstackFlavorID is the flavor of the VM
|
|
type: string
|
|
required:
|
|
- noderole
|
|
- openstackcreds
|
|
- openstackflavorid
|
|
type: object
|
|
status:
|
|
description: Status defines the observed state of VjailbreakNode
|
|
properties:
|
|
activemigrations:
|
|
description: ActiveMigrations is the list of active migrations happening
|
|
on the node
|
|
items:
|
|
type: string
|
|
type: array
|
|
openstackuuid:
|
|
description: OpenstackUUID is the UUID of the VM in OpenStack
|
|
type: string
|
|
phase:
|
|
description: Phase is the current phase of the node
|
|
type: string
|
|
vmip:
|
|
description: VMIP is the IP address of the VM
|
|
type: string
|
|
required:
|
|
- vmip
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.17.1
|
|
name: vmwarecreds.vjailbreak.k8s.pf9.io
|
|
spec:
|
|
group: vjailbreak.k8s.pf9.io
|
|
names:
|
|
kind: VMwareCreds
|
|
listKind: VMwareCredsList
|
|
plural: vmwarecreds
|
|
singular: vmwarecreds
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VMwareCreds is the Schema for the vmwarecreds 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: VMwareCredsSpec defines the desired state of VMwareCreds
|
|
properties:
|
|
secretRef:
|
|
description: |-
|
|
INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
|
|
Important: Run "make" to regenerate code after modifying this file
|
|
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.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/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/sig-architecture/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
|
|
x-kubernetes-map-type: atomic
|
|
type: object
|
|
status:
|
|
description: VMwareCredsStatus defines the observed state of VMwareCreds
|
|
properties:
|
|
vmwareValidationMessage:
|
|
type: string
|
|
vmwareValidationStatus:
|
|
description: |-
|
|
INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
|
|
Important: Run "make" to regenerate code after modifying this file
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources:
|
|
status: {}
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-controller-manager
|
|
namespace: migration-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-leader-election-role
|
|
namespace: migration-system
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- create
|
|
- update
|
|
- patch
|
|
- delete
|
|
- apiGroups:
|
|
- coordination.k8s.io
|
|
resources:
|
|
- leases
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- create
|
|
- update
|
|
- patch
|
|
- delete
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- create
|
|
- patch
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: migration-manager-role
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
- pods
|
|
- secrets
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- nodes
|
|
verbs:
|
|
- delete
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- pods/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationplans
|
|
- migrations
|
|
- migrationtemplates
|
|
- networkmappings
|
|
- openstackcreds
|
|
- storagemappings
|
|
- vjailbreaknodes
|
|
- vmwarecreds
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationplans/finalizers
|
|
- migrationtemplates/finalizers
|
|
- networkmappings/finalizers
|
|
- openstackcreds/finalizers
|
|
- storagemappings/finalizers
|
|
- vjailbreaknodes/finalizers
|
|
- vmwarecreds/finalizers
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationplans/status
|
|
- migrations/status
|
|
- migrationtemplates/status
|
|
- networkmappings/status
|
|
- openstackcreds/status
|
|
- storagemappings/status
|
|
- vjailbreaknodes/status
|
|
- vmwarecreds/status
|
|
verbs:
|
|
- get
|
|
- patch
|
|
- update
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-migration-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrations
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrations/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-migration-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrations
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrations/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-migrationplan-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationplans
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationplans/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-migrationplan-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationplans
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationplans/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-migrationtemplate-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationtemplates
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationtemplates/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-migrationtemplate-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationtemplates
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- migrationtemplates/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-networkmapping-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- networkmappings
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- networkmappings/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-networkmapping-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- networkmappings
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- networkmappings/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-openstackcreds-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- openstackcreds
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- openstackcreds/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-openstackcreds-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- openstackcreds
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- openstackcreds/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-storagemapping-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- storagemappings
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- storagemappings/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-storagemapping-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- storagemappings
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- storagemappings/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-vjailbreaknode-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vjailbreaknodes
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vjailbreaknodes/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-vjailbreaknode-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vjailbreaknodes
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vjailbreaknodes/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-vmwarecreds-editor-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vmwarecreds
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vmwarecreds/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-vmwarecreds-viewer-role
|
|
rules:
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vmwarecreds
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- vjailbreak.k8s.pf9.io
|
|
resources:
|
|
- vmwarecreds/status
|
|
verbs:
|
|
- get
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-leader-election-rolebinding
|
|
namespace: migration-system
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: migration-leader-election-role
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: migration-controller-manager
|
|
namespace: migration-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
name: migration-manager-rolebinding
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: migration-manager-role
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: migration-controller-manager
|
|
namespace: migration-system
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: kustomize
|
|
app.kubernetes.io/name: migration
|
|
control-plane: controller-manager
|
|
name: migration-controller-manager
|
|
namespace: migration-system
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
control-plane: controller-manager
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
kubectl.kubernetes.io/default-container: manager
|
|
labels:
|
|
control-plane: controller-manager
|
|
spec:
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: Exists
|
|
containers:
|
|
- args:
|
|
- --leader-elect=false
|
|
- --health-probe-bind-address=:8081
|
|
command:
|
|
- /manager
|
|
image: quay.io/platform9/vjailbreak-controller:v0.1.5
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 8081
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 20
|
|
name: manager
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readyz
|
|
port: 8081
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
resources:
|
|
requests:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
volumeMounts:
|
|
- mountPath: /etc/pf9/k3s
|
|
name: master-token
|
|
hostNetwork: true
|
|
securityContext:
|
|
runAsGroup: 0
|
|
runAsUser: 0
|
|
serviceAccountName: migration-controller-manager
|
|
terminationGracePeriodSeconds: 10
|
|
volumes:
|
|
- hostPath:
|
|
path: /var/lib/rancher/k3s/server
|
|
type: Directory
|
|
name: master-token
|