Documentation

Skip to end of metadata
Go to start of metadata

UI properties in client-config-custom.json

Abiquo 3.8 - noVNC

In Abiquo 3.8, noVNC is the default remote access application, replacing TightVNC. See Configure Remote Access to Virtual Machines

The following new properties were added to client-config-default.json: 

  • "client.remoteaccess.novnc.host": "",
  • "client.remoteaccess.novnc.port": "41337"

Abiquo 3.8.3 - Offline mode

In Abiquo 3.8.3+ you can use the Abiquo UI in offline mode, which will prevent Abiquo from loading external libraries.

The following new property was added to client-config-default.json: 

  • "client.offline":false
Abiquo 3.8.5 - Enterprise properties 

In Abiquo 3.8.5+, you can predefine enterprise properties in the client-config-custom.json file. See Predefine and edit enterprise properties in the UI

Administrators can then edit an enterprise and set values for the properties.

Abiquo 3.8.6 - OpenID Connect

In Abiquo 3.8.6+, as part of the OpenID Connect integration, you can configure the following properties in the client-config-custom.json file. See Abiquo OpenID Connect Integration

  • "client.openid.enabled":true,
  • "client.openid.skip.login":true
Abiquo 3.8.6 - External link in Abiquo header menu
To configure the a new icon with an external link in the header menu, configure the following URL property and the language file label below.

Language file - Abiquo 3.8.4 - Backup information message

In Abiquo 3.8.4+ you can display an optional information message in a blue box on the Backup tab when users edit a virtual machine by adding the text to the lang_en_US_custom.json file. See Display optional information message on backup policies tab

  • "backupconfiguration.policy.disclaimer.label":"This is the backup policies optional information message text"

Language file - Abiquo 3.8.6 - External link in Abiquo header menu

You can customize the button text by adding a value for the following label to the lang_en_US_custom.json file

  • "mainmenu.button.usersmanagement":"the new label"

Change browser tab name for Abiquo

By default the Abiquo UI opens in a browser tab called "Abiquo Prod".

You can change the name of this tab in the custom language files. See Abiquo UI Client Language Configuration#CustomizeBrowserTabName

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. By default these files are located in the /var/www/html/ui/config folder.

When customizing client UI with values in the client-config-custom.json file, you must:

  • Only add neccessary customizations to avoid inadvertantly overriding future default values
  • For each customization add a top level element with a complete set of values because your new configuration will override all previous elements, for example, if the element is a list, add a full list of values

Property

_______________________

Description

_______________________

Example

config.languages

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

  • language code
  • language name for the login menu 
  • default setting

See  Abiquo UI Client Language Configuration

{"value":"en_US","name":"English","isDefault":true},
{"value":"es_ES","name":"Spanish"}

config.keymaps

See  Configure Remote Access to Virtual Machines#GUIConfiguration.

Note: In Abiquo 3.8, the default noVNC remote access application does not support keyboard customization

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

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

{"value":"Custom protocol", "protocol":"", "port":"-" },
{"value":"Own TCP rule", "protocol":"TCP", "port":"-" },
{"value":"Own UDP rule", "protocol": "UDP", "port":"-" },
{"value":"All Traffic", "protocol":"ALL", "port":"ALL" },
{"value":"All TCP", "protocol":"TCP", "port":"ALL" },
{"value":"All UDP", "protocol":"UDP", "port":"ALL" },
{"value":"All ICMP", "protocol":"ICMP", "port":"ALL" },
{"value":"SSH", "protocol":"TCP", "port":22 },
{"value":"SMTP", "protocol":"TCP", "port":25 },
{"value":"DNS", "protocol":"UDP", "port":53 },
{"value":"HTTP", "protocol":"TCP", "port":80 },
{"value":"POP3", "protocol":"TCP", "port":110 },
{"value":"IMAP", "protocol":"TCP", "port":143 },
{"value":"LDAP", "protocol":"TCP", "port":389 },
{"value":"HTTPS", "protocol":"TCP", "port":443 },
{"value":"SMTPS", "protocol":"TCP", "port":465 },
{"value":"IMAPS", "protocol":"TCP", "port":993 },
{"value":"POP3S", "protocol":"TCP", "port":995 },
{"value":"MS SQL", "protocol":"TCP", "port":1433 },
{"value":"MYSQL", "protocol":"TCP", "port":3306 },
{"value":"RDP", "protocol":"TCP", "port":3389 }

config.loadbalancerprotocols

Predfined 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

