Helm Chart

This document describes how to install Kubectyl in your Kubernetes cluster using Helm.

WARNING This helm chart is forced to run strictly on HTTPS to get the best experience. To install it, you will need 2 subdomains, such as panel.example.com and kuber.example.com.

INFO

It is recommended that subdomains use Cloudflare proxy to get the best security.

Prerequisites

  • Kubernetes 1.19+

  • Helm 3.2.0+

  • Git.

Installation

To install the Helm chart, follow the steps below:

Step 1: Add Helm Repository

Add the Helm repository to your local Helm setup by running the following command:

helm repo add kubectyl https://charts.kubectyl.org

Step 2: Update Helm Repositories

Update your local Helm repositories by running the following command:

helm repo update

Step 3: Create values.yaml

Create a values.yaml file to provide custom configuration values for your deployment:

ingress:
  # The Ingress class for routing external traffic to services
  class: nginx
  # The hostname for the Panel application
  panel: panel.example.com
  # The hostname for the Kuber application
  kuber: kuber.example.com
  # The issuer to use for obtaining TLS certificates
  clusterIssuer: letsencrypt-prod
panel:
  # The image for the Panel application
  image: ghcr.io/kubectyl/panel:v0.1.0-beta
  # The storage class to use for Panel's persistent volume
  # To use default K8s storage class set this value to ""
  storageClass: ""
  # The email address for Letsencrypt
  # Used for Panel only as a reference to enable cert-manager
  email: [email protected]
kuber:
  # The image for the Kuber application
  image: ghcr.io/kubectyl/kuber:v1.0.0-alpha.1
mariadb:
  global:
    storageClass: ""
  # Stopping mariadb bug
  volumePermissions:
    enabled: true
  image:
    debug: true
  auth:
    # The MariaDB database name
    database: panel
    # The MariaDB username
    username: kubectyl
    # The MariaDB password for the user
    password: SecretPassword
    # The MariaDB root password
    rootPassword: SuperSecretPassword
redis:
  global:
    # The global storage class for Redis pods
    storageClass: ""

Step 4: Install the Helm Chart

Install the Helm chart by running the following command:

helm install kubectyl kubectyl/kubectyl --values values.yaml --namespace kubectyl --create-namespace

This command will install the "kubectyl" chart using the values defined in values.yaml. You can modify the release name "kubectyl" as desired.

Step 5: Add The First User

You'll then need to create an administrative user so that you can log into the panel. To do so, run the command below. At this time passwords must meet the following requirements: 8 characters, mixed case, at least one number.

php artisan p:user:make

Upgrading the Helm Chart

To upgrade the Helm chart to a new version, follow the steps below:

Step 1: Update values.yaml

If there are any configuration changes required for the new version of the chart, update the values.yaml file with the necessary modifications. You can use the same values.yaml file that you created during the installation process.

Step 2: Upgrade the Helm Release

Run the following command to upgrade the Helm release:

helm upgrade kubectyl kubectyl/kubectyl --values values.yaml --namespace=kubectyl

This command will upgrade the "kubectyl" release to the new version specified in the updated values.yaml file.

Step 3: Verify the Upgrade

To verify that the upgrade was successful, you can check the release status by running:

helm status kubectyl --namespace=kubectyl

Ensure that the release is in the "DEPLOYED" state, indicating a successful upgrade.

Congratulations! You have successfully upgraded the Helm chart to the new version.

Uninstalling the Helm Chart

To uninstall the Helm chart and remove all associated resources, follow the steps below:

Step 1: Uninstall the Helm Release

Run the following command to uninstall the Helm release:

helm uninstall kubectyl --namespace=kubectyl

This command will remove the "kubectyl" release and delete all resources created by the chart.

Step 2: Verify

To verify that the uninstallation was successful, you can check the release status by running:

helm status kubectyl --namespace=kubectyl

Ensure that the release is not found, indicating a successful uninstallation.

Configuration

The following table lists the configurable parameters of this chart and their default values.

ParameterDescriptionDefault

mariadb.auth.rootPassword

Password for the root user. Ignored if existing secret is provided.

""

mariadb.auth.password

Password for the new user. Ignored if existing secret is provided

""

Last updated