Compare commits

..
2 Commits
Author SHA1 Message Date
OmkarDeshpande7 7f1a95392f Add release v0.4.3 2026-09-15 22:49:36 +05:30
OmkarDeshpande7 1fe88517ca Add release v0.4.2 2026-09-15 22:49:26 +05:30
7 changed files with 679 additions and 15 deletions
+276 -3
View File
@@ -1691,6 +1691,10 @@ spec:
type: string
type: object
x-kubernetes-map-type: atomic
vjbinstanceid:
description: VJBInstanceID is the ID of current vjailbreak instance
(needed if metadata service is not available)
type: string
type: object
status:
description: OpenstackCredsStatus defines the observed state of OpenstackCreds
@@ -1704,7 +1708,19 @@ spec:
type: object
networks:
items:
type: string
description: PCDNetworkInfo is struct to hold network information
for PCD
properties:
name:
type: string
tags:
items:
type: string
type: array
required:
- name
- tags
type: object
type: array
securityGroups:
items:
@@ -2663,7 +2679,7 @@ spec:
(e.g., Provisioning, Ready, Error, Decommissioning)
type: string
vmIP:
description: VMIP is the IP address of the VM
description: VMIP is the IP address of the VM
type: string
required:
- vmIP
@@ -3104,11 +3120,15 @@ spec:
machine.
properties:
ipAddress:
type: string
items:
type: string
type: array
mac:
type: string
network:
type: string
networkType:
type: string
order:
type: integer
type: object
@@ -4413,4 +4433,257 @@ spec:
number: 80
path: /dev-api/sdk/(.*)
pathType: ImplementationSpecific
---
apiVersion: v1
kind: Service
metadata:
name: vjailbreak-ui-service
namespace: migration-system
spec:
selector:
app: vjailbreak-ui
type: ClusterIP
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vjailbreak-ui-ingress
namespace: migration-system
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: vjailbreak-ui-service
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vjailbreak-api-ingress
namespace: default
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /(apis.*)
pathType: ImplementationSpecific
backend:
service:
name: kubernetes
port:
number: 443
- path: /(api.*)
pathType: ImplementationSpecific
backend:
service:
name: kubernetes
port:
number: 443
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana-api-ingress
namespace: monitoring
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /grafana
pathType: Prefix
backend:
service:
name: grafana
port:
number: 3000
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: migration
name: ui-manager-sa
namespace: migration-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: ui-manager-role
rules:
- apiGroups:
- ""
resources:
- secrets
verbs:
- create
- delete
- get
- list
- patch
- update
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- list
- watch
- patch
- apiGroups:
- ""
resources:
- configmaps/status
- pods/status
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- pods/log
verbs:
- get
- list
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- arraycreds
- arraycredsmappings
- bmconfigs
- esxisshcreds
- clustermigrations
- esximigrations
- migrationplans
- migrations
- migrationtemplates
- networkmappings
- openstackcreds
- pcdclusters
- pcdhosts
- rdmdisks
- rollingmigrationplans
- storagemappings
- vjailbreaknodes
- vmwareclusters
- vmwarecreds
- vmwarehosts
- vmwaremachines
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- arraycreds/finalizers
- arraycredsmappings/finalizers
- bmconfigs/finalizers
- esxisshcreds/finalizers
- clustermigrations/finalizers
- esximigrations/finalizers
- migrationplans/finalizers
- migrationtemplates/finalizers
- networkmappings/finalizers
- openstackcreds/finalizers
- pcdclusters/finalizers
- pcdhosts/finalizers
- rdmdisks/finalizers
- rollingmigrationplans/finalizers
- storagemappings/finalizers
- vjailbreaknodes/finalizers
- vmwarecreds/finalizers
verbs:
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- arraycreds/status
- arraycredsmappings/status
- bmconfigs/status
- esxisshcreds/status
- clustermigrations/status
- esximigrations/status
- migrationplans/status
- migrations/status
- migrationtemplates/status
- networkmappings/status
- openstackcreds/status
- pcdclusters/status
- pcdhosts/status
- rdmdisks/status
- rollingmigrationplans/status
- storagemappings/status
- vjailbreaknodes/status
- vmwarecreds/status
- vmwaremachines/status
verbs:
- get
- patch
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: migration
name: ui-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: ui-manager-role
subjects:
- kind: ServiceAccount
name: ui-manager-sa
namespace: migration-system
---
+5 -1
View File
@@ -41,7 +41,7 @@ spec:
envFrom:
- configMapRef:
name: pf9-env
image: quay.io/platform9/vjailbreak-controller:v0.4.1
image: quay.io/platform9/vjailbreak-controller:v0.4.3
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -75,6 +75,10 @@ spec:
- mountPath: /etc/hosts
name: hosts-file
readOnly: true
dnsConfig:
options:
- name: ndots
value: "1"
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
securityContext:
+5 -1
View File
@@ -27,7 +27,7 @@ spec:
- envFrom:
- configMapRef:
name: pf9-env
image: quay.io/platform9/vjailbreak-vpwned:v0.4.1
image: quay.io/platform9/vjailbreak-vpwned:v0.4.3
imagePullPolicy: IfNotPresent
name: vpwned
ports:
@@ -42,6 +42,10 @@ spec:
readOnly: true
- mountPath: /home/ubuntu
name: vddk-storage
dnsConfig:
options:
- name: ndots
value: "1"
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
+10 -2
View File
@@ -1,3 +1,4 @@
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -13,10 +14,17 @@ spec:
labels:
app: vjailbreak-ui
spec:
serviceAccountName: migration-controller-manager
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: Exists
serviceAccountName: ui-manager-sa
containers:
- name: vjailbreak-ui-container
image: quay.io/platform9/vjailbreak-ui:v0.4.1
image: quay.io/platform9/vjailbreak-ui:v0.4.3
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
+294 -8
View File
@@ -1691,6 +1691,10 @@ spec:
type: string
type: object
x-kubernetes-map-type: atomic
vjbinstanceid:
description: VJBInstanceID is the ID of current vjailbreak instance
(needed if metadata service is not available)
type: string
type: object
status:
description: OpenstackCredsStatus defines the observed state of OpenstackCreds
@@ -1704,7 +1708,19 @@ spec:
type: object
networks:
items:
type: string
description: PCDNetworkInfo is struct to hold network information
for PCD
properties:
name:
type: string
tags:
items:
type: string
type: array
required:
- name
- tags
type: object
type: array
securityGroups:
items:
@@ -2663,7 +2679,7 @@ spec:
(e.g., Provisioning, Ready, Error, Decommissioning)
type: string
vmIP:
description: VMIP is the IP address of the VM
description: VMIP is the IP address of the VM
type: string
required:
- vmIP
@@ -3104,11 +3120,15 @@ spec:
machine.
properties:
ipAddress:
type: string
items:
type: string
type: array
mac:
type: string
network:
type: string
networkType:
type: string
order:
type: integer
type: object
@@ -4428,7 +4448,7 @@ spec:
envFrom:
- configMapRef:
name: pf9-env
image: quay.io/platform9/vjailbreak-controller:v0.4.1
image: quay.io/platform9/vjailbreak-controller:v0.4.3
imagePullPolicy: IfNotPresent
lifecycle:
preStop:
@@ -4462,6 +4482,10 @@ spec:
- mountPath: /etc/hosts
name: hosts-file
readOnly: true
dnsConfig:
options:
- name: ndots
value: "1"
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
securityContext:
@@ -4511,7 +4535,7 @@ spec:
- envFrom:
- configMapRef:
name: pf9-env
image: quay.io/platform9/vjailbreak-vpwned:v0.4.1
image: quay.io/platform9/vjailbreak-vpwned:v0.4.3
imagePullPolicy: IfNotPresent
name: vpwned
ports:
@@ -4526,6 +4550,10 @@ spec:
readOnly: true
- mountPath: /home/ubuntu
name: vddk-storage
dnsConfig:
options:
- name: ndots
value: "1"
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
@@ -4586,10 +4614,17 @@ spec:
labels:
app: vjailbreak-ui
spec:
serviceAccountName: migration-controller-manager
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: Exists
serviceAccountName: ui-manager-sa
containers:
- name: vjailbreak-ui-container
image: quay.io/platform9/vjailbreak-ui:v0.4.1
image: quay.io/platform9/vjailbreak-ui:v0.4.3
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
@@ -4608,4 +4643,255 @@ spec:
hostPath:
path: /var/log/pf9
type: DirectoryOrCreate
---
---
apiVersion: v1
kind: Service
metadata:
name: vjailbreak-ui-service
namespace: migration-system
spec:
selector:
app: vjailbreak-ui
type: ClusterIP
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vjailbreak-ui-ingress
namespace: migration-system
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: vjailbreak-ui-service
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vjailbreak-api-ingress
namespace: default
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/rewrite-target: /$1
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /(apis.*)
pathType: ImplementationSpecific
backend:
service:
name: kubernetes
port:
number: 443
- path: /(api.*)
pathType: ImplementationSpecific
backend:
service:
name: kubernetes
port:
number: 443
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana-api-ingress
namespace: monitoring
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /grafana
pathType: Prefix
backend:
service:
name: grafana
port:
number: 3000
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: migration
name: ui-manager-sa
namespace: migration-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: ui-manager-role
rules:
- apiGroups:
- ""
resources:
- secrets
verbs:
- create
- delete
- get
- list
- patch
- update
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- list
- watch
- patch
- apiGroups:
- ""
resources:
- configmaps/status
- pods/status
verbs:
- get
- apiGroups:
- ""
resources:
- events
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- pods/log
verbs:
- get
- list
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- arraycreds
- arraycredsmappings
- bmconfigs
- esxisshcreds
- clustermigrations
- esximigrations
- migrationplans
- migrations
- migrationtemplates
- networkmappings
- openstackcreds
- pcdclusters
- pcdhosts
- rdmdisks
- rollingmigrationplans
- storagemappings
- vjailbreaknodes
- vmwareclusters
- vmwarecreds
- vmwarehosts
- vmwaremachines
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- arraycreds/finalizers
- arraycredsmappings/finalizers
- bmconfigs/finalizers
- esxisshcreds/finalizers
- clustermigrations/finalizers
- esximigrations/finalizers
- migrationplans/finalizers
- migrationtemplates/finalizers
- networkmappings/finalizers
- openstackcreds/finalizers
- pcdclusters/finalizers
- pcdhosts/finalizers
- rdmdisks/finalizers
- rollingmigrationplans/finalizers
- storagemappings/finalizers
- vjailbreaknodes/finalizers
- vmwarecreds/finalizers
verbs:
- update
- apiGroups:
- vjailbreak.k8s.pf9.io
resources:
- arraycreds/status
- arraycredsmappings/status
- bmconfigs/status
- esxisshcreds/status
- clustermigrations/status
- esximigrations/status
- migrationplans/status
- migrations/status
- migrationtemplates/status
- networkmappings/status
- openstackcreds/status
- pcdclusters/status
- pcdhosts/status
- rdmdisks/status
- rollingmigrationplans/status
- storagemappings/status
- vjailbreaknodes/status
- vmwarecreds/status
- vmwaremachines/status
verbs:
- get
- patch
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: migration
name: ui-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: ui-manager-role
subjects:
- kind: ServiceAccount
name: ui-manager-sa
namespace: migration-system
+47
View File
@@ -0,0 +1,47 @@
# v0.4.2
- **Tag:** `v0.4.2`
- **Published:** 2026-03-18T18:50:07Z
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.4.2
## Release Notes
## What's Changed
* UI access control by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1629
* refactor for a cleaner code: consolidate go modules and constants by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1560
* Simplify S3 QCOW2 upload paths by removing date folders by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1631
* fix - Static network interface name is not getting preserved for Rocky9 by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1634
* Refactor: move commonly used functions to common package by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1633
* fix: Wait for network IP and default route before installing K3s master and worker by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1644
* metadata as input by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1639
* Implement independent post-migration script execution for mixed OS plans by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1638
* #1607 : Cancel button is not working during vddk upload by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1635
* #1575, #1577 : Start Migration is not getting disabled by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1637
* Added checks for failure in user management vjbctl by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1659
* Add exponential backoff auto-reconnect for migration pod log streams by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1657
* Fix UI RBAC permissions for pod operations by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1661
* fix: Scale up agents on L2 network by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1654
* Detect if target is L2 network if so ignore ip by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1666
* Added failure checks in vjbctl by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1672
* create seperate CI to create base image, use this base image to generate qcow2 by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1677
* Revert "create seperate CI to create base image, use this base image to generate qcow2" by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1684
* #1543 : VM selection filter is not working properly by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1682
* fix: Version lock ingress version by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1686
* fix - Migrations failing with - failed to reserve ports for VM by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1688
* #1694 : Extract only first IPv4 address when displaying and editing VM IP addresses by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1695
* Fix: VJailbreakNode CR status was stuck at "CreatingVM" for L2 networks even after the VM joined the K8s cluster. by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1693
* Ability to reuse ports in case of l2 network by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1700
* #1692 : Support multiple IP addresses per network interface by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1697
* API change: multiple ips for single nic in vmwaremachines by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1696
* Disabled Fallbacktodhcp and Securitygrp for L2 by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1705
* #1694 : Preserve IP for a powered on VM is getting wrong IPs for no IP interfaces by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1704
* fix agents migration for L3 by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1706
* #1710 : Remove no ip validation in assign IP box for no ip interfaces by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1712
* Mount persist debug log by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1711
* Disabled assigned ip box for multiple ips by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1713
* Defining refresh ui function for vjbctl by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1715
* chore: Pre-release CRD generation for v0.4.2 by @github-actions[bot] in https://github.com/platform9/vjailbreak/pull/1716
* Added a check to preserve ip by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1718
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.4.1...v0.4.2
+42
View File
@@ -0,0 +1,42 @@
# v0.4.3
- **Tag:** `v0.4.3`
- **Published:** 2026-04-08T06:57:13Z
- **Source release:** https://github.com/platform9/vjailbreak/releases/tag/v0.4.3
## Release Notes
## What's Changed
* fix for no cluster filter by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1726
* fix - Unable to migrate powered-off VM without IP address by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1732
* Optimise VMware tool removal by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1675
* Added dnsConfig with ndots: 1 for controller,v2v-helper and vpwned pods by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1736
* Replaced the manual name construction with a call to resolvecinderVolumeToLun Function by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1738
* Added delete permissions for secrets by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1740
* uuid for image id discovery call by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1739
* Duplicate ESXi hosts are visible for multiple VMware credentials by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1707
* Preserved non-ASCII chars in Kubernetes secrets by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1745
* #1656: Reset to Default button toggles off Auto Fstab Update and sets migration type to hot by default by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1734
* #1733 : Add a toggle to pass the instance ID when creating PCD credentials on a VJB VM that was created using an L2 network by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1744
* #1648 : Remove the N/A drop down from Storage Accelerated Copy by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1748
* Disable security group selection for L2-enabled PCD credentials by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1757
* Updating virt-v2v version by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1763
* Give permission to UI user to create arraycredsmapping by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1760
* mount point for lvm by @OmkarDeshpande7 in https://github.com/platform9/vjailbreak/pull/1599
* Implement subnet compatibility warnings for VM network mapping by @sarika-pf9 in https://github.com/platform9/vjailbreak/pull/1755
* Agents markdown file by @roopakparikh in https://github.com/platform9/vjailbreak/pull/1507
* Feat/support virtual portgroups by @sanya-pf9 in https://github.com/platform9/vjailbreak/pull/1730
* v2v checks for windows by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1775
* Add update patch list to secret for ui role by @spai-p9 in https://github.com/platform9/vjailbreak/pull/1777
* #1591 : Migration details in the details modal becomes NA if we remove creds and create new creds, Its reconciling with old creds by @AbhijeetThakur in https://github.com/platform9/vjailbreak/pull/1753
* adding proper filtering for agent nodes by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1778
* Added devcon utility by @meghansh-pf9 in https://github.com/platform9/vjailbreak/pull/1790
**Full Changelog**: https://github.com/platform9/vjailbreak/compare/v0.4.2...v0.4.3
## Release Notes & Known Issues
* Static IP and interface name preservation is not supported when the target network has DHCP disabled.
* For Windows VMs, static IP configurations are automatically converted to DHCP. However, the original source IP is retained on the destination VM to maintain network connectivity.
* The VMware Tools removal script may leave behind some residual artifacts. Refer to the [documentation](https://platform9.github.io/vjailbreak/guides/troubleshooting/vmware_residual_artifacts/#_top) for more details.
* Agent scaling is not supported for vJailbreak VMs operating on L2 networks.