Files
vjailbreak/deploy/00crds.yaml
T
2026-09-15 22:45:03 +05:30

1587 lines
47 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:
- additionalPrinterColumns:
- jsonPath: .status.migrationStatus
name: Status
type: string
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:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .status.agentName
name: AgentName
type: string
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:
- additionalPrinterColumns:
- jsonPath: .status.NetworkmappingValidationStatus
name: Status
type: string
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:
- additionalPrinterColumns:
- jsonPath: .status.openstackValidationStatus
name: Status
type: string
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:
- additionalPrinterColumns:
- jsonPath: .status.storageMappingValidationStatus
name: Status
type: string
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:
description: Storages is a list of storage mappings
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:
- additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .status.vmIP
name: VMIP
type: string
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
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
openstackImageID:
description: OpenstackImageID is the image of the VM
type: string
required:
- nodeRole
- openstackCreds
- openstackFlavorID
- openstackImageID
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:
- additionalPrinterColumns:
- jsonPath: .status.vmwareValidationStatus
name: Status
type: string
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:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- 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.7
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