Quickstart

LatticeFlow Web - Kubernetes Helm Chart

Overview

The Web frontend can be exposed via an Ingress controller, a Load Balancer, or Kubectl port forward. This Helm chart will use Load Balancer to expose the services.

LatticeFlow App, Workers and Jupyter are defined in a single pod. This ensures the three containers will be scheduled on the same node and able to communicate with each other as well as share the underlying storage.

Minimum recommended node configuration is 4 CPU, 100 Gi available storage, 32 Gi RAM.

Prerequisites (Offline Deployment)

If you are deploying from an offline docker registry, you first need to pull the latticeflow images from our public registry. To do so:

Step 1: Login to Docker Registry

LatticeFlow Web is a containerized application. To gain access to LatticeFlow Docker images, login into the LatticeFlow Docker registry.

To login, use your the Docker credentials in the command below and run it.

docker login registry.gitlab.com -u <username> -p <password>

Step 2: Pull the Docker Image

docker pull registry.gitlab.com/latticeflow/cloud/cloud/latticeflow-assessment:0.10.0

Step 3: Push the Docker Image to your Local Registry

Follow internal steps to push the docker image to your local registry and adjust the dockerRegistry value in step 4 below.

Install

1. Create Namespace and Set Context

kubectl create ns latticeflow

kubectl config set-context --current --namespace=latticeflow

2. Create Secrets

Create secret with keys:

If you are running in an offline environment without access to external providers, initialize the secret keys as follows:

kubectl -n latticeflow create secret generic secret-keys --from-literal=OPENAI_API_KEY= --from-literal=OPENAI_ORG= --from-literal=TOGETHER_API_KEY= --from-literal=GEMINI_API_KEY=

Otherwise, if any external providers are available, initialize their credentials using:

kubectl -n latticeflow create secret generic secret-keys --from-literal=OPENAI_API_KEY=key --from-literal=OPENAI_ORG=key --from-literal=TOGETHER_API_KEY=key --from-literal=GEMINI_API_KEY=key

3. Download Helmchart

Download the latest lf-assessment-helm-0.10.0.tgz Helmchart.

4. Helm Install

Run helm show values lf-assessment-helm-0.10.0.tgz > values.yaml

  • (Optional) Edit values.yaml and override default values to meet your needs.

helm -n latticeflow install latticeflow-assessment-web ./lf-assessment-helm-0.10.0.tgz -f values.yaml

Access LF Web

1. Open web browser

Access LatticeFlow app and Jupyter by navigating to the Load Balancer FQDN on port 5005 and 8888 respectively.

  • Port 5005 serve the user facing web application
  • Port 8888 is used for development purposes (i.e, to configure and execute advanced parts of the assessment)

Uninstall

1. Uninstall helm chart

helm -n latticeflow uninstall latticeflow-assessment-web

2. Delete secrets

kubectl -n latticeflow delete secret secret-keys

3. Delete namespace

kubectl delete ns latticeflow