---
title: "Kubernetes"
description: "How to deploy a Newt Site on Kubernetes"
---

This guide walks you through setting up Newt on Kubernetes using Helm.

This guide assumes you already are familiar with Kubernetes concepts and you fulfill the following Global prerequisites:

## Global Prerequisites

- Kubernetes Cluster (v1.28.15+)
- Access to the Kubernetes Cluster
- Helm (v3.0+) installed, see <Link href="https://helm.sh/docs/intro/install/">Helm install docs</Link>

## Helm Installation

All Fossorial Helm charts are available on Artifact Hub. See <Link href="https://artifacthub.io/packages/search?org=fosrl">Fossorial Charts</Link>.

<Steps>
  <Step title="Add Fossorial Helm repo">
    ```bash
    helm repo add fossorial https://charts.fossorial.io
    helm repo update fossorial
    helm search repo fossorial
    ```
  </Step>
  <Step title="Prepare Installation files">

	Prepare your Newt credentials:
    ```env title="newt-cred.env"
	PANGOLIN_ENDPOINT=<your-endpoint>
	NEWT_ID=<your-id>
	NEWT_SECRET=<your-secret>
	```

    Prepare a values file with your desired configuration.

	<Tip>See <Link href="https://github.com/fosrl/helm-charts/tree/main/charts/newt">Newt chart values configuration options</Link>.</Tip>

    ```yaml title="values-newt.yaml"
    newtInstances:
      - name: main
        enabled: true
        auth:
          existingSecretName: newt-cred
          keys:
            endpointKey: PANGOLIN_ENDPOINT
            idKey: NEWT_ID
            secretKey: NEWT_SECRET
    ```
	</Step>
	<Step title="Newt Installation">

    Create a Kubernetes Secret from the env file created earlier:
	```bash
kubectl create secret generic newt-cred -n newt --from-env-file=newt-cred.env
	```

	Install Newt with Helm:
    ```bash
    helm install my-newt fossorial/newt \
      -n newt --create-namespace \
      -f values-newt.yaml
    ```

	Change the release name (`my-newt`), namespace (`newt`), and values filename as needed.
  </Step>
  <Step title="Upgrade or rollback">
    ```bash
	# Update repo to get latest charts
	helm repo update fossorial
	# Upgrade Newt (after editing values)
    helm upgrade my-newt fossorial/newt -n newt -f values-newt.yaml
    ```
	```bash
	# Roll back to a previous revision
    helm rollback my-newt 1 -n newt
    ```
  </Step>
</Steps>

## Customizing Your Values

All configuration options are documented in the respective repositories:

- <Link href="https://github.com/fosrl/helm-charts/tree/main/charts/newt">Newt Helm chart values</Link>

## References

 - <Link href="https://github.com/fosrl/helm-charts">All Fossorial Helm Charts repo</Link>
 - <Link href="https://github.com/fosrl/kubernetes">All Fossorial Kubernetes resources</Link>
 - <Link href="https://github.com/fosrl/pangolin-kube-controller">Pangolin Kubernetes Controller</Link>
 - <Link href="https://helm.sh/docs/">Helm documentation</Link>
