For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
CommunitySign Up
HomeGuidesVerbsAPI ReferenceSelf-HostingClient SDKsTutorialsChangelog
HomeGuidesVerbsAPI ReferenceSelf-HostingClient SDKsTutorialsChangelog
  • Overview
    • Licensing
    • Post-Install Steps
    • Setting up WebRTC and SIP TLS
    • Krisp Turn-Taking
  • Hosting Providers
    • AWS
    • Azure
    • GCP
    • OCI
  • Bare metal / VPS
    • Debian package
  • Kubernetes
    • AWS (EKS)
    • Azure (AKS)
    • GCP (GKE)
    • Exoscale (SKS)
LogoLogo
CommunitySign Up
On this page
  • Prerequisites
  • Provision the SKS Cluster
  • Deploy jambonz
  • Cleanup
  • Resources
Kubernetes

Exoscale (SKS)

Deploy jambonz on Exoscale Scalable Kubernetes Service
Was this page helpful?
Edit this page
Previous
Built with

Prerequisites

You will need:

  • An Exoscale account at exoscale.com
  • API credentials (key and secret with full permissions)
  • Terraform >= 1.5
  • kubectl installed

Provision the SKS Cluster

The Terraform templates for provisioning an SKS cluster are available here.

  • Clone the Terraform repository to your local machine.
  • Navigate to exoscale/provision-sks-cluster.
  • Export your API credentials:
    $export EXOSCALE_API_KEY="your-api-key"
    $export EXOSCALE_API_SECRET="your-api-secret"
  • Copy terraform.tfvars.example to terraform.tfvars and edit it with your desired settings.
  • Run terraform init && terraform plan && terraform apply to provision the cluster.
  • Configure kubectl: export KUBECONFIG=$(pwd)/kubeconfig && kubectl get nodes

When deploying Traefik (or another ingress controller) with multiple node pools, Exoscale requires a load balancer annotation specifying the instance pool ID. See the Terraform README for details.

Deploy jambonz

Once the cluster is provisioned, deploy jambonz using the Helm chart. Follow the instructions in the Helm chart README to configure and install.

After deployment, complete the Post-Install Steps and generate a license key as described in Software Licensing.

Cleanup

You must delete any Kubernetes LoadBalancer services (which create Exoscale NLBs) before running terraform destroy, or the destroy will fail because the instance pools are locked by the NLBs.

  1. Delete NLBs via the Exoscale CLI:
    $exo compute load-balancer list --zone <zone>
    $exo compute load-balancer delete <NLB_ID> --zone <zone>
  2. Run terraform destroy.

Resources

  • SKS Terraform templates
  • jambonz Helm chart