{"value":"Custom protocol", "protocol":"", "port":"-" },
{"value":"Own TCP rule", "protocol":"TCP", "port":"-" },
{"value":"Own UDP rule", "protocol": "UDP", "port":"-" },
{"value":"All Traffic", "protocol":"ALL", "port":"ALL" },
{"value":"All TCP", "protocol":"TCP", "port":"ALL" },
{"value":"All UDP", "protocol":"UDP", "port":"ALL" },
{"value":"All ICMP", "protocol":"ICMP", "port":"ALL" },
{"value":"SSH", "protocol":"TCP", "port":22 },
{"value":"SMTP", "protocol":"TCP", "port":25 },
{"value":"DNS", "protocol":"UDP", "port":53 },
{"value":"HTTP", "protocol":"TCP", "port":80 },
{"value":"POP3", "protocol":"TCP", "port":110 },
{"value":"IMAP", "protocol":"TCP", "port":143 },
{"value":"LDAP", "protocol":"TCP", "port":389 },
{"value":"HTTPS", "protocol":"TCP", "port":443 },
{"value":"SMTPS", "protocol":"TCP", "port":465 },
{"value":"IMAPS", "protocol":"TCP", "port":993 },
{"value":"POP3S", "protocol":"TCP", "port":995 },
{"value":"MS SQL", "protocol":"TCP", "port":1433 },
{"value":"MYSQL", "protocol":"TCP", "port":3306 },
{"value":"RDP", "protocol":"TCP", "port":3389 }

config.loadbalanceralgorithms ROUND_ROBIN","LEAST_CONNECTIONS","SOURCE_IP"
config.loadbalancerroutingrulesprotocols "TCP","HTTP","HTTPS"
config.loadbalancerhealthcheckprotocols "PING","TCP","HTTP","HTTPS"
config.loadbalanceraddressesreuse false

config.monitoringstatistics

Monitoring statistics can restrict the available metrics

{"value":"average", "name":"Average"},
{"value":"maximum", "name":"Maximum"},
{"value":"minimum", "name":"Minimum"},
{"value":"sum", "name":"Sum"},
{"value":"count", "name":"Count"},
{"value":"dev", "name":"Deviation"}

config.monitoringperiods 

{"value":"hours", "name":"Hours"},
{"value":"days", "name":"Days"}

egg.speak

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

config.endpoint

  • Mandatory 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.
https://myabiquoserver.bcn.abiquo.com/api

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
3.8

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
800

client.themes

See Abiquo Branding Guide and Abiquo Branding Admin GuideabicloudDefault
client.google.analytics.id  
client.google.analytics.url  
rdpaccess.usesslproxyIf false, allow insecure HTTP connections to Hyper-V VMs (not recommended).true
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
externaljsloadertemplate.html

client.google.maps.enabled

  • If your environment is not connected to the Internet, disable Google maps
true
client.google.maps.key 

client.offline

  • Run Abiquo in offline mode, without loading external libraries or features, for example, Google Maps
false

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.true

client.backup.blockmultiplerestore

  • If true, prevent users from requesting more than one restore of a virtual machine backup
    • The Restore button will only appear if there are no restore requests in progress (in addition to the current backup conditions)
    • If the property is absent or false, the Restore button will appear under the current backup conditions
false

client.remoteaccess.novnc.host

  • The IP address of the noVNC host. The default value is an empty string. If this value is not supplied, it takes the current window hostname. 
  • The port that noVNC should use to access the virtual machine. See Abiquo websockify proxy for noVNC in Abiquo 3.8+
 

client.remoteaccess.novnc.port

 41337
client.offline
  • Use the Abiquo UI in offline mode, which will prevent Abiquo from loading external libraries, set this option to true.
false
config.enterprise.properties 

client.openid.enabled

true

client.openid.skip.login

true
client.header.link.usersmanagementURL of external link to open from users management button in main menu 

 

Examples of Custom and Default UI configuration

Abiquo 3.8.0 client-config-custom.json

Add only your changes to the configuration. You should always check the config endpoint and if necessary set it. See #Configure API Endpoint. And 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.

{  
   "config.endpoint": "http://example.com/api",
   "config.languages":[  
      {  
         "value":"en_US",
         "name":"English",
         "isDefault":true
      }
      {  
         "value":"es_ES",
         "name":"Spanish",
         "isDefault":false
      } 
   ]
}

 

Abiquo 3.8.3 client-config-default.json

A sample file is included here. Note that Abiquo should replace the api.location and api.version during the install process - see below for further details. 

