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.
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.
Site details contain information about deployments’ statuses, indicated as follows:
- Green - the number of deployments with all nodes in active state, and a successful last workflow execution.
- Orange - the number of deployments in which active workflow execution is performed.
- Red - the number of deployments with inactive nodes or a failed last workflow execution.
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
Refresh time interval
- Time interval in which widget’s data will be refreshed, in seconds. Default: 10 secondsShow all the site labels
- If set, then all sites will be displayed with site details popup opened. Default: Off
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\">© OpenMapTiles</a> <a href=\"https://www.openstreetmap.org/copyright\" target=\"_blank\">© 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:
- z: zoom level
- x and y: tile coordinates
Note: Some providers use s and r placeholders which are optional but not supported in Conductor and must be omitted. All placeholders must be prefixed with $ as shown in the example in Section 1.1 above.
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