Compare commits

...
5 Commits
Author SHA1 Message Date
OmkarDeshpande7 45d3a14195 Add release v0.1.7 2026-09-15 22:45:03 +05:30
OmkarDeshpande7 9b38fd3b00 Add release v0.1.6 2026-09-15 22:44:54 +05:30
OmkarDeshpande7 1faa3a5f45 Add release v0.1.5 2026-09-15 22:44:45 +05:30
OmkarDeshpande7 cccd90c9ff Add release v0.1.4 2026-09-15 22:44:37 +05:30
OmkarDeshpande7 b414b04d7d Add release v0.1.3 2026-09-15 22:44:28 +05:30
10 changed files with 661 additions and 210 deletions
+423 -199
View File
@@ -11,7 +11,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.15.0 controller-gen.kubebuilder.io/version: v0.17.1
name: migrationplans.vjailbreak.k8s.pf9.io name: migrationplans.vjailbreak.k8s.pf9.io
spec: spec:
group: vjailbreak.k8s.pf9.io group: vjailbreak.k8s.pf9.io
@@ -22,7 +22,11 @@ spec:
singular: migrationplan singular: migrationplan
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.migrationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: MigrationPlan is the Schema for the migrationplans API description: MigrationPlan is the Schema for the migrationplans API
@@ -97,7 +101,7 @@ spec:
type: string type: string
retry: retry:
type: boolean type: boolean
virtualmachines: virtualMachines:
items: items:
items: items:
type: string type: string
@@ -106,7 +110,7 @@ spec:
required: required:
- migrationStrategy - migrationStrategy
- migrationTemplate - migrationTemplate
- virtualmachines - virtualMachines
type: object type: object
status: status:
description: MigrationPlanStatus defines the observed state of MigrationPlan description: MigrationPlanStatus defines the observed state of MigrationPlan
@@ -129,7 +133,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.15.0 controller-gen.kubebuilder.io/version: v0.17.1
name: migrations.vjailbreak.k8s.pf9.io name: migrations.vjailbreak.k8s.pf9.io
spec: spec:
group: vjailbreak.k8s.pf9.io group: vjailbreak.k8s.pf9.io
@@ -140,7 +144,14 @@ spec:
singular: migration singular: migration
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.phase
name: Phase
type: string
- jsonPath: .status.agentName
name: AgentName
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: Migration is the Schema for the migrations API description: Migration is the Schema for the migrations API
@@ -163,15 +174,20 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: MigrationSpec defines the desired state of Migration description: Spec defines the desired state of Migration
properties: properties:
initiateCutover: initiateCutover:
description: InitiateCutover is the flag to initiate cutover
type: boolean type: boolean
migrationPlan: migrationPlan:
description: MigrationPlan is the name of the migration plan
type: string type: string
podRef: podRef:
description: PodRef is the name of the pod
type: string type: string
vmName: vmName:
description: VMName is the name of the VM getting migrated from VMWare
to Openstack
type: string type: string
required: required:
- initiateCutover - initiateCutover
@@ -180,9 +196,15 @@ spec:
- vmName - vmName
type: object type: object
status: status:
description: MigrationStatus defines the observed state of Migration description: Status defines the observed state of Migration
properties: properties:
agentName:
description: AgentName is the name of the agent where migration is
running
type: string
conditions: conditions:
description: Conditions is the list of conditions of the migration
object pod
items: items:
description: PodCondition contains details for the current condition description: PodCondition contains details for the current condition
of this pod. of this pod.
@@ -221,9 +243,9 @@ spec:
type: object type: object
type: array type: array
phase: phase:
description: Phase is the current phase of the migration
type: string type: string
required: required:
- conditions
- phase - phase
type: object type: object
type: object type: object
@@ -236,7 +258,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.15.0 controller-gen.kubebuilder.io/version: v0.17.1
name: migrationtemplates.vjailbreak.k8s.pf9.io name: migrationtemplates.vjailbreak.k8s.pf9.io
spec: spec:
group: vjailbreak.k8s.pf9.io group: vjailbreak.k8s.pf9.io
@@ -334,6 +356,10 @@ spec:
items: items:
type: string type: string
type: array type: array
disks:
items:
type: string
type: array
ipAddress: ipAddress:
type: string type: string
name: name:
@@ -361,7 +387,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.15.0 controller-gen.kubebuilder.io/version: v0.17.1
name: networkmappings.vjailbreak.k8s.pf9.io name: networkmappings.vjailbreak.k8s.pf9.io
spec: spec:
group: vjailbreak.k8s.pf9.io group: vjailbreak.k8s.pf9.io
@@ -372,7 +398,11 @@ spec:
singular: networkmapping singular: networkmapping
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.NetworkmappingValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: NetworkMapping is the Schema for the networkmappings API description: NetworkMapping is the Schema for the networkmappings API
@@ -431,7 +461,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.15.0 controller-gen.kubebuilder.io/version: v0.17.1
name: openstackcreds.vjailbreak.k8s.pf9.io name: openstackcreds.vjailbreak.k8s.pf9.io
spec: spec:
group: vjailbreak.k8s.pf9.io group: vjailbreak.k8s.pf9.io
@@ -442,7 +472,11 @@ spec:
singular: openstackcreds singular: openstackcreds
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.openstackValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: OpenstackCreds is the Schema for the openstackcreds API description: OpenstackCreds is the Schema for the openstackcreds API
@@ -467,29 +501,50 @@ spec:
spec: spec:
description: OpenstackCredsSpec defines the desired state of OpenstackCreds description: OpenstackCredsSpec defines the desired state of OpenstackCreds
properties: properties:
OS_AUTH_URL: secretRef:
description: OsAuthURL is the OpenStack authentication URL description: SecretRef is the reference to the Kubernetes secret holding
OpenStack credentials
properties:
apiVersion:
description: API version of the referent.
type: string type: string
OS_DOMAIN_NAME: fieldPath:
description: OsDomainName is the OpenStack domain name 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 type: string
OS_INSECURE: kind:
default: false description: |-
description: OsInsecure is the flag to skip verification of the OpenStack Kind of the referent.
TLS Certificate More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: boolean
OS_PASSWORD:
description: OsPassword is the OpenStack password
type: string type: string
OS_REGION_NAME: name:
description: OsRegionName is the OpenStack region name description: |-
Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string type: string
OS_TENANT_NAME: namespace:
description: OsTenantName is the OpenStack tenant name description: |-
Namespace of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
type: string type: string
OS_USERNAME: resourceVersion:
description: OsUsername is the OpenStack username 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 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 type: object
status: status:
description: OpenstackCredsStatus defines the observed state of OpenstackCreds description: OpenstackCredsStatus defines the observed state of OpenstackCreds
@@ -497,9 +552,6 @@ spec:
openstackValidationMessage: openstackValidationMessage:
type: string type: string
openstackValidationStatus: openstackValidationStatus:
description: |-
INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
Important: Run "make" to regenerate code after modifying this file
type: string type: string
type: object type: object
type: object type: object
@@ -512,7 +564,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.15.0 controller-gen.kubebuilder.io/version: v0.17.1
name: storagemappings.vjailbreak.k8s.pf9.io name: storagemappings.vjailbreak.k8s.pf9.io
spec: spec:
group: vjailbreak.k8s.pf9.io group: vjailbreak.k8s.pf9.io
@@ -523,7 +575,11 @@ spec:
singular: storagemapping singular: storagemapping
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.storageMappingValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: StorageMapping is the Schema for the storagemappings API description: StorageMapping is the Schema for the storagemappings API
@@ -549,6 +605,7 @@ spec:
description: StorageMappingSpec defines the desired state of StorageMapping description: StorageMappingSpec defines the desired state of StorageMapping
properties: properties:
storages: storages:
description: Storages is a list of storage mappings
items: items:
properties: properties:
source: source:
@@ -581,7 +638,192 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.15.0 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 name: vmwarecreds.vjailbreak.k8s.pf9.io
spec: spec:
group: vjailbreak.k8s.pf9.io group: vjailbreak.k8s.pf9.io
@@ -592,7 +834,11 @@ spec:
singular: vmwarecreds singular: vmwarecreds
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - additionalPrinterColumns:
- jsonPath: .status.vmwareValidationStatus
name: Status
type: string
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: VMwareCreds is the Schema for the vmwarecreds API description: VMwareCreds is the Schema for the vmwarecreds API
@@ -617,19 +863,51 @@ spec:
spec: spec:
description: VMwareCredsSpec defines the desired state of VMwareCreds description: VMwareCredsSpec defines the desired state of VMwareCreds
properties: properties:
VCENTER_HOST: 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 type: string
VCENTER_INSECURE: fieldPath:
type: boolean description: |-
VCENTER_PASSWORD: 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 type: string
VCENTER_USERNAME: kind:
description: |-
Kind of the referent.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string type: string
required: name:
- VCENTER_HOST description: |-
- VCENTER_INSECURE Name of the referent.
- VCENTER_PASSWORD More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- VCENTER_USERNAME 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 type: object
status: status:
description: VMwareCredsStatus defines the observed state of VMwareCreds description: VMwareCredsStatus defines the observed state of VMwareCreds
@@ -707,6 +985,8 @@ rules:
- "" - ""
resources: resources:
- configmaps - configmaps
- pods
- secrets
verbs: verbs:
- create - create
- delete - delete
@@ -726,14 +1006,11 @@ rules:
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
- pods - nodes
verbs: verbs:
- create
- delete - delete
- get - get
- list - list
- patch
- update
- watch - watch
- apiGroups: - apiGroups:
- "" - ""
@@ -743,159 +1020,28 @@ rules:
- get - get
- patch - patch
- update - update
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups: - apiGroups:
- vjailbreak.k8s.pf9.io - vjailbreak.k8s.pf9.io
resources: resources:
- migrationplans - migrationplans
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- migrationplans/finalizers
verbs:
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- migrationplans/status
verbs:
- get
- patch
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- migrations - migrations
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- migrations/status
verbs:
- get
- patch
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- migrationtemplates - migrationtemplates
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- migrationtemplates/finalizers
verbs:
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- migrationtemplates/status
verbs:
- get
- patch
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- networkmappings - networkmappings
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- networkmappings/finalizers
verbs:
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- networkmappings/status
verbs:
- get
- patch
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- openstackcreds - openstackcreds
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- openstackcreds/finalizers
verbs:
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- openstackcreds/status
verbs:
- get
- patch
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- storagemappings - storagemappings
verbs: - vjailbreaknodes
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- storagemappings/finalizers
verbs:
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- storagemappings/status
verbs:
- get
- patch
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- vmwarecreds - vmwarecreds
verbs: verbs:
- create - create
@@ -908,12 +1054,25 @@ rules:
- apiGroups: - apiGroups:
- vjailbreak.k8s.pf9.io - vjailbreak.k8s.pf9.io
resources: resources:
- migrationplans/finalizers
- migrationtemplates/finalizers
- networkmappings/finalizers
- openstackcreds/finalizers
- storagemappings/finalizers
- vjailbreaknodes/finalizers
- vmwarecreds/finalizers - vmwarecreds/finalizers
verbs: verbs:
- update - update
- apiGroups: - apiGroups:
- vjailbreak.k8s.pf9.io - vjailbreak.k8s.pf9.io
resources: resources:
- migrationplans/status
- migrations/status
- migrationtemplates/status
- networkmappings/status
- openstackcreds/status
- storagemappings/status
- vjailbreaknodes/status
- vmwarecreds/status - vmwarecreds/status
verbs: verbs:
- get - get
@@ -1222,6 +1381,56 @@ rules:
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole 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: metadata:
labels: labels:
app.kubernetes.io/managed-by: kustomize app.kubernetes.io/managed-by: kustomize
@@ -1324,13 +1533,20 @@ spec:
labels: labels:
control-plane: controller-manager control-plane: controller-manager
spec: spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: Exists
containers: containers:
- args: - args:
- --leader-elect=false - --leader-elect=false
- --health-probe-bind-address=:8081 - --health-probe-bind-address=:8081
command: command:
- /manager - /manager
image: platform9/vjailbreak-controller:v0.1 image: quay.io/platform9/vjailbreak-controller:v0.1.7
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
livenessProbe: livenessProbe:
httpGet: httpGet:
@@ -1354,9 +1570,17 @@ spec:
capabilities: capabilities:
drop: drop:
- ALL - ALL
dnsPolicy: ClusterFirstWithHostNet volumeMounts:
- mountPath: /etc/pf9/k3s
name: master-token
hostNetwork: true hostNetwork: true
securityContext: securityContext:
runAsNonRoot: true runAsGroup: 0
runAsUser: 0
serviceAccountName: migration-controller-manager serviceAccountName: migration-controller-manager
terminationGracePeriodSeconds: 10 terminationGracePeriodSeconds: 10
volumes:
- hostPath:
path: /var/lib/rancher/k3s/server
type: Directory
name: master-token
+11 -2
View File
@@ -62,13 +62,22 @@ metadata:
namespace: default namespace: default
annotations: annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
spec: spec:
ingressClassName: nginx ingressClassName: nginx
rules: rules:
- http: - http:
paths: paths:
- path: /apis - path: /(apis.*)
pathType: Prefix pathType: ImplementationSpecific
backend:
service:
name: kubernetes
port:
number: 443
- path: /(api.*)
pathType: ImplementationSpecific
backend: backend:
service: service:
name: kubernetes name: kubernetes
+73
View File
@@ -0,0 +1,73 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: sync-daemon
namespace: kube-system
labels:
app: sync-daemon
spec:
selector:
matchLabels:
app: sync-daemon
template:
metadata:
labels:
app: sync-daemon
spec:
hostNetwork: true
containers:
- name: sync-container
image: alpine:latest
securityContext:
privileged: true
ports:
- containerPort: 873
volumeMounts:
- name: pf9-env
mountPath: /etc/pf9
readOnly: true
- name: vmwarelib
mountPath: /home/ubuntu/vmware-vix-disklib-distrib
command: ["/bin/sh", "-c"]
args:
- |
# Install required packages
apk add --no-cache rsync coreutils grep;
# Extract variables from environment file
IS_MASTER=$(grep -E '^export IS_MASTER=' /etc/pf9/k3s.env | cut -d'=' -f2)
MASTER_IP=$(grep -E '^export MASTER_IP=' /etc/pf9/k3s.env | cut -d'=' -f2)
if [ "$IS_MASTER" = "true" ]; then
echo "Master node detected. IP: $MASTER_IP"
# Start rsync daemon using the pre-created config file
echo "Starting rsync daemon..."
rsync --daemon --config=/etc/pf9/rsyncd.conf --no-detach
# Verify rsync daemon is running
if ps aux | grep rsync | grep -v grep; then
echo "rsync daemon is running."
else
echo "Failed to start rsync daemon."
exit 1
fi
else
echo "Worker node detected. Syncing from Master..."
while true; do
mkdir -p /home/ubuntu/vmware-vix-disklib-distrib/
echo "Syncing from rsync://${MASTER_IP}"
rsync -avz rsync://${MASTER_IP}/vmwarelib/ /home/ubuntu/vmware-vix-disklib-distrib/
if [ $? -eq 0 ]; then
echo "Sync completed successfully."
else
echo "Sync failed. Retrying in 60 seconds..."
fi
sleep 20 # Retry every 60 seconds
done
fi
volumes:
- name: pf9-env
hostPath:
path: /etc/pf9
type: Directory
- name: vmwarelib
hostPath:
path: /home/ubuntu/vmware-vix-disklib-distrib
type: DirectoryOrCreate
+3
View File
@@ -0,0 +1,3 @@
export IS_MASTER=true
export MASTER_IP=
export K3S_TOKEN=
+15
View File
@@ -0,0 +1,15 @@
# Rsync Daemon Configuration
uid = root
gid = root
use chroot = no
read only = no
max connections = 5
log file = /var/log/rsync.log
timeout = 300
[vmwarelib]
path = /home/ubuntu/vmware-vix-disklib-distrib
comment = VMware VIX Disk Library
read only = no
write only = no
list = yes
+13
View File
@@ -0,0 +1,13 @@
# v0.1.3
- **Tag:** `v0.1.3`
- **Published:** 2025-02-12T11:56:12Z
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.3
## Release Notes
## What's Changed
* Fix ui to accept OS_INSECURE from rc file by @spai-p9 in https://github.com/platform9/vjailbreak/pull/177
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.2...v0.1.3
+28
View File
@@ -0,0 +1,28 @@
# v0.1.4
- **Tag:** `v0.1.4`
- **Published:** 2025-02-21T13:51:39Z
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.4
## Release Notes
## What's Changed
* Fix GH workflow runs on release event by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/147
* workflow dispatch manual by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/148
* Update README.md by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/149
* Update model.ts by @markp93 in https://github.com/platform9/vjailbreak/pull/152
* Added delete migration functionality to the migration table by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/155
* Adding workers nodes to the vjailbreak by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/161
* update package.json by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/172
* Update issue templates by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/158
* Update bug_report.yaml by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/175
* Migration data copy progress % and migration phases by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/167
* Nit: consistent referring to company VMware by @ericwb in https://github.com/platform9/vjailbreak/pull/164
* Update README.md by @markp93 in https://github.com/platform9/vjailbreak/pull/170
* release version v0.1.4 (release) by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/196
## New Contributors
* @markp93 made their first contribution in https://github.com/platform9/vjailbreak/pull/152
* @ericwb made their first contribution in https://github.com/platform9/vjailbreak/pull/164
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.3...v0.1.4
+29
View File
@@ -0,0 +1,29 @@
# v0.1.5
- **Tag:** `v0.1.5`
- **Published:** 2025-03-04T18:18:51Z
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.5
## Release Notes
## What's Changed
* Accept vmware and openstack creds via secert by @spai-p9 in https://github.com/platform9/vjailbreak/pull/228
* Create and Reuse existing open stack and vmware creds with other mino… by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/237
* Support OS installed on LV by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/227
* Adding templates for github wiki by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/226
* resolving lint issues by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/239
* resolving lint issues by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/240
* update image tag to v0.1.5 by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/242
* Base documentation update for vJailbreak by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/243
* Update checkout action to generate release notes by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/249
* Update checkout action to generate release notes by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/250
* Ingress changes to call k8s apis by @spai-p9 in https://github.com/platform9/vjailbreak/pull/252
* Reformatted readme by @damian-pf9 in https://github.com/platform9/vjailbreak/pull/206
## New Contributors
* @damian-pf9 made their first contribution in https://github.com/platform9/vjailbreak/pull/206
* @bhavin192 made their first contribution
* @anmolsachan made their first contribution
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.4...v0.1.5
+17
View File
@@ -0,0 +1,17 @@
# v0.1.6
- **Tag:** `v0.1.6`
- **Published:** 2025-03-17T09:51:00Z
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.6
## Release Notes
## What's Changed
* Update the correct gh-pages by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/265
* Update the correct icon for gh-pages by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/266
* Update the correct version for gh-pages by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/267
* ( release ) UI improvements and Backend fixes. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/281
* Update release notes for v0.1.6 by @github-actions in https://github.com/platform9/vjailbreak/pull/282
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.5...v0.1.6
+40
View File
@@ -0,0 +1,40 @@
# v0.1.7
- **Tag:** `v0.1.7`
- **Published:** 2025-03-26T09:01:10Z
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.1.7
## Release Notes
## What's Changed
* Update video link to latest by @anmolsachan in https://github.com/platform9/vjailbreak/pull/290
* fix readme for openstackcreds and vmware creds by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/288
* ( release ) Change base image to ubuntu base image, reduced image size. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/286
* Ignore Failed phase on retry by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/289
* api cosmetic fixes by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/274
* Support rollback for failed VM by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/300
* check VM status before marking migration as complete by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/295
* UI: Api cosmetic changes UI by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/297
* UI: Fix active migration by @spai-p9 in https://github.com/platform9/vjailbreak/pull/304
* fix mocks, unit tests by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/308
* block openstackcreds deletion for master creds by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/303
* UI: Implement a new credential addition workflow, and remove the creds addition from MigrationForm and Scaleup drawer by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/298
* Easy debug config by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/287
* resolved lint issues by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/311
* 270 identically named source destination credentials arent displayed properly by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/312
* Actions enhancement: Build and push on every PR raised to main or release branch. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/313
* Heavily re-organized docs pages by @damian-pf9 in https://github.com/platform9/vjailbreak/pull/309
* Update the docs github page by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/314
* Sync VDDK across agents without any manual intervention by @spai-p9 in https://github.com/platform9/vjailbreak/pull/296
* Fix versions and github actions by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/316
* Fixed regression while updating cosmetic api changes, virtualmac… by @patil-pratik-87 in https://github.com/platform9/vjailbreak/pull/317
* 0.1.7 release fixes by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/318
* Build: Fix CGO Linking for libnbd Library in Build Process (release) by @spai-p9 in https://github.com/platform9/vjailbreak/pull/315
* fix migration status with random pod ref name by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/320
* UI: Disable scale down of a node when active migration is going on by @spai-p9 in https://github.com/platform9/vjailbreak/pull/319
* release: Fix github action when PR raised from release branch by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/323
* update astro action to use v4 by @sharma-tapas in https://github.com/platform9/vjailbreak/pull/324
* Add optional dependency by @spai-p9 in https://github.com/platform9/vjailbreak/pull/325
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.1.6...v0.1.7