Configure Abiquo UI

This page describes how to configure the Abiquo user interface with UI configuration properties. 

Changes to UI configuration

See Changes to UI configuration

Create custom UI configuration

To create custom UI configuration:

  1. Go to the UI configuration file location which is as follows

    /var/www/html/ui/config

    and find the default configuration file.

    client-config-default.json

     WARNING: Do not change client-config-default.json because the platform will overwrite your changes when you upgrade

  2. To customize UI configuration properties, create a new custom file in the same folder called:

    client-config-custom.json



  3. Copy any default properties you want to change to this file and enter the new configuration values. See below for the full the list of UI configuration properties and the sample configuration file.
     Warning:

    • Do NOT copy the whole default file to the custom file

    • Only add necessary customizations to avoid inadvertently overriding future default values

    • For each customization add a top level element with a complete set of values because your new configuration will override elements at all levels, for example, if the element is a list, add a full list of values

    If your client endpoint is different to the API endpoint, set the config.endpoint. See #Configure API Endpoint. 

    For example, set the config.languages to keep the English language and add the Spanish language to your user interface. Abiquo will load the Spanish language file.



  4. Check your JSON format using a JSON validator, for example, http://jsonformatter.curiousconcept.com/#jsonformatter and remember:

    1. Check there are no commas after the last entry in the file, and that there are no missing commas between entries

       WARNING: The UI will not load with an invalid configuration

  5. Save your file in UTF-8 format

  6. To activate your changes, reload the UI. 

  7. The platform will automatically load the new configuration but users should delete the cache and reload the UI in their browsers.

UI configuration properties

The default values are set in the client-config-default.json file. You can override the default values in the client-config-custom.json file.  



Property

Description

Example

Property

Description

Example

config.languages

Language definitions for each language file with a set of translated labels. Consists of:

  • language code for filename

  • language name for the login menu 

  • default setting

  • optional: locale code ID in decimal

  • optional: flag for locale

See  Abiquo UI client language configuration

{"value":"en_US","name":"English","isDefault":true,"flagIconUrl": "theme/abicloudDefault/img/country_flags/united-states-of-america.svg"}