For example

 Click here to expand...
{
    "config.languages" : [
        {"value":"en_US", "name":"English", "isDefault":true}
    ],
    "config.keymaps" : [
        {"value":"us", "name":"US English", "isDefault":true},
        {"value":"uk", "name":"UK English"},
        {"value":"es", "name":"Español"}
    ],
    "config.protocols" : [
        {"value":"Custom protocol", "protocol":"", "port":"-" },
        {"value":"Own TCP rule", "protocol":"TCP", "port":"-" },
        {"value":"Own UDP rule", "protocol": "UDP", "port":"-" },
        {"value":"All Traffic", "protocol":"ALL", "port":"ALL" },
        {"value":"All TCP", "protocol":"TCP", "port":"ALL" },
        {"value":"All UDP", "protocol":"UDP", "port":"ALL" },
        {"value":"All ICMP", "protocol":"ICMP", "port":"ALL" },
        {"value":"SSH", "protocol":"TCP", "port":22 },
        {"value":"SMTP", "protocol":"TCP",  "port":25 },
        {"value":"DNS", "protocol":"UDP", "port":53 },
        {"value":"HTTP", "protocol":"TCP",   "port":80 },
        {"value":"POP3", "protocol":"TCP",  "port":110 },
        {"value":"IMAP", "protocol":"TCP", "port":143 },
        {"value":"LDAP", "protocol":"TCP", "port":389 },
        {"value":"HTTPS", "protocol":"TCP", "port":443 },
        {"value":"SMTPS", "protocol":"TCP", "port":465 },
        {"value":"IMAPS", "protocol":"TCP", "port":993 },
        {"value":"POP3S", "protocol":"TCP", "port":995 },
        {"value":"MS SQL", "protocol":"TCP", "port":1433 },
        {"value":"MYSQL", "protocol":"TCP", "port":3306 },
        {"value":"RDP", "protocol":"TCP", "port":3389 }
    ],
    "config.loadbalancerprotocols" : [
        {"value":"DNS_TCP", "protocol":"TCP", "port":53},
        {"value":"DNS_UDP", "protocol":"UDP", "port":53},
        {"value":"FTP", "protocol":"FTP", "port":21},
        {"value":"HTTP", "protocol":"HTTP", "port":80},
        {"value":"HTTPS", "protocol":"HTTPS", "port":443},
        {"value":"IMAPS", "protocol":"IMAPS", "port":993},
        {"value":"IMAPv2", "protocol":"IMAP", "port":143},
        {"value":"IMAPv3", "protocol":"IMAP", "port":220},
        {"value":"IMAPv4", "protocol":"IMAP", "port":143},
        {"value":"LDAP", "protocol":"LDAP", "port":389},
        {"value":"LDAPS", "protocol":"LDAPS", "port":636},
        {"value":"MYSQL", "protocol":"MYSQL", "port":3306},
        {"value":"POP3", "protocol":"POP3", "port":110},
        {"value":"POP3S", "protocol":"POP3S", "port":995},
        {"value":"SFTP", "protocol":"SFTP", "port":22},
        {"value":"SMTP", "protocol":"SMTP", "port":25},
        {"value":"TCP", "protocol":"TCP", "port":"-" },
        {"value":"TCP_CLIENT_FIRST", "protocol":"TCP", "port":"-" },
        {"value":"UDP", "protocol":"UDP", "port":"-" },
        {"value":"UDP_STREAM", "protocol":"UDP", "port":"-" },
        {"value":"SSL", "protocol":"SSL", "port":443 }
    ],
    "config.loadbalanceralgorithms" : ["ROUND_ROBIN","LEAST_CONNECTIONS","SOURCE_IP"],
    "config.loadbalancerroutingrulesprotocols" : ["TCP","HTTP","HTTPS"],
    "config.loadbalancerhealthcheckprotocols" : ["PING","TCP","HTTP","HTTPS"],
    "config.loadbalanceraddressessreuse" : false,
    "config.monitoringstatistics" : [
        {"value":"average", "name":"Average"},
        {"value":"maximum", "name":"Maximum"},
        {"value":"minimum", "name":"Minimum"},
        {"value":"sum", "name":"Sum"},
        {"value":"count", "name":"Count"},
        {"value":"dev", "name":"Deviation"}
    ],
    "config.monitoringperiods" : [
        {"value":"hours", "name":"Hours"},
        {"value":"days", "name":"Days"}
    ],
    "egg.speak": "false",
    "config.endpoint": "http://10.60.1.248/api",
    "api.version":"3.8",
    "client.backto.url": "",
    "client.modalblocker.timeout.milliseconds": 800,
    "client.themes" : [
        "abicloudDefault"
    ],
    "client.poweredby.hide" : false,
    "client.google.analytics.id":"UA-51859366-1",
    "client.google.analytics.url":"abiquo.com",
    "rdpaccess.usesslproxy":true,
    "client.captcha.publickey" : "",
    "client.external.js.loader.url" : "externaljsloadertemplate.html",
    "client.google.maps.enabled": true,
    "client.google.maps.key": "",
    "client.password.recovery": true,
    "client.backup.blockmultiplerestore": false,
    "client.remoteaccess.novnc.host": "",
    "client.remoteaccess.novnc.port": "41337",
    "client.offline":false
}