Traffic API Proxy | Urbi On-Prem | 2GIS Documentation

Installing Traffic API Proxy

Important note:

All passwords and keys in this section are given for illustration purposes.

During a real installation, it is recommended to use more complex and reliable passwords.

  1. Consider getting familiar with:

  2. Make sure the necessary preparation steps are completed:

    1. Preparation for installation
    2. Fetching installation artifacts
    3. Installing License service
    4. Installing API Keys service
  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
    Kubernetes secret for accessing Docker Registry onpremise-registry-creds See Fetching installation artifacts
    Installation artifacts S3 storage domain name artifacts.example.com See Fetching installation artifacts
    Bucket name for installation artifacts onpremise-artifacts See Fetching installation artifacts
    Installation artifacts access key AKIAIOSFODNN7EXAMPLE See Fetching installation artifacts
    Installation artifacts secret key wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY See Fetching installation artifacts
    Path to the manifest file manifests/1640661259.json See Fetching installation artifacts
    API Keys service endpoint keys.example.local See Installing API Keys service
    Service tokens TRAFFIC_PROXY_AAAAAA-111111 See Installing API Keys service
  4. Make sure that the following system requirements are met (the requirements are given for the minimal amount of replicas):

    • For testing environment:

      Service vCPU RAM Storage
      NGINX reverse proxy 2 4 GB
      Total amount: 2 4 GB
    • For production environment:

      Service vCPU RAM Storage
      NGINX reverse proxy 4 4 GB
      Total amount: 4 4 GB

    Note:

    Detailed requirements for each service are listed in the System requirements document.

  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-traffic-proxy.yaml
    dgctlDockerRegistry: docker.storage.example.local:5000/2gis-on-premise
    
    replicaCount: 1
    
    proxy.host: traffic0.edromaps.2gis.com
    
    resources:
        requests:
            cpu: 10m
            memory: 32Mi
        limits:
            cpu: 500m
            memory: 256Mi
    
    ingress:
        hosts:
            - host: traffic-proxy.example.com
    

    Where:

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

    • replicaCount: number of the NGINX service replicas.

    • proxy.host: FQDN of a public Traffic Update server. For the list of available servers see the Architecture section of the document.

    • resources: computational resources settings for service. See the minimal requirements table for the actual information about recommended values.

    • ingress: configuration of the Ingress resource. Adapt it to your Ingress installation. Note that the path for the host should point to the root: /.

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

    helm upgrade --install --atomic --wait-for-jobs --values ./values-traffic-proxy.yaml traffic-proxy 2gis-on-premise/traffic-proxy
    

To test the operability of the service, open the ingress.hosts.host address from a browser. The service should return a list of files containing traffic data.

Alternatively, test the deployment of an On-Premise service that uses the Traffic Proxy service.

What's next?