Installation

This guide helps you install and configure your Edge Site.

Prerequisites

Create a site

To make a new Edge Site, navigate to the Foxglove web console's Settings page:

  • "Create site" – Name and create your Edge Site
  • "Automatically delete recordings after (days)" – Enable garbage collection for your Edge Site. Files past the expiration period are deleted and no longer eligible for import.

You're now ready to set up your cluster.

Configure cluster resources

Configure cluster resources required by the deployment – these are specific to your cluster and site setup.

Persistent Volume Claims

You must create two pre-configured Persistent Volume Claims in the foxglove namespace.

  • Storage volume - Volume for storing recordings. The default claim name is edge-controller-storage-claim however you can override this with the edge_controller.storageClaim config value.
  • Index database - Volume for storing database data. The default claim name is edge-controller-index-claim however you can override this with the edge_controller.indexClaim config value.

Note the index claim should be backed by block storage rather than network storage for optimal performance.

An example claim manifest is presented below – adjust these claims to reference volumes from your cluster:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: edge-controller-storage-claim
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: "..."
  volumeName: your-volume-name
  resources:
    requests:
      storage: ...
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: edge-controller-index-claim
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: "..."
  volumeName: your-volume-name
  resources:
    requests:
      storage: ...

Secrets

Skip this step if you are using hosted Primary Sites.

If your Edge Site's corresponding Primary Site is self-managed, it will need additional cloud credentials to import data to the Primary Site.

See Configure cloud credentials for more details.

Install the release

Install the release with Helm.

Prepare a values file

Create a values.yaml file to configure the installation. You'll need a site token and the name of your inbox bucket.

Here is an example values file:

globals:
  siteToken: fox_sk_...

  upload:
    provider: azure
    bucketName: foxglove-lake

Accepted values for provider are: aws, azure, or google_cloud.

Find your Edge Site's site token on the Foxglove web console's Settings page.

Install

Note: Helm will install the Edge Site deployment to your current Kubernetes context

$ helm repo add foxglove https://helm-charts.foxglove.dev
$ helm repo update
$ helm upgrade --install foxglove-edge-site foxglove/edge-site \
    --values ./values.yaml  \
    --namespace foxglove \
    --create-namespace

View info about the deployment:

$ helm list -n foxglove

You can test that the service is up by forwarding the service port to your machine and opening http://localhost:8888/v1/liveness

$ kubectl port-forward -n foxglove service/edge-controller 8888:8888

Create an Ingress

The edge controller exposes a REST API service (edge-controller) for notifications of new recordings. To access this API outside of your cluster, you must create an Ingress.

The Edge Site service name is edge-controller and is available on TCP port 8888.

Visit http://<cluster ip>:<port>/v1/liveness in a web browser to confirm connectivity to the edge controller service via the Ingress.

Next steps

Congratulations! 🦊 Your Edge Site is setup and ready for use.

For next steps on adding recordings to your site, see Manage Data.