Conductor Documentation

Sites Map

Displays the world map with defined sites marked. Only sites with defined location are displayed on the map.

Note: If you are in a location with poor or no internet connectivity, see Air-Gapped Operation.

sitesMap

Site markers

The color of the site marker on the map indicates the site’s health. It is derived from the status of the deployments attached to the site.

After clicking the site marker on the map, the user is presented with a popup with the status breakdown of the deployments assigned with the site.

sitesMap

Site details contain information about deployments' statuses, indicated as follows:

Map provider

Sites Map widget uses Leaflet library for displaying interactive map. The library can display various types of maps from different providers. The list of all supported providers can be found in leaflet-providers repository.

Sites Map widget with default configuration displays map tiles provided by Stadia Maps. You can change the provider in User Configuration.

Settings

Air Gapped Operations

The Conductor UI map widget(s) use map data from Stadia maps, an internet hosted map data source. This prevents true air gapped operation of the map widget component. Air-gapped operation allows Conductor to be configurabled to use a non-internet hosted source of map data in an environment with restricted or without internet access.

1. Self-Hosted Tile Server

Note: If you already have a map provider service running or have already choosen a third one, skip to section 2.

To serve internal maps, both the server and the maps are required. For this procedure, OpenMap Tiles for used for both.

1.1 Download and build OpenMap Tiles

  $ git clone https://github.com/openmaptiles/openmaptiles.git
  $ cd openmaptiles
  $ make
  $ ./quickstart.sh [extract]

Where the extract refers to the region e.g. “new-york”, for more extract options run make list-geofabrik, make list-bbbike or visit: check-other-extracts.

This will generate a large .osm.pdf file and small .mbtiles file and , depending on the chosen area zoom level, may take a long time. For information about setting the zoom level, see: set-which-zooms-to-generate.

Hint: The project documentation suggest start with small extracts and increase zoom level incrementally, expensive in resources and time. This was just a quickstart, for detailed configuration, check the project official documentation.

1.2 Start maptiles/tileserver-gl

Start a TileServer GL instance in Docker to serve the previously generated map files, by default the web interface runs at http://localhost:8080.

   $ make start-tileserver

Note: To change the default port execute before starting tile server:

   $ export TPORT=[NEW_PORT]

For the port assignment to persist between sessions, add the setting to .env file.

The tile data will be in TileJSON link on TileServer front page.

Sample file content:

{
    "tilejson":"2.0.0",
    "name":"Basic preview",
    "attribution":"<a href=\"https://www.openmaptiles.org/\" target=\"_blank\">&copy; OpenMapTiles</a> <a href=\"https://www.openstreetmap.org/copyright\" target=\"_blank\">&copy; OpenStreetMap contributors</a>",
    "minzoom":0,
    "maxzoom":20,
    "bounds":[-62.69475,-27.65675,-54.20176,-19.24012],
    "format":"png",
    "type":"baselayer",
    "tiles":["http://localhost:8080/styles/basic-preview/{z}/{x}/{y}.png"],
    "center":[-58.448255,-23.448435,7]
}

The conductor map configuration requires the tilesUrlTemplate. The equivalent shown where is the tiles attribute and the attribution.

Note: The placeholders in tilesUrlTemplate must be prefixed by $, see Section 2 below for more information.

Changing the Conductor map provider

To change the Conductor map provider, see the following attributes:

tilesUrlTemplate: A string in the following form:

https://somedomain.com/${z}/${x}/${y}.png

where:

attribution: String to be shown in the attribution control, e.g. “© OpenStreetMap contributors”. It describes the layer data and is often a legal obligation towards copyright holders and tile providers.

accessToken: The API key to be passed to map tiles provider.

Changing the map provider before installation/upgrade

In all-in-one deployment

After installing cloudify-manager-install package the config file /etc/cloudify/config.yaml will be created. Update this file before running cfy_manager install, for the change to persist across updates.

In a cluster deployment

Edit the stage section of cluster config file generated by the command cfy_cluster_manager generate-config before running cfy_cluster_manager install.

Sample configuration values:
stage:
{...}
  maps:
    tilesUrlTemplate: 'http://localhost:8080/styles/basic-preview/${z}/${x}/${y}.png'
    attribution: null
    accessToken: null

2.2 Changing after installation

To change the provider on a running instance without running cfy_manager install, edit the file /opt/cloudify-stage/dist/userData/userConfig.json and restart cloudify-stage:

supervisorctl restart cloudify-stage

Note: This setting may be lost in a future update and is recommended for testing purposes only. To configure changes the persist after updates or upgrades, use the process described in Section 2.1 above.

Important: For cluster deployments this step must be performed on all nodes.

Example
{
    "maps": {
        "accessToken": null,
        "attribution": null,
        "tilesUrlTemplate": "http://localhost:8080/styles/basic-preview/${z}/${x}/${y}.png"
    },

2.3 Restore default provider

To restore the default provider, delete the maps section in /opt/cloudify-stage/dist/userData/userConfig.json and /etc/cloudify/config.yaml (if previously changed) and restart cloudify-stage:

supervisorctl restart cloudify-stage