diff --git a/README.md b/README.md index c589467..b29620b 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,8 @@ or as admin: - username: `tech@gisaia.com` - password: `admin` +IMPORTANT: when using IAM, users can create collections only on indices prefixed with their organisation's name followed by `@`. For instance, a user in the organisation `gisaia.com`, who creates an index containing car gps data can name the index `gisaia.com@car_gps_locations`. + # ARLAS AIAS deployment The AIAS (ARLAS Item and Asset Services) deployment has: diff --git a/conf/aias.env b/conf/aias.env index 22b4852..fa0466a 100644 --- a/conf/aias.env +++ b/conf/aias.env @@ -10,7 +10,7 @@ AIRS_STORAGE_DIRECTORY=arlas-data-minio AIRS_S3_ENDPOINT_URL=http://minio:9000 #AIRS_HOST= -#AIRS_INDEX_COLLECTION_PREFIX= +AIRS_INDEX_COLLECTION_PREFIX=org.com@ #AIRS_MAPPING_URL= #AIRS_PORT= #AIRS_PREFIX= diff --git a/sample/dashboard.json b/sample/dashboard.json index 4bb62c2..745d88e 100644 --- a/sample/dashboard.json +++ b/sample/dashboard.json @@ -4,9 +4,9 @@ "contributors": [ { "type": "map", - "identifier": "courses", + "identifier": "org.com@courses", "name": "Map courses", - "collection": "courses", + "collection": "org.com@courses", "geo_query_op": "Intersects", "geo_query_field": "track.location", "icon": "check_box_outline_blank", @@ -14,7 +14,7 @@ { "id": "arlas_id:Tracks:1724158164373", "name": "Tracks", - "source": "cluster-departure.location-Finest-tile-centroid-courses", + "source": "cluster-departure.location-Finest-tile-centroid-org.com@courses", "minzoom": 0, "maxzoom": 23, "include_fields": [], @@ -38,7 +38,7 @@ { "id": "arlas_id:Trails:1724158240395", "name": "Trails", - "source": "feature-track.trail-wide-courses", + "source": "feature-track.trail-wide-org.com@courses", "minzoom": 0, "maxzoom": 23, "include_fields": [], @@ -56,7 +56,7 @@ { "type": "chipssearch", "identifier": "chipssearch", - "collection": "courses", + "collection": "org.com@courses", "search_field": "internal.fulltext", "name": "Search...", "icon": "search", @@ -66,7 +66,7 @@ { "type": "histogram", "identifier": "timeline", - "collection": "courses", + "collection": "org.com@courses", "name": "Timeline", "icon": "watch_later", "isOneDimension": false, @@ -83,7 +83,7 @@ { "type": "detailedhistogram", "identifier": "detailedTimeline", - "collection": "courses", + "collection": "org.com@courses", "name": "Timeline", "icon": "watch_later", "isOneDimension": false, @@ -100,10 +100,10 @@ "additionalCollections": [] }, { - "identifier": "courses-object.mmsi-10-Count-desc-count", + "identifier": "org.com@courses-object.mmsi-10-Count-desc-count", "name": "MMSI", "title": "MMSI", - "collection": "courses", + "collection": "org.com@courses", "icon": "directions_boat_filled", "type": "tree", "jsonpath": "$.count", @@ -120,10 +120,10 @@ "allowOperatorChange": true }, { - "identifier": "courses-object.ship_type-10-", + "identifier": "org.com@courses-object.ship_type-10-", "name": "Type", "title": "Type", - "collection": "courses", + "collection": "org.com@courses", "icon": "directions_boat_filled", "type": "tree", "aggregationmodels": [ @@ -230,7 +230,7 @@ { "id": "arlas_id:Tracks:1724158164373", "type": "circle", - "source": "cluster-departure.location-Finest-tile-centroid-courses", + "source": "cluster-departure.location-Finest-tile-centroid-org.com@courses", "minzoom": 0, "maxzoom": 23, "layout": { @@ -337,8 +337,8 @@ "circle-blur": 1 }, "metadata": { - "collection": "courses", - "collectionDisplayName": "courses", + "collection": "org.com@courses", + "collectionDisplayName": "org.com@courses", "hiddenProps": { "geomType": "circle-heatmap" } @@ -353,7 +353,7 @@ { "id": "arlas_id:Trails:1724158240395", "type": "line", - "source": "feature-track.trail-wide-courses", + "source": "feature-track.trail-wide-org.com@courses", "minzoom": 0, "maxzoom": 23, "layout": { @@ -367,8 +367,8 @@ "line-width": 2 }, "metadata": { - "collection": "courses", - "collectionDisplayName": "courses", + "collection": "org.com@courses", + "collectionDisplayName": "org.com@courses", "isScrollableLayer": false }, "filter": [ @@ -381,7 +381,7 @@ { "id": "arlas-select-arlas_id:Trails:1724158240395", "type": "line", - "source": "feature-track.trail-wide-courses", + "source": "feature-track.trail-wide-org.com@courses", "minzoom": 0, "maxzoom": 23, "layout": { @@ -393,8 +393,8 @@ "line-width": 14 }, "metadata": { - "collection": "courses", - "collectionDisplayName": "courses", + "collection": "org.com@courses", + "collectionDisplayName": "org.com@courses", "isScrollableLayer": false }, "filter": [ @@ -407,7 +407,7 @@ { "id": "arlas-hover-arlas_id:Trails:1724158240395", "type": "line", - "source": "feature-track.trail-wide-courses", + "source": "feature-track.trail-wide-org.com@courses", "minzoom": 0, "maxzoom": 23, "layout": { @@ -419,8 +419,8 @@ "line-width": 14 }, "metadata": { - "collection": "courses", - "collectionDisplayName": "courses", + "collection": "org.com@courses", + "collectionDisplayName": "org.com@courses", "isScrollableLayer": false }, "filter": [ @@ -532,7 +532,7 @@ "unit": "", "chartWidth": 217 }, - "contributorId": "courses-object.mmsi-10-Count-desc-count", + "contributorId": "org.com@courses-object.mmsi-10-Count-desc-count", "uuid": "b63abbdd-764d-4994-81a8-b9396efe9d73", "usage": "analytics" }, @@ -540,14 +540,14 @@ "componentType": "donut", "showExportCsv": "", "input": { - "id": "courses-object.ship_type-10-", + "id": "org.com@courses-object.ship_type-10-", "customizedCssClass": "arlas-donuts-analytics", "diameter": 170, "containerWidth": 223, "multiselectable": true, "opacity": 0.4 }, - "contributorId": "courses-object.ship_type-10-", + "contributorId": "org.com@courses-object.ship_type-10-", "uuid": "5d490a4d-a6d7-4431-abd1-9cbdf8f7472e", "usage": "analytics" } @@ -627,7 +627,7 @@ "url": "${ARLAS_SERVER_URL}/arlas", "max_age_cache": 120, "collection": { - "name": "courses" + "name": "org.com@courses" } } }, @@ -643,8 +643,8 @@ "name": "ARLAS", "units": [ { - "collection": "courses", - "unit": "courses", + "collection": "org.com@courses", + "unit": "org.com@courses", "ignored": false } ] diff --git a/scripts/init_stack_with_data.sh b/scripts/init_stack_with_data.sh index 8a2387e..7135dbf 100755 --- a/scripts/init_stack_with_data.sh +++ b/scripts/init_stack_with_data.sh @@ -35,11 +35,11 @@ fi echo "Fetch sample data" curl https://raw.githubusercontent.com/gisaia/arlas_cli/master/tests/sample.json -o sample/sample.json echo "Create mapping for courses" -arlas_cli --config-file /tmp/arlas-cli.yaml indices --config ${CONF} mapping sample/sample.json --nb-lines 200 --field-mapping track.timestamps.center:date-epoch_second --field-mapping track.timestamps.start:date-epoch_second --field-mapping track.timestamps.end:date-epoch_second --no-fulltext cargo_type --push-on courses +arlas_cli --config-file /tmp/arlas-cli.yaml indices --config ${USER_CONF} mapping sample/sample.json --nb-lines 200 --field-mapping track.timestamps.center:date-epoch_second --field-mapping track.timestamps.start:date-epoch_second --field-mapping track.timestamps.end:date-epoch_second --no-fulltext cargo_type --push-on org.com@courses echo "Index courses" -arlas_cli --config-file /tmp/arlas-cli.yaml indices --config ${CONF} data courses sample/sample.json +arlas_cli --config-file /tmp/arlas-cli.yaml indices --config ${USER_CONF} data courses sample/sample.json echo "Create courses collection" -arlas_cli --config-file /tmp/arlas-cli.yaml collections --config ${CONF} create courses --index courses --display-name courses --id-path track.id --centroid-path track.location --geometry-path track.trail --date-path track.timestamps.center --no-public --owner org.com --orgs org.com +arlas_cli --config-file /tmp/arlas-cli.yaml collections --config ${USER_CONF} create courses --index org.com@courses --display-name courses --id-path track.id --centroid-path track.location --geometry-path track.trail --date-path track.timestamps.center --no-public --owner org.com --orgs org.com echo "Create dashboard" envsubst '$ARLAS_SERVER_URL' < sample/dashboard.json > sample/dashboard.generated.json