Install Kubeform Community Edition

Kubeform Community edition is available under Apache License, Version 2.0 license and free to use for both commercial and non-commercial purposes.

To use Kubeform Community edition, you can grab 1 year free license from here.

Get a License

In this section, we are going to show you how you can get a 1 year free license for Kubeform Community edition. You can get a license for your Kubernetes cluster by going through the following steps:

  • At first, go to AppsCode License Server and fill up the form. It will ask for your Name, Email, the product you want to install, and your cluster ID (UID of the kube-system namespace).
  • Provide your name and email address. You can provide your personal or work email address.
  • Then, select Kubeform Community Edition in the product field.
  • Now, provide your cluster ID. You can get your cluster ID easily by running the following command:
kubectl get ns kube-system -o=jsonpath='{.metadata.uid}'
  • Then, you have to agree with the terms and conditions. We recommend reading it before checking the box.
  • Now, you can submit the form. After you submit the form, the AppsCode License server will send an email to the provided email address with a link to your license file.
  • Navigate to the provided link and save the license into a file. Here, we save the license to a license.txt file.

Here is a screenshot of the license form.

Kubeform Backend Overview
Fig: Kubeform License Form

You can create licenses for as many clusters as you want. You can upgrade your license any time without re-installing Kubeform by following the upgrading guide from here.

Kubeform licensing process has been designed to work with CI/CD workflow. You can automatically obtain a license from your CI/CD pipeline by following the guide from here.

Install

Kubeform operator can be installed as a Helm chart or simply as Kubernetes manifests.

Using Helm 3

Kubeform can be installed via Helm using the chart from AppsCode Charts Repository. To install the chart with the release name kubeform:

$ helm repo add appscode https://charts.appscode.com/stable/
$ helm repo update
$ helm search repo appscode/kubeform --version v0.3.0
NAME            CHART VERSION         APP VERSION         DESCRIPTION
appscode/kubeform  v0.3.0    v0.3.0  Kubeform by AppsCode - Backup your Kubernetes Volumes

$ helm install kubeform appscode/kubeform           \
  --version v0.3.0          \
  --namespace kube-system                           \
  --set-file license=/path/to/the/license.txt

To see the detailed configuration options, visit here.

Using Helm 2

Kubeform can be installed via Helm using the chart from AppsCode Charts Repository. To install the chart with the release name kubeform:

$ helm repo add appscode https://charts.appscode.com/stable/
$ helm repo update
$ helm search appscode/kubeform --version v0.3.0
NAME            CHART VERSION         APP VERSION         DESCRIPTION
appscode/kubeform  v0.3.0    v0.3.0  Kubeform by AppsCode - Backup your Kubernetes Volumes

$ helm install appscode/kubeform --name kubeform    \
  --version v0.3.0          \
  --namespace kube-system                           \
  --set-file license=/path/to/the/license.txt

To see the detailed configuration options, visit here.

Using YAML

If you prefer to not use Helm, you can generate YAMLs from Kubeform chart and deploy using kubectl. Here we are going to show the prodecure using Helm 3.

$ helm repo add appscode https://charts.appscode.com/stable/
$ helm repo update
$ helm search repo appscode/kubeform --version v0.3.0
NAME            CHART VERSION         APP VERSION         DESCRIPTION
appscode/kubeform  v0.3.0    v0.3.0  Kubeform by AppsCode - Backup your Kubernetes Volumes

$ helm template kubeform appscode/kubeform          \
  --version v0.3.0          \
  --namespace kube-system                           \
  --set-file license=/path/to/the/license.txt       \
  --no-hooks | kubectl apply -f -

To see the detailed configuration options, visit here.

Verify installation

To check if Kubeform operator pods have started, run the following command:

$ kubectl get pods --all-namespaces -l app.kubernetes.io/name=kubeform --watch

NAMESPACE     NAME                        READY  STATUS    RESTARTS   AGE
kube-system   kubeform-859d6bdb56-m9br5   1/1    Running   2          5s

Once the operator pod is running, you can cancel the above command by typing Ctrl+C.