Kuttle is a self-hosted developer portal designed to simplify the management of isolated environments in Kubernetes. With Kuttle, you can create, manage, and scale development, testing, and production environments with ease.
- Define environments using a powerful CRD (Custom Resource Definition).
- Automatically deploy services, datastores, and configurations into isolated namespaces.
- Access environments via custom domains and manage them using a CLI or Helm.
- Streamline your workflows with full control over resources and automation.
- Full Isolation: Every environment runs in its own namespace.
- Scalability: Seamlessly manage multiple environments.
- Customizable: Flexible deployment options to suit any workflow.
- Self-hosted: Complete control over your infrastructure.
-
Add the Kuttle Helm repository:
helm repo add ktl https://ktlai-install.s3.us-west-2.amazonaws.com/helm-charts/ helm repo update
-
Install Kuttle with default settings (latest version):
helm install ktl ktl/ktl --namespace ktl --create-namespace
-
Install Kuttle with a specific version:
helm install ktl ktl/ktl --namespace ktl --create-namespace --version 1.0.1
-
Customize installation: To customize your installation, provide additional parameters during installation. For example:
helm install ktl ktl/ktl --namespace ktl --create-namespace \ --set operator.replicas=2 \ --set ingress.host=custom.yourdomain.com
-
Update the Helm repository:
helm repo update
-
Upgrade Kuttle to the latest version:
helm upgrade ktl ktl/ktl --namespace ktl
-
Upgrade Kuttle to a specific version:
helm upgrade ktl ktl/ktl --namespace ktl --version 1.0.1
Parameter | Default | Description |
---|---|---|
namespace |
ktl |
Namespace for Kuttle resources |
operator.image |
kuttleio/ktl:v1.0.0 |
Image for the Kuttle operator |
operator.replicas |
1 |
Number of replicas |
ingress.host |
app.ktl.ai |
Custom domain for access |
license.token |
FREE |
License token |
To customize your installation:
- Modify the
values.yaml
file directly, or - Pass parameters via the
--set
flag during installation.
Example:
helm install ktl ktl/ktl --namespace ktl --create-namespace \
--set ingress.host=custom.yourdomain.com \
--set operator.replicas=2
By default, the standard uninstallation keeps your CRDs and data safe, allowing you to reinstall or upgrade without data loss.
To uninstall Kuttle and remove all resources created by Helm:
helm uninstall ktl --namespace ktl
Note:
- The Custom Resource Definitions (CRDs) and any resources created using them (e.g.,
Env
objects) will remain in the cluster. - This ensures that your data is preserved even if you uninstall Kuttle.
If you want to completely remove Kuttle, including all CRDs and their resources, follow these steps. Be cautious: this action is irreversible.
-
Uninstall Helm release:
helm uninstall ktl --namespace ktl
-
Delete all CRD resources:
kubectl delete env --all --namespace ktl
-
Delete the CRD itself:
kubectl delete crd envs.ktl.ai
Warning:
- This will permanently delete all environments and related data. Ensure you have backups or exported data before proceeding.