32 Commits

Author SHA1 Message Date
Abhishek Kumar
4884f52c90
ui: allow provisioning backups during instance deploy (#11612)
* ui: allow assigning backup offring during instance deploy

Add backup offering selection to Deploy VM wizard and assign selected backup offering to the VM after successful deployment. This enables users to choose a backup offering during VM creation, and the VM is automatically associated with the selected offering post-deployment.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* changes for schedules

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* Update ui/public/locales/pt_BR.json

* Update ui/src/views/compute/wizard/DeployInstanceBackupSelection.vue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* address review

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

* allow only one schdeule per interval type

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* show message same internaltype schedule

* show backup step only when zone has offering

---------

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-23 14:51:42 +05:30
Harikrishna
cca8b2fef9
Extensions Framework & Orchestrate Anything (#9752)
The Extensions Framework in Apache CloudStack is designed to provide a flexible and standardised mechanism for integrating external systems and custom workflows into CloudStack’s orchestration process. By defining structured hook points during key operations—such as virtual machine deployment, resource preparation, and lifecycle events—the framework allows administrators and developers to extend CloudStack’s behaviour without modifying its core codebase.
2025-07-28 10:41:17 +05:30
Vishesh
f52e05863e
UI fix api in project view (#11191)
* Add project id for post requests as well in the params

* Replace leftover api calls to getAPI calls

* ui: don't remove values from request if the value is null or empty string

* Address comments

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

* fixup

* Return null if guiTheme requests fails

---------

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-15 18:19:46 +05:30
Bryan Lima
fb6adacc51
GUI whitelabel runtime system (#8942)
* Add first version

* Add guithemedetails join

* Update since and remove extra line

* Limit information on API response for non admin users

* Add base files for preset themes

* Add miising license

* Revert cookie check

* Fix imports

* Fix pre-commit

* Address log4j2 string to format review and add license to css files

* Fix infinite loading

* Move event details to service implementation

* Move view to a specific view file

* Refactoring gui theme classes

* Normalize package name

* Address Henrique review

* Fix create table SQL

* Add interface for Dao classes

* Remove extra tabs

* Address unauthorized call when 2FA is enabled

* Remove trailing whitespaces

* Apply suggestions from code review

Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>

---------

Co-authored-by: Henrique Sato <henriquesato2003@gmail.com>
Co-authored-by: Bernardo De Marco Gonçalves <bernardomg2004@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2025-07-15 13:29:09 +05:30
Manoj Kumar
8e4fe1c370
Allow configuring Announcement banner by admin (#10951)
* Allow configuring Announcement banner by admin

* add license

* revert un-necessary changes from package-lock.json

* banner should use 100% width and push down content down

* fix grey area issue

* show error page if config.json is not valid
2025-07-07 13:56:58 +05:30
Abhishek Kumar
bce17b627d
ui,api,server: template categorization based on os (#10773)
Adds new interface for image selection (template/iso) for an instance in UI.
Old interface can still be used and it can be configured using UI configuration (config.json)

OS categories/Guest OS categories have been improved with ability to create new categories, delete an existing category, and marking a category as featured to allow it to show up in the UI in the image selection interface.

New APIs added:
- addOsCategory
- deleteOsCategory
- updateOsCategory

APIs updated:
- updateOsType
- listTemplates
- listOsCategories

Several improvements in UI especially related to forms - DeloyVM, ReinstallVM, CreateVnfAppliance, AddAutoscaleGroup.

DeployVM form can now be opened from template/ISO details view with query params.

Reorganized (removed and added some) OS categories to the following (in the same order):
```
1. Ubuntu
2. Debian
3. Fedora
4. CentOS
5. Rocky Linux
6. Alma Linux
7. Oracle
8. RedHat
9. SUSE
10. Windows
11. Other
```

Documentation PR: https://github.com/apache/cloudstack-documentation/pull/500

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2025-06-10 15:25:51 +05:30
Abhishek Kumar
12c077d704
api,ui: multi arch improvements (#10289) 2025-04-25 11:02:27 +02:00
Pearl Dsilva
992c4b3d4a Merge branch '4.19' of https://github.com/apache/cloudstack into 4.20 2025-04-24 09:16:33 +05:30
Abhishek Kumar
431e4f9e1d
ui: confirm on reset configurations (#10745) 2025-04-23 12:29:08 +02:00
Rohit Yadav
80b5d5c029
ui: do not cache config.json and locale files (#10497)
This will add a randomised timestamp when fetching config.json and
locale i18n files, to avoid using cached resources.

Fixes #9985

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2025-03-05 07:09:13 +05:30
Abhishek Kumar
bca60761c5
ui: use ssh keypair uuid for listing (#6616)
Addresses #6569

Use uuid to list SSH keypair wherever uuid is available.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2022-08-09 13:29:49 +05:30
Hoang Nguyen
d258da5524
UI: Upgrade to Vue3 library (#5151)
* add new vue 3 library & and 2.x (beta)

* edit config files, settings, utils, store,... corresponding to Vue 3

* edit layout and config to suit the new library

* fix header & side menu

* components, autogenview

* fix dashboard & compute

* compute: fix form errors

* storage: fix form & template by vue3

* networks: fix form & template by vue3

* image: fix form & template by vue3

* project: fix by vue3 library

* user: fix by vue3

* iam: fix by vue3

* fix zoneWizard & tooltip click event

* fix infra > physicalnetwork & visible modal

* fix infra by vue3 & antdv 2x

* fix offerings by vue3

* fix plugin by vue3

* fix form & action form

* update the ant-design latest version

* fix icon, style dark mode, menu

* fix unittest

* fix babel plugins not found

* add name,ref missing & callback i18n not found

* fix slot & info icon

* fix unit test

* fix tooltip label of form item

* fix lint errors

* using global app, globalProperties

* add focus directive & edit the position of ctrl+Enter

* upgrage Vue 3 version

* fix main UT

* fix build failed

* using `optionFilterProp="label"' & fix build fail

* fix UT with new code

* fix icons of undefined

* fix error run app

* fix selectbox options

* add vue version for clear storage

* fix template

* fix template of iprange form

* fix warning test UT

* fix conflit

* fix build failed

* fix error run app the first time after upgrade

* fix auto-complete & watch object/array

* fix error run application

* fix error build

* fix form, icon, template & locales

* fix conflit & form

* remove slot errors

* fix error build & test UT

* fix error template

* Add licenses for missing files

* add scroll to first errors

* add scroll to first errors

* fix select filter, tag event

* add shallowRef async component are missing

* fix css, upgrade vue-cropper version

* fix css

* fix vue 3 coding for new components

* Remove unused components

* fixes `this` not found in @/roles

* fix redirect after login again when session expired error

* fix openKeys menu & watch router

* fixes

* fix build failed

* fixes

* fixes ut

* fixes

* fixes eslint

* fixes

* fixes

* fixes css

* fix menu sidebar css

* fix some css icon, images

* fix build fail

* fixes

* fixes

* fixes

* fixes

* fix publicip resource

* fixes ut

* fixes

* fixes

* fixes layout mode

* fixes dropdown filter columns

* fixes dashboard & hidden setting for normal user

* fixes

* fixes layout

* fixes avatar

* fixes

* Add missing else

* Fix query in routable paths

Co-authored-by: davidjumani <dj.davidjumani1994@gmail.com>
2022-03-09 09:47:09 -03:00
Abhishek Kumar
2df82d8188
ui: changes in migrate vm storage and migrate volume form (#5145)
Better forms in UI for migrating VMs and volumes.

- Show option to migrate with storage while live migrating a VM
- For VM storage migration (stopped VM), allow migrating volumes to specific primary storages
- Show primary storage details in migrate volume form

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-11-30 17:07:48 +05:30
Pearl Dsilva
3f827ef22b
UI: Support to upload resource icons (#5157)
* Resource Icon support - backend

* Add API support for resourceicon

* update reponse params + ui support

* Add exclusive list api for icons and UI changes

* refactor upload view

* UI changes to support resource icon wherever necessary

* convert api to POST + refactor icon view

* Add response name to list API + cosmetic changes in UI

* Added support for the following:
resource icon support for vpcs, networks, domains, and projects
add icons to list view if reosurces support icons to be added
support for showing project icons in the project switching drop-down menu

* List resourceicon cmds to be allowed for user role too
Users to inherit account icon if present (in listUsers response)
Move common code to plugin.js
Add icon to project list view - while switching between projects - Dashboard page
Show icons against zones - Capacity Dashboard view
Show user / account icon at the login button if present

* cosmetic changes

* optimize ui code

* fix reload issue for domain view

* add access check for delete operation

* ui-related changes to show iso icons

* iso image in uservm response

* add icons to custom form's list resources

* some more custom forms aligned to show icon for resources

* conmitic changes + add listing of icons to listdomainchildren cmd

* Add backend/server-side validation for base64 string passed for image

* change preview border

* preselect zone if there's only one

* add default icon

* show icon for network list in deploy vm view

* add custom icons if any to the import-export VM view

* preselect zone persistence on clearing cache

* prevent root vol from inheriting template/iso icon

* show tempalte icon in the info card details

* fix icon not being show on hard-refresh / initial traversal

* fx success message
2021-09-15 00:50:42 -03:00
nicolas
75b335e939 Merge branch '4.15' into main 2021-08-11 08:24:03 -03:00
Hoang Nguyen
1182051961
UI: Add multiple management server support (#4885)
* add multiple management server support

* display the server on the user menu

* remove primary color in server icon

* using `/client` from apiBase

* add a setting that allows users to customize whether to use multiple servers or not

* set default hidden the multiple server config
2021-08-11 08:22:38 -03:00
Hoang Nguyen
8efc3ea0f5
UI: Submit the form when press CTRL + ENTER (#4766)
* fixes: submit the form when press enter

* add Enter submit for component missing

* add ctrl+enter event key for submitting form

* add directive.js check keyup event

* fix build test failure

* using directive in main.js

* fix warning show in the test unit

* fix multiple submits

* fix travis run test failures

* fix filter button style

* fix the problem of ctrl+enter keyup on firefox browser

* removed computed function not using

* remove space errror

* add ref for ctrl+enter submit

* resolve conflit and fix build

* add missing directive

* add missing directive & ref button

* fixes errors

* fixes errors

* add preventDefault()

* fix ctrl keypress not support on firefox
2021-07-26 08:29:19 -03:00
Abhishek Kumar
0406e27af3
ui: refactor get api params in forms (#5064)
* ui: refactor get api params in forms

Refactor code getting api params for APIs in UI forms.
Added a new util plugin in plugins.js

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>

* fix

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-07-15 12:46:54 +05:30
Abhishek Kumar
251368361e
ui: allow docHelp override using config.json (#4745)
config.json can have a property named 'docHelpMappings' which can be used to override docHelp suffixes.
In config.json admin can add mappings as follows:

"docHelpMappings": {
  "virtual_machine.html": "some.html",
  "some_string": "override_string"
}

UI will use these mappings and will make appropriate replacements in the documentation links for different sections and forms.

Addresses #4731

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
2021-04-01 13:10:00 +05:30
Hoang Nguyen
64d95fb6e3 npm: Build and packaging improvements (#568)
* remove unused plugins and minimizer js

* update dependencies

* fix build, update dependencies

* using lazy_use components

* add additional components

* optimization: lazy loading i18n locales

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
davidjumani
0e071c2e9c Displaying time as per user timezone (#899)
* Displaying time as per user timezone

* Refactor

* Fixing annotation created time

* Adding comments

* Fix typo

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:23 +05:30
Hoang Nguyen
50327ae339 primate: Add support for UI customisation (#372)
- New config.json global config file
- Customisation: API endpoint, app name, doc link, logo, error and banner images, theme
- Basic external plugin support to allow users to write UI plugins in any framework, build and import/plug a html file as integration

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:19 +05:30
Abhishek Kumar
5ab5adc918 utils: introduce global API error notification (#296)
Fixes #294

Introduce a new global `this.$notifyError(error)` that takes in the `error` in a catch block and displays error notification with duration: 0, refactored to replace error handling codebase-wide.

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:18 +05:30
Ritchie Vincent
200f89bc08 storage: Volume storage migration action (#72)
Adds a custom volume storage migration form

This fixes #70

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:15 +05:30
Rohit Yadav
db7265a1f7 src: add apache v2.0 license header to files
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:14 +05:30
Rohit Yadav
2ed0b2dcae only import used fa icons
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:13 +05:30
Rohit Yadav
c98de8d7a9 cleanup code, refactor locales and bootstrapping
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:13 +05:30
Rohit Yadav
1d42d4abda cleanup api, core and main files
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:13 +05:30
Rohit Yadav
83a4f292d1 Remove unused vue cookies dependency
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:13 +05:30
Anurag Awasthi
8ec1f6c59d Add translation support (#30)
Add Translations from old files and scripts to generate it.
Update columns generated to be formatted.

Show modal instead of drawer for forms

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:12 +05:30
Rohit Yadav
fd30a881de fix icons, and add support for fontawesome svg icons
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:12 +05:30
Rohit Yadav
b72fd5b509 primate: initial UI v0.1
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:11 +05:30