{"value":"es_ES","name":"Spanish","lcid": "1034","flagIconUrl": "theme/abicloudDefault/img/country_flags/spain.svg}"

{"value":"fr_FR","name":"French","lcid":"1036"}

config.keymaps

For ESXi hypervisors running VNC, you can configure a selection list of VM keyboards, and users can select a keymap from the pulldown list. See VM general information. Configure keymaps in VMware first and then enter the VMware keymap value and a name. See VMware Keyboard Map Documentation. The hypervisor's default keyboard map is the US101 keyboard map (US English). To configure a different default keyboard map, set the RemoteDisplay.vnc.keyMap property in the Abiquo configuration properties for Remote Services and then set the isDefault value to true for that keyboard. Warning: On ESXi for certain locales, when using remote access from a web client, some keystrokes do not translate. See https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2071245

{"value":"us", "name":"US English", "isDefault":true},
{"value":"uk", "name":"UK English"},
{"value":"es", "name":"Español"}

client.autoscaling.action.default

Default values for the automatic scaling action. See Configure default autoscaling actions



client.ostype.icon.{osType}

Full or relative URI of an icon to load for a template if it doesn't have an iconUrl. The osType of the template must exactly match the osType given here. If not, a generic icon will be used.

"client.ostype.icon.CENTOS": "theme/abicloudDefault/img/icon-ostype-centos.png",

client.ostype.icon.generics

List of the client.ostype.icon marked as generic for an osType (non-strict osType compare). Example: WINDOWS_MYCUSTOM_VERSION will be resolved as client.ostype.icon.WINDOWS

"CENTOS"

config.protocols

  • Predefined values for firewall protocols. 

    • When users edit a firewall rule, they can select from the "Common protocols" as a guide to the standard ports for these protocols. As this is a guide only, users can edit all of the values as required. 

    • The port values for ALL PROTOCOL selections are fixed and users cannot edit the ports after they select these guides. In this case the user can only edit the Protocol and the Sources. To clear the port values, the user can change to another option

To get an idea of how these protocols look in the UI, see Manage firewalls



config.loadbalancerprotocols

Predefined protocols and preset options for load balancers. Very similar to the Firewall protocols.

To get an idea of how these protocols look in the UI, see Manage load balancers



config.loadbalanceralgorithms





config.loadbalancerroutingrulesprotocols





config.loadbalancerhealthcheckprotocols





config.loadbalancerhealthcheck.default.interval

Default interval value when creating load balancer healthcheck (in second).

Can be empty (no default value).



config.loadbalancerhealthcheck.default.timeout

Default timeout value when creating load balancer healthcheck (in second). Can be empty.

Can be empty (no default value).



config.loadbalancerhealthcheck.default.attempts

Default attempts value when creating load balancer healthcheck (value between 0 and 10).

Can be empty (no default value).



config.loadbalanceraddressesreuse





config.loadbalanceraddressestype

Override load balancer addresses type by hypervisor/device.

Default value is an empty object (config.loadbalanceraddressestype: {})

To define values for an hypervisor/device, add a new property with the name of the hypervisor/device and set the list of accepted values.

Values accepted: ["PRIVATE","PUBLIC","PRIVATE_AND_PUBLIC","NATIP","PRIVATE_AND_NATIP"]

When private IPs are not allowed, do not display the private subnets section

"config.loadbalanceraddressestype" : {
"nsx-nat":["NATIP"]
}

config.loadbalancer.targetgrouphealthcheckprotocols

For AWS application load balancers, the default list of common health check protocols for target groups.



config.loadbalancersubnetstype

Override load balancer subnets type by hypervisor/device.

Default value is an empty object (config.loadbalancersubnetstype: {})

To define values for an hypervisor/device, add a new property with the name of the hypervisor/device and set the list of accepted values.

Values accepted: ["PRIVATE","EXTERNAL"]

"config.loadbalancersubnetstype" : {
"nsx-nat":["PRIVATE"]
}

config.monitoringstatistics

Monitoring statistics can restrict the available metrics



config.monitoringperiods





egg.speak

Speak error messages with Egg Speak. By default, this experimental feature is not enabled



config.endpoint

  • URL of the API where the client can connect to the API

  • Abiquo users require direct access to the Abiquo API because the UI client interacts with the API directly. 

  • You would usually install the Abiquo UI together with the Abiquo Server, but you can install it separately. 

  • As part of the post-install configuration process, Abiquo asks you for the API endpoint and sets it. However, you can change this value to point to a load balancer, etc.



api.version

  • Mandatory version of the API to specify version for mediatypes in API requests

  • As part of the post-install configuration process, Abiquo sets this version and updates it during upgrades



client.id

  • Custom integration parameter



client.backto.url

  • If there is no value set for the Redirect to this URL after logout (empty -> login screen) system property in Configuration view, when the user logs out, Abiquo will check for this URL and redirect to it. If it is not supplied, Abiquo will redirect to the login screen

  • This URL is also used when a redirect is necessary before the user has fully logged in. At this time, the application cannot access the logout redirect URL system property because it does not have access to the database yet



client.modalblocker.timeout.milliseconds

  • Control the timeout for browser popup blocker



client.themes

See Abiquo branding guide and Abiquo branding admin guide



client.window.title

Browser tab title for Abiquo window



client.google.analytics.id





client.google.analytics.url





rdpaccess.usesslproxy

If false, allow insecure HTTP connections to Hyper-V VMs (not recommended).



client.captcha.publickey

Captcha public key. When users can reset their passwords in Abiquo, you can use ReCaptcha. To enable ReCaptcha for Abiquo, request keys from this link: https://www.google.com/recaptcha/admin#createsite.

Set the private key value for abiquo.captcha.private.key in abiquo.properties. See Abiquo configuration properties#captcha. See also Configuration view#Password



client.external.js.loader.url
  • Load custom JavaScript or HTML

  • You may want to add customized Javascript or HTML content to the UI. You can select a file which will be loaded in all Abiquo UI pages and may help you integrate UI with 3rd-party products or enhance a particular aspect of Abiquo

  • The default HTML file (externaljsloadertemplate.html) is located in the root path of the UI

  • You can add content to this file or you can specify the URL of a custom file



client.google.maps.enabled

  • If your environment is not connected to the Internet, disable Google maps



client.google.maps.key



client.password.recovery

If the system property to Allow password reset is false (see Configuration view#Password), set this option to false to hide the Forgot your password link.



client.offline

  • Use the Abiquo UI in offline mode, which will prevent Abiquo from loading external libraries, set this option to true.



config.enterprise.properties



config.enterprise.onlyuseproviders

If true, group regions by provider and group vCloud Director regions by endpoint when editing tenants to allow access to provider regions and when creating, editing, and displaying scopes, and so on

true

client.backup.policies.poweredvmeditable

If true, allow user to edit backup policies in VMs that are powered on



client.backup.policies.multipleselectionallowed

If true, allow user to select multiple policies for a VM



client.backup.restore.allowreplicabackuprestore

If true, display Restore link for backups with replication, allowing the user to restore these backups



client.openid.skip.login.view

Deprecated in Abiquo 4.7.1 for UI 5. Use client.skip.login.view.
By default, when in OpenID mode, Abiquo shows an initial screen with a link to the Authentication portal. If this property is set to true, then Abiquo will not display the initial screen and will redirect users directly to the Authentication portal.



client.skip.login.view

Set to true to go directly to the SAML or OpenID Connect login or false to go to the Abiquo user interface when using the SAML or OpenID Connect integration. See Abiquo OpenID Connect integration and SAML integration



client.header.link.usersmanagement

URL of external link to open from users management button in main menu. See Add external link in Abiquo header menu



client.footer.about.hide

Hide external About link in user icon menu



client.footer.support.hide

Hide external Support link in user icon menu

false

client.wiki.version

Deprecated. Wiki space to use for wiki links to Abiquo documentation, for example, "doc" for current version or "ABI40" after a new version is released

 

config.harddiskcustomcontrollertypes

List of controller types to display pull-down list when user adds a virtual disk to a VM. See Display custom list of controllers when adding virtual disk to VM.



config.harddiskcustomcontrollers

List of controllers to display pull-down list when user adds a virtual disk to a VM. See Display custom list of controllers when adding virtual disk to VM.  



client.classicfirewalls.enabled

Display classic firewalls tab in the UI

false

client.cookies.policy.url

URL of your privacy policy file. See Configure a cookie message and privacy policy

"https://www.abiquo.com/Privacy-Policy/ "

client.cookies.cookiespolicy.url

URL of your cookies policy file. See Configure a cookie message and privacy policy

""

client.header.externalurlicons

List of URL objects with role IDs and symbols. See Add role based external links to the main menu

"client.header.externalurlicons" : [
{
"url": "https://www.abiquo.com",
"icon":"fa fa-user",
"label":"Abiquo",
"labelCode":"",
"roleIds": [ 1,2,3]
},
{
"url": "https://www.google.com",
"icon":"fa fa-google",
"label":"Google",
"labelCode":"google",
"roleIds": [1]
}
]

client.dashboard.widgets.defaultvalues

Starting threshold for highest and lowest usage panels for CPU and RAM on the Optimization dashboard. See Optimization

"client.dashboard.widgets.defaultvalues": {
"maxCPU": 80,
"maxRAM": 80,
"minCPU": 30,
"minRAM": 30
}

client.dashboard.widgets.mindaysdeployed

Starting threshold for longest time deployed panel on the Optimization dashboard. See Optimization

90

client.dashboard.widgets.lastbills.lastmonths

On the Hybrid billing dashboard, the number of months to display bills for.

5

client.dashboard.widgets.lastbills.currenciesconversions

On the Hybrid billing dashboard, currency and conversion to another currency with a conversion rate. The inner currencyCode currency (within the inner set of brackets) is multiplied by the conversion value to give the amount in the outer currencyCode currency. The example shows a conversion from euros to US dollars. The value of month is set to default, but you can specify a value for each month of the year (from 1 (January) to 12 (December)). You must specify the year too. If a specific value is present for the current month and year, the platform will use it; otherwise, it will use the default.

The currencies will display on the dashboard in the order you use in this property, and the first currency will be the default on the dashboard.

For each currency, add a new currencyLabel in each lang_xx_XX_custom.json with the corresponding currencyCode

Ex: "dashboard.lastbills.label.currency.USD":"Dollar",

Otherwise the currency will display as "dashboard.lastbills.label.currency.currencyCode".

{
"currencyCode": "USD",
"symbol": "$",
"conversions": [
{
"currencyCode": "EUR",
"values":[
{
"month": "default",
"value": 1.1
},

{

"month": 12,
"year": 2019,
"value": 1.3

}]
}]
}

client.dashboard.widgets.lastbills.additionalproviders

Additional providers to display on the Billing dashboard, as a comma separated list. If you use a hypervisor type, the platform will display its friendly name. E.g. to display  "vCloud Director" add "VCD". For private cloud, add the prefix "ABIQUO-". For more details of hypervisor types, see https://wiki.abiquo.com/api/latest/HypervisorTypesResource.html

["VCD", "ONPREMISE"]

client.dashboard.widgets.lastbills.excludedproviders

Providers to exclude from the Billing dashboard, as a comma separated list. If you use a hypervisor type from private cloud, add the "ABIQUO-" prefix. For example, "ABIQUO-VCENTER_CLUSTER". For details of hypervisor types, see https://wiki.abiquo.com/api/latest/HypervisorTypesResource.html

["ABIQUO-VCENTER_CLUSTER", "azurecompute-arm"]

client.dashboard.widgets.availableitems

The list of widgets to display in the dashboard widgets catalog. To turn off display of one or more widgets, copy the full list to client-config-custom.json and for the selected widgets, set the "available" values to false.

"client.dashboard.widgets.availableitems": [
  {
    "name":"enterpriseresources",
    "available": false   
  },

...

]

client.asynctask.missingvars.schema

JSON schema to define the required variables for creating a virtual datacenter with NSX-ECMP or NSX-T. See Create more than one VDC in NSX ECMP and Configure the Abiquo NSX-T integration



client.budget.currencies

Currencies to use for budgets. If an enterprise in a hierarchy uses another currency and it has an enterprise property for a conversion_factor, use this property to perform the conversion.

{"label": "€", "value": "EUR"}

client.login.modules

Abiquo login modules to use with options for Basic Auth (default), Open ID, and SAML. See client-config-default.json for configuration examples. SAML and Open ID have cookies to store the user's login module in order to load it when the user opens the UI.



client.login.errors

When a user tries to log in (basic auth, ldap, etc…), the server returns an error that cannot be customized as regular UI text. Add these errors (code and message) to login errors list, and then customize the messages in the UI language files with the label server.error. and the code. For more details, see https://abiquo.atlassian.net/wiki/spaces/doc/pages/449609757

[
{
"message": "Too many failed attempts to login",
"code": "401-TooManyAttempts"
},

client.2fa.activated

If false, do not display the option in the username menu to allow customers to activate 2fa, even if it is available on the platform

true

client.vm.datastoretiers.useonlyrecommended


If set to true, if VM is not deployed, then display recommended DS tiers only, and if the VM is deployed, display all compatible tiers.

false

client.publiccredentials.accountsinfo

Use to display additional information for each public provider credential. You can add new ones using the following format

Name the new entry with hypervisor type name (see https://wiki.abiquo.com/api/latest/HypervisorTypesResource.html

  • portalLink: the hypervisor's official portal

  • separator: if the accountId is a concatenation of several values, split those values with the separator.

    • e.g. in Azure: subscription-id#app-id#tenant-id

  • accountInfo: use this label in each lang_xX.json file to display the account ID property

    • e.g.: "enterprise.popup.credentials.label.subscriptionid":"subscription ID"

    • e.g.: "enterprise.popup.credentials.label.appid":"app ID"

    • e.g.: "enterprise.popup.credentials.label.tenantid":"tenant ID"

"client.publiccredentials.accountsinfo": {
"AMAZON": {
"portalLink": "https://aws.amazon.com/",
"accountInfo": ["accountnumber"]
},
"azurecompute-arm": {
"portalLink": "https://azure.microsoft.com/en-us/features/azure-portal/",
"separator":"#",
"accountInfo": ["subscriptionid", "appid", "tenantid"]
},
"VCD": {
"portalLink": "https://vcloud.example.com/",
"accountInfo": ["organizationname"]
}
}

client.tmp.button.createvm.enabled

Previous property for Create VM shortcut.  Replaced by client.creatvmpopup.button.enabled which is true by default



client.createvmpopup.button.enabled

If true, display the shortcut button to create a VM from anywhere. Changes to this property will display for users the next time they log in. See Create and deploy a VM from anywhere. By default, this property is true

false

client.monitoring.button.alwaysdisplayed

If true, display the monitoring button on virtual appliance cards. See Display metrics for a virtual appliance. By default, this property is true.

false

client.control.billing.costusagereports.availablefilters

See the default configuration file for examples.

 

client.control.billing.costusagereports.defaultlastxmonth

Configure how many months to display by default in the user interface. The default value is 1

 

client.control.billing.costusagereports.referenceyear

The default value is 2019

 



Default UI configuration

See Default UI configuration



More configuration pages

Other pages in this section describe more UI configuration.

Copyright © 2006-2024, Abiquo Holdings SL. All rights reserved