Lightup Hybrid (dedicated VM)

Lightup Hybrid deployment lets you keep your data in your environment and use the Lightup control plane to help manage and troubleshoot your deployment. See https://docs.lightup.ai/docs/deployment-models#hybrid-deployment for more information.

You can deploy Lightup Hybrid to a dedicated VM using the following procedure.

Prerequisites

  1. Outbound connectivity— Your system instance must always have access to the following internet services for the proper functioning of Lightup. You should modify your firewall rules if you cannot access any of these services.
ServiceDomains to whitelist
Linux package repositories (apt/yum repositories): For support packages needed on the VM host environment.One of the following, depending on which Linux version you install:
- *.fedoraproject.org (yum/dnf Repositories— enables RHEL/Fedora System Update Packages)
- *.ubuntu.com (apt Repositories— enables Ubuntu System Update Packages)
Replicated (replicated.com): Lightup application software is packaged and licensed using Replicated. The application bundle (Kubernetes binaries, Docker containers, license file) are pulled from Replicated during the installation sequence and subsequent upgrades.- *.replicated.com (enables Upstream Docker images via proxy.replicated.com. The on-prem docker client uses a license ID to authenticate to proxy.replicated.com. This domain is owned by Replicated, Inc., headquartered in Los Angeles, CA.)
- quay.io (source of replicated images for releases)
- *.gcr.io (source of replicated images for releases)
- *.docker.io (source of replicated images for releases)
- k8s.kurl.sh (source of Kubernetes cluster installation scripts and artifacts: an application identifier is sent in a URL path, and bash scripts and binary executables are served from kurl.sh. This domain is owned by Replicated, Inc., headquartered in Los Angeles, CA)
- amazonaws.com (source of tar.gz: packages are downloaded from Amazon S3. The IP ranges to whitelist for accessing these can be scraped dynamically from the AWS IP Address Ranges documentation.)
Datadog: Lightup uses Datadog for container logging, metric monitoring and Kubernetes pod health monitoring*.datadoghq.com (enables Lightup monitoring)
Lightup AWS Services: Lightup leverages a dedicated single-tenant service for install and upgrade requirements.*.lightup.ai (enables Lightup system updates and calls)
  1. VM hardware— You need a minimum of 8 vCPUs, 64GB RAM, and 200GB of persistent, flat, unpartitioned hard disk capacity (EBS or similar).
  2. VM OS— You can install Ubuntu 20.04 or RHEL8.

Installation

Step 1: Set up Postgres Server 14

  1. Install Postgres Server 14 with the following resources:
    • 4 CPUs
    • 8 GB memory
    • 200 GB storage
    • 2000 IOPS
  2. Set up daily backups.
  3. When your Postgres instance is ready, log in and complete the following steps:
    a. Make note of the Postgres host, TCP port, username and password - you'll need them during the next installation step (when you bootstrap the Lightup data plane).
    b. Create three databases: adb, sdb, and udb.
    c. In each database, set max_connection >= 500 and run the following code:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
SELECT * FROM pg_stat_statements LIMIT 1;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
SELECT uuid_generate_v4();

Step 2: Bootstrap the Lightup data plane

  1. Set up a new VM running Ubuntu 20.04 or RHEL8.
  2. SSH into the VM.
  3. Make sure curl is installed.
  4. Run the following command, using the tla and token values from Lightup:
    curl -H 'Cache-Control: no-cache' -L \
    https://s3.us-west-2.amazonaws.com/www.lightup.ai/launch_lightup.sh | \
    LIGHTUP_TLA=<tla> LIGHTUP_TOKEN=<token> bash -s install
    
  5. Follow the prompts to complete Postgres configuration, entering the values you noted when you set up Postgres.
  6. Wait for about 10 minutes, then browse to https://app.tla.lightup.ai (using the tla value from Lightup) and log in to the Lightup app to get started.

Step 3 (optional): Set up a NAT gateway

If the Lightup application needs to use a singular, consistent IP address to access your datasources, you can configure a NAT gateway for your VM on any of the following platforms: