Skip to content

πŸš€ Install Load Proxy

πŸ“ Overview

There are two ways to deploy Load-Proxy:

  • Manual Download the installation script and define Environment Variable
  • Upload the install script from EdgeHit Controller that presets all the Necessary Value

Both way are invoking the installation Script at

https://files.ops2.net/edgehit/prod/EdgeHit/deploy/install.sh
The generated script from EdgeHit Controller is just a Script that predifine Environment Variable and run the script above.

For reference, below shows what are the Environment Variable defined in install-EdgeHit.sh:

Variable Configured Value
DASH_SERVER_DOMAIN same as the value defined during EdgeHit Controller installation
REGISTRY_PASSWORD same as the value defined during EdgeHit Controller installation
CONFIGDB_CLIENT_CERT a x509 client certificate cert generated by Redis Server running on EdgeHit Controller. Used for mTLS authentication
CONFIGDB_CLIENT_KEY 1024 bit private key that corespond to the cert above.
CONFIGDB_CLIENT_CA The CA cert
CONFIGDB_PASSWORD PSK for Redis Server
EDGE_HTTP_AUTH_PASS PSK for Node Exporter
CLICKHOUSE_PASSWORD PSK for Clickhouse Server

Node-Exporter on Load Proxy

The variable EDGE_HTTP_AUTH_PASS is used for HTTP AUTH in node-exporter installment. If not set, the Installation script will generate a new random string. This will break the fucntion that add Target to Prometheus as it expects all Load Proxy Instance shares the same PSK which is defined in the install-EdgeHit.sh and install-prometheus.sh script

It is better to use the installation script generated by EdgeHit Controller Installation. The following steps show how to use it.



πŸ‘·β€β™‚οΈ Setting Up Server Role

Before Uploading the script to Load Proxy Server, you can edit the Script to add Another Environment Variable that define the Server Role of Load Proxy. By default, it assume both CDN and DNS role which install both EdgeHit and EdgeHit DNS component.

The table below shows the available option for server role

Server Role Configured Value
CDN SERVER_ROLE=cdn
CDN and DNS SERVER_ROLE=cdn,dns

Note: as per discussed, CDN role (EdgeHit) contain essential runtime component and could not be omitted



πŸͺœ Installation Step

  1. Upload the Script to Target Machine

    On Local Terminal
    scp /path/to/local/destination/install-EdgeHit.sh root@<Target>:~/
    

  2. Execute the script

    chmod 700 ./install-EdgeHit.sh
    ./install-EdgeHit.sh
    

    • Once the installation is done, installation info and administrative tools will be stored in /usr/local/loadproxy/ the directory content will be similiar as below:

          loadproxy/
          β”œβ”€β”€.env
          β”œβ”€β”€.server
          β”œβ”€β”€EdgeHit-scripts
          β”‚ β”œβ”€β”€ bash Scripts
          β”‚ └── more bash Scripts 
          β”‚ └── .....
          β”œβ”€β”€EdgeHit DNS
      
    • .env contain secret value that is loaded into Shell Environment Variable

    • .server contain info server role and server UUID

Note

The server UUID is needed to register Load Proxy Node Into the EdgeHit Controller Dashboard


Then, you will need to create a new CDN Server and Domain Server instance in EdgeHit Controller. Details will be discussed in Configuring CDN & DNS Server section.