Platform Manager | On-Premise | 2GIS Documentation
On-Premise

Installing Platform Manager

  1. Consider getting familiar with:

  2. Make sure the necessary preparation steps are completed:

    1. Preparation for installation
    2. Fetching installation artifacts
    3. Installing API Keys service
    4. Installing maps API
    5. Installing search API
    6. Installing navigation API
  3. Collect the necessary information that was set or retrieved on previous steps:

    Object Example value How to get value
    Docker Registry mirror endpoint docker.storage.example.local:5000 See Fetching installation artifacts
    MapGL JS API endpoint http://mapgl-js-api See Installing maps API
    Catalog APIs endpoint http://catalog-api See Installing search API
    Navigation API endpoint http://navi-front See Installing navigation API
    API Keys MAPGL_KEY
    CATALOG_KEY
    NAVI_KEY
    See Installing API Keys service
  4. Make sure that the resource requirements specified in the Helm chart are met.

    For more information on how to do this, refer to the System requirements document.

    Note

    Contents of the Helm chart described in this chapter are relevant for the latest On-Premise version (see Release notes). To find parameters for earlier versions, open values.yaml on GitHub and enter the required version number (for example, 1.18.0) in the tag switcher on the left.

  5. Choose the domain name for the service. For example, platform.example.com.

  1. Create a Helm configuration file. See here for more details on the available settings.

    The example is prefilled with the necessary data collected on previous steps.

    values-platform.yaml
    dgctlDockerRegistry: ''
    
    ui:
        brand: ''
        defaultLocale: en
        pages: ''
    
        status:
            mapgl: ''
            search: ''
            navi: ''
            pro: ''
            gisPlatform: ''
            keys: ''
    
        mapgl:
            url: 'https://mapgl-js-api.example.com'
            scriptPath: /api.js
            key: 'MAPGL_KEY'
            initCenter: ''
    
        catalog:
            url: 'https://catalog.example.com'
            key: 'CATALOG_KEY'
    
        navi:
            url: 'https://navi.example.com'
            key: 'NAVI_KEY'
    
        resources:
            requests:
                cpu: 300m
                memory: 384M
            limits:
                cpu: 1100m
                memory: 512M
    
        ingress:
            enabled: true
            className: nginx
            hosts:
                - host: platform.example.com
                  paths:
                      - path: /
                        pathType: Prefix
            tls: []
            #- hosts:
            #  - platform.example.com
            #  secretName: secret.tls
    

    Where:

    • dgctlDockerRegistry: your Docker Registry endpoint where On-Premise services' images reside. Example: HOST:PORT.

    • ui: common application settings:

      • brand: branding inside the application. Possible values: 2gis, urbi.

      • defaultLocale: default application language. Possible values: en.

      • pages: list of available pages in the application. Possible values: status, playground, map_styles. Values are separated by commas and written in one string, for example: 'status, playground'. First value in the list is the default page.

      • status: list of statuses of On-Premise services.

        Each entry in a string containing pairs of the service name and its healthcheck URL. Pairs are separated by commas. Values inside a pair are joined by the "=" symbol. For example, mapgl: 'MapGL JS=https://example.com/healthcheck'. URL must be absolute. You can specify only the URL, for example: mapgl: 'https://example.com/healthcheck'.

      • mapgl: access settings for the MapGL JS API service:

        • url: address of the service host in the HTTP(S)://HOST format.
        • key: access key for the service.
        • initCenter: default map coordinates presented as two numbers in an array: [lng, lat]. For example: [55.27, 25.2] for Dubai, [37.64, 55.74] for Moscow.
        • scriptPath: path to the service initialization script. The path is built relatively to ui.mapgl.url. Possible values: /api.js.
      • catalog: access settings for the Catalog APIs service:

        • url: address of the service host in the HTTP(S)://HOST format.
        • key: access key for the service.
      • navi: access settings for the Navigation API service:

        • url: address of the service host in the HTTP(S)://HOST format.
        • key: access key for the service.
      • resources: limits for the application service. To find out recommended resource values, see Computational resources.

  2. Deploy the service with Helm using the created values-platform.yaml configuration file:

    helm upgrade --install --version=1.28.2 --atomic --values ./values-platform.yaml platform 2gis-on-premise/platform
    

Go to https://platform.example.com in a browser. You should enter the web-interface.

You can create a unique map style and use it in your environment. Follow the steps below:

  1. Ensure that Styles API is installed along with other map services.

  2. Open the styles editor and create your map style.

    See instructions on creating and configuring styles in the editor documentation.

  3. Export the created style:

    1. In the top menu of the style editor, select Share and then click Export the style.

    2. Select the required style from the list and click Export.

      Generation of an exportable archive starts in a new tab.

    3. When the style is in the Done status, select it from the list again and click Download the style.

    4. Save the generated .tar.gz archive locally.

  4. Upload the style to your On-Premise environment:

    1. Open the Platform Manager in a browser.
    2. Go to the Map Styles tab and click Upload Style.
    3. Add the exported .tar.gz archive and wait until it is uploaded.
  5. Check how the style looks in a sandbox: go to the Map Styles tab and click the required style name.

  6. Copy the generated style ID and apply it to the map using MapGL JS API.

You can upload different versions of one style and switch them in the Platform Manager. For details, see the instruction on updating styles.