Rename title and other mentions of Sysprep to prevent misunderstandings regarding functionality. For the average Windows administrator who simply wants to automate the installation of a Windows ISO, it isn't immediately intuitive when the term “Sysprep” is used on its own.
Related to: https://github.com/harvester/harvester/issues/1836
Related to: https://github.com/harvester/harvester-ui-extension/pull/954
(cherry picked from commit 8fba4e7050b4706ba1920ef0492b2274b8488168)
Signed-off-by: Volker Theile <vtheile@suse.com>
Co-authored-by: Volker Theile <vtheile@suse.com>
(cherry picked from commit be6e9b5f0678fd3a42ff7e648bf1768bb3377617)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit a88bed9eb49632dc4ccb132d9f53b162197c557c)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* deps: update rancher/shell to 3.0.12-rc.7
* fix: move filter labels/schedule buttons position
* feat: improve serial console
* feat(serial-console): add terminal search toolbar and highlight tuning
* refactor: clear searach result after close
* refactor: fine tune serial console
---------
(cherry picked from commit f97f14c811e455408ab76d87d259219e040f3396)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* fix: project resource quota not set in POST API payload
* fix: guard onQuotasInput against undefined payload
---------
(cherry picked from commit f8a29a1c5444f2527ee41164e26a46bd73605881)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
Show a Shareable checkbox when attaching an existing volume whose
PVC is RWX Block and not provisioned by Longhorn. Checking it sets
disk.shareable and shows a data-corruption warning banner.
Related issue: harvester/harvester#9650
(cherry picked from commit 9a935434c20408baeedb2686732046e24c944097)
Signed-off-by: Vicente Cheng <vicente.cheng@suse.com>
Co-authored-by: freeze <1615081+Vicente-Cheng@users.noreply.github.com>
* fix: VM migration tab not appear when first login
* feat: add access/ volume mode model
* feat: add selected all | clear all actions for selected VM
* fix: bugs in VM selection table
* refactor: copilot review
---------
(cherry picked from commit afe632b723bf6efc6dfdaec983413e25fa481a6c)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
Make syncStaticIpAnnotations idempotent so it no longer mutates VM
annotations when already in sync, breaking a reactive update loop that
froze the browser on the VM detail page. Also stack multiple IP
addresses vertically in the IP Address column.
(cherry picked from commit b87f367583cab06c5c1be418b3db9a0eafe6952c)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit 92aa8ec6035e9193074dc2947b868e8a26e97312)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
Allow users to author and persist Cloud Config (cloud-init) on Windows VMs. Today the Cloud Config editor is hidden entirely when OS Type is set to Windows, and even if user-data/network-data has been supplied elsewhere the cloudinitdisk volume and its Secret are silently dropped from the VM spec. This is more restrictive than what Windows guests actually support: Cloudbase-Init reads cloudinit-style NoCloud datasources on Windows and is a common way to bootstrap Windows guests (install VMDP + qemu-guest-agent, enable OpenSSH server, drop authorized_keys, run first-boot runcmd scripts, join a domain, etc.).
Windows guests today have to hand-edit the VM YAML after the UI creates the VM — a workflow that is fragile, undiscoverable, and defeats the point of a UI. See the linked upstream issue for the same request from the operator side.
Backport of https://github.com/harvester/harvester-ui-extension/issues/984
(cherry picked from commit e0135343734c6adb2ffd9cf5be7bbd0368904e01)
Signed-off-by: Alejandro Bonilla <abonilla@suse.com>
Signed-off-by: Volker Theile <vtheile@suse.com>
Co-authored-by: Alejandro Bonilla <abonilla@suse.com>
Co-authored-by: Volker Theile <vtheile@suse.com>
* ci: trigger standalone build when PR labeled with build-artifact (#1058)
* ci: trigger standalone build when PR labeled with build-artifact
Signed-off-by: Andy Lee <andy.lee@suse.com>
* ci: skip upload gate for PR-triggered standalone builds
Signed-off-by: Andy Lee <andy.lee@suse.com>
---------
Signed-off-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit ac26fe2f0e012c6100e27853fa8650f2467cfa79)
* fix: CI_BRANCH
Signed-off-by: Andy Lee <andy.lee@suse.com>
---------
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* feat: add VMware VDDK image option to VM migration provider
Add an optional VMware VDDK Image field to the Configure Provider step of the VM migration wizard, bound to spec.settings.vddkInitImage when set and left unset when empty. Supports create and edit flows and populates from the existing provider when editing.
* refactor: copilot review
---------
(cherry picked from commit a6bd7ec00e7c8d85f4f097c0dbc61eb9bf5fac56)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
Show an error banner and disable the Create and Start action when the migration plan name matches an existing provider or migration plan name.
(cherry picked from commit 790cade04d1d99d5bfd1b78f8c7b81b8d5703162)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* refactor: new design for review page
* refactor: customize empty table rows message
* refactor: fixed the table column
* style: update header tag and align fixed header actions in review migration step
* style: remove unneeded overflow css
---------
(cherry picked from commit 2903e86c0263e85476f1c0fa1db5670d9c0ae520)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* refactor: modify relatedResources using ownerReferences uid
* refactor: wordings
* fix(vm-migration): keep completed VMs green and linkable in failed plans
When a plan fails overall, VMs that already reached 100% were marked with an error: their progress bar turned red while the label still read "Finished Successfully", and the migrated-VM detail link was hidden.
Skip the plan-level failure fallback for VMs at 100% and drop the !planFailed guard from the detail-link condition so successfully migrated VMs stay green and stay navigable.
---------
(cherry picked from commit 2d747e435aebd0958f355535a13f4aeb7d0991ba)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit d376bfb3a5051ffc31526677b07790dd81625e1a)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
formatDuration returned an empty value when a migration was in progress (started set but completed missing), causing the duration column to show an em-dash for all running plans. It now computes elapsed time up to Date.now() when completed is absent, only returning the placeholder when started is unset or timestamps are invalid.
Related issue: harvester/harvester#10417
(cherry picked from commit 7a84e08f99355e125bb73593f12ca68d9768c6dd)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* ci: disable header-max-length commit rule
* docs(agents): clarify agent guide and share it across AI assistants
- Symlink CLAUDE.md and GEMINI.md to AGENTS.md so Claude Code, Copilot
and Gemini read the same guidance
- Use the full conventional-commit format with scope in the guide
- Clarify Vue SFC block order and the feature-flag development steps
- Bump the documented Node.js requirement to v24
---------
(cherry picked from commit 3d39626b9317bfeb500bb2c315ca00ea6404e270)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* refactor(host): update resource usage gauges and table column headers
- Replace ConsumptionGauge with PercentageBar in CPU/Memory/Storage
formatters to show the percentage next to the progress bar
- Rename the Disk State column header to Disk (via i18n)
- Display the CPU Manager column header on two lines
* refactor: add noopener noreferrer rel
---------
(cherry picked from commit 1c3b40b6316df61239ed1875db67e8a8aeb68168)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
Strip the scope in parentheses so titles like 'refactor(host): ...'
resolve to the 'refactor' type instead of falling back to 'other'.
(cherry picked from commit 87baf753016132c4fcf8e1166fa9c085de78a206)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* feat: improve VM migration dashboard mapping labels and VM detail link
- Display Management Network / Ignored labels via i18n in mappings column and review card
- Add clickable external-link icon to migrated VM detail page after successful migration
- Add tooltip to the VM detail external-link icon
* refactor: modify duration column width
* refactor: copilot review comment
---------
(cherry picked from commit a10d6518271e999697340165c839df9e24fd75a8)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit f6dffe9816b79a8b1f8de84c2abefb751d3acf4e)
Signed-off-by: Jack Yu <jack.yu@suse.com>
Co-authored-by: Jack Yu <jack.yu@suse.com>
(cherry picked from commit b813bc578e09f60a0cebb3e8e9dc824e03f78960)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit 7c3b2730abb473a99375a972b85e9930b71cc330)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* fix: regenerate stale cloud-init secret name after VM name change
When creating a VM, the cloud-init/sysprep secret name was generated
once and cached for the component's lifetime (needNewSecret is always
false during create). If a first create attempt was rejected by the
API (e.g. duplicate name) and the user corrected the name and retried,
the VM was created successfully but reused the secret name derived
from the rejected attempt, and any subsequent secret-creation failure
surfaced as a stale error after the VM already existed.
Now the secret name (and Windows sysprep secret name) is regenerated
whenever the VM name prefix used to generate it no longer matches the
current name, and is proactively reset on a failed create attempt so
retries always start fresh.
Fixesharvester/harvester#11174
* refactor: copilot review
* refactor: remove console
---------
(cherry picked from commit 429d9e18ad80d9371f1a8219d26e8986aee89f07)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* ci: modify PR template
* refactor: review comment
---------
(cherry picked from commit dc166d8fc9c0d9aecafaf5d9afe04e684eb4d6dc)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* feat: allow user specify namespace for migrated VM
* refactor: not pre-select target namespace
* refactor: ignore option
* refactor: copilot review
---------
(cherry picked from commit 3ff45342944073ca10ae09c4a20de2cc18d656ac)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* feat: keep upgrade button appear
* refactor: copilot review
---------
(cherry picked from commit d4223ad2aee9fa0981a938779d94fd74c02d5e22)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* feat: add migration plan duration time column
* feat: allow duration column to be sorted
---------
(cherry picked from commit 44297ada167a5a690aa35c551ac113dc3456f2b2)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit 9640c87947a662283d48d61a59f1d02f722436fd)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* refactor: add customized migration plan delete model
* refactor: copilot review
* refactor: copilot review
---------
(cherry picked from commit fb6ffa3c0f7553a6e94b99d5af673780840ec1d0)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* feat: add progress bar tooltip
* refactor: copilot review
---------
(cherry picked from commit e0436bff280eb9c5cccc319be19971172d1fa526)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
* fix: hide Virtul machine migration tabs if forklift addon is not enabled
* fix: rename advanced to configurations
* fix: fixed column width
* refactor: review comment
* revert: power on background color
---------
(cherry picked from commit 41cf44d23131ce30762fd29fe38d833d22238398)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>
(cherry picked from commit 7d09cb714225f9b721c49005cb72533c5fa5d079)
Signed-off-by: Jack Yu <jack.yu@suse.com>
Co-authored-by: Jack Yu <jack.yu@suse.com>
* feat: forklift poc first commit
* feat: add migration and plan detail pages with progress tracking
* feat(forklift): UI based on the FIGMA
* feat(forklift): Fixed config based on new figma changes
* feat(forklift): New changes added based on new figma
* feat(forklift): Add the succeded state
* Merge the new APIs
* feat(forklift): Applied fix to select the proper data on network. Added condition to show critical
* feat(forklift): Added icons, critical state, fix grids, action button
* feat(forklift): Change to use the proper provider instead of a hardcoded
* feat(forklift): Added pagination UI
* feat(forklift): FIxed the routing for the extension
* feat(forklift): route and router doesnt work properly on extensions
* feat(forklift): fixed to fix the icon on extension
* feat(forklift): Added overflow hidden to mapping target list
* feat(forklift): Added better handling on the saving and testing
* feat(forklift): Remove test flags
* feat(forklift): Changed based on review
* feat(forklift): fixed title and button
* feat(forklift): Design changes
* feat(forklift): Changed to Wizard
* feat(forklift): added the provider wizard
* feat(forklift): Fixed some UI changes
* feat(forklift): Removed wrong configs used for testing
* feat(forklift): update size
* feat(forklift): small fixes
* feat(forklift): small fixes after Copilot
* feat(forklift): small fixes after Copilot
* feat(forklift): reverted settings.json changes
* feat(forklift): small fixes after Copilot
* feat(forklift): Fix the way it is registered
* feat(forklift): Fixed the type for VMware
* feat(forklift): small changes before rebase
* feat: Added new API for the vms
* feat: Fix some labels
* feat: Added some final fixes to structure
* feat: added loading to provider steps
* feat: added comments from copilot review
---------
(cherry picked from commit 560643d299216e679942d05803af9d1ce0f74f6a)
Signed-off-by: Marcelo Fukumoto <marcelo.fukumoto@suse.com>
Co-authored-by: marcelofukumoto <marceloyfukumoto@gmail.com>
(cherry picked from commit 3c37f04ef632d54e7bb1a1e6073a8dd0a7ab52e2)
Signed-off-by: Andy Lee <andy.lee@suse.com>
Co-authored-by: Andy Lee <andy.lee@suse.com>