Skip to content

Commit

Permalink
write kubestash setup doc
Browse files Browse the repository at this point in the history
Signed-off-by: Anisur Rahman <[email protected]>
  • Loading branch information
anisurrahman75 committed Feb 27, 2024
1 parent b5758a2 commit ea9378a
Show file tree
Hide file tree
Showing 6 changed files with 181 additions and 189 deletions.
22 changes: 11 additions & 11 deletions docs/setup/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Setup | Stash
description: Setup guides for Stash by AppsCode
title: Setup | KubeStash
description: Setup guides for KubeStash by AppsCode
menu:
docs_{{ .version }}:
identifier: setup-readme
Expand All @@ -18,19 +18,19 @@ aliases:
# Setup

<div style="text-align: center;">
<a class="button is-info is-medium is-active has-text-weight-normal" href="/docs/setup/install/stash/index.md" style="background:#FC6011; width: 18rem;">Install Stash</a>
<a class="button is-info is-medium is-active has-text-weight-normal" href="/docs/setup/install/kubestash/index.md" style="background:#FC6011; width: 18rem;">Install KubeStash</a>
</div>
<br>

The setup section contains instructions for installing the Stash and its various components in Kubernetes. This section has been divided into the following sub-sections:
The setup section contains instructions for installing the KubeStash and its various components in Kubernetes. This section has been divided into the following sub-sections:

- **Install Stash:** Installation instructions for Stash and its various components.
- [Stash operator](/docs/setup/install/stash/index.md): Installation instructions for Stash operator.
- [Stash kubectl Plugin](/docs/setup/install/kubectl-plugin/index.md): Installation instructions for Stash `kubectl` plugin.
- **Install KubeStash:** Installation instructions for KubeStash and its various components.
- [KubeStash operator](/docs/setup/install/kubestash/index.md): Installation instructions for KubeStash operator.
- [KubeStash kubectl Plugin](/docs/setup/install/kubectl-plugin/index.md): Installation instructions for kubeStash `kubectl` plugin.
- [Troubleshooting](/docs/setup/install/troubleshooting/index.md): Troubleshooting guide for various installation problems.

- **Uninstall Stash:** Uninstallation instructions for Stash and its various components.
- [Stash operator](/docs/setup/uninstall/stash/index.md): Uninstallation instructions for Stash operator.
- [Stash kubectl Plugin](/docs/setup/uninstall/kubectl-plugin/index.md): Uninstallation instructions for Stash `kubectl` plugin.
- **Uninstall KubeStash:** Uninstallation instructions for KubeStash and its various components.
- [KubeStash operator](/docs/setup/uninstall/kubestash/index.md): Uninstallation instructions for KubeStash operator.
- [KubeStash kubectl Plugin](/docs/setup/uninstall/kubectl-plugin/index.md): Uninstallation instructions for KubeStash `kubectl` plugin.

- [Upgrading Stash](/docs/setup/upgrade/index.md): Instruction for updating Stash license and upgrading between various Stash versions.
- [Upgrading KubeStash](/docs/setup/upgrade/index.md): Instruction for updating KubeStash license and upgrading between various KubeStash versions.
2 changes: 1 addition & 1 deletion docs/setup/_index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Setup | Stash
title: Setup | KubeStash
menu:
docs_{{ .version }}:
identifier: setup
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
169 changes: 169 additions & 0 deletions docs/setup/install/kubestash/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
---
title: Install KubeStash
description: Installation guide for KubeStash
menu:
docs_{{ .version }}:
identifier: install-kubestash-enterprise
name: KubeStash
parent: installation-guide
weight: 20
product_name: kubestash
menu_name: docs_{{ .version }}
section_menu_id: setup
---

# Install KubeStash

If you are willing to try KubeStash, you can grab a **30 days trial** license from [here](https://license-issuer.appscode.com/?p=kubestash).


### Get a Trial License


In this section, we are going to show you how you can get a **30 days trial** license for KubeStash. You can get a license for your Kubernetes cluster by going through the following steps:


- At first, go to [AppsCode License Server](https://license-issuer.appscode.com/?p=stash-enterprise) 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 `kubestash` namespace).
- Provide your name and email address. **You must provide your work email address**.
- Then, select `KubeStash License` in the product field.
- Now, provide your cluster ID. You can get your cluster ID easily by running the following command:


```bash
kubectl get ns kubestash -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.


<figure align="center">
<img alt="KubeStash Backend Overview" src="images/license_form.png">
<figcaption align="center">Fig: KubeStash License Form</figcaption>
</figure>


You can create licenses for as many clusters as you want. You can upgrade your license any time without re-installing KubeStash by following the upgrading guide from [here](/docs/setup/upgrade/index.md#upgrading-license).


### Get an Enterprise License

If you are interested in purchasing Enterprise license, please contact us via [email protected] for further discussion. You can also set up a meeting via our [calendly link](https://calendly.com/appscode/intro).

If you are willing to purchasing Enterprise license but need more time to test in your dev cluster, feel free to contact [email protected]. We will be happy to extend your trial period.

### Install

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

<ul class="nav nav-tabs" id="installerTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="helm3-tab" data-toggle="tab" href="#helm3" role="tab" aria-controls="helm3" aria-selected="true">Helm 3 (Recommended)</a>
</li>
<li class="nav-item">
<a class="nav-link" id="script-tab" data-toggle="tab" href="#script" role="tab" aria-controls="script" aria-selected="false">YAML</a>
</li>
</ul>
<div class="tab-content" id="installerTabContent">
<div class="tab-pane fade show active" id="helm3" role="tabpanel" aria-labelledby="helm3-tab">

### Using Helm 3

KubeStash can be installed via [Helm](https://helm.sh/) using the [chart](https://github.com/kubestash/installer/tree/master/charts/kubestash) from [AppsCode Charts Repository](https://github.com/appscode/charts). To install the chart with the release name `kubestash`:

```bash
$ helm install kubestash oci://ghcr.io/appscode-charts/kubestash \
--version {{< param "info.version" >}} \
--namespace kubestash --create-namespace \
--set-file global.license=/path/to/the/license.txt \
--wait --burst-limit=10000 --debug
```

To see the detailed configuration options, visit [here](https://github.com/kubestash/installer/tree/master/charts/kubestash).

</div>
<div class="tab-pane fade" id="script" role="tabpanel" aria-labelledby="script-tab">

### Using YAML

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

```bash
helm template kubestash oci://ghcr.io/appscode-charts/kubestash \
--version {{< param "info.version" >}} \
--namespace kubestash --create-namespace \
--set-file global.license=/path/to/the/license.txt | kubectl apply -f -
```

To see the detailed configuration options, visit [here](https://github.com/kubestash/installer/tree/master/charts/kubestash).

</div>
</div>

### Verify installation

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

```bash
$ kubectl get pods --all-namespaces -l app.kubernetes.io/name=kubestash-operator --watch
NAMESPACE NAME READY STATUS RESTARTS AGE
kubestash kubestash-kubestash-operator-fcd8bf7c6-psjs6 2/2 Running 0 5m49s
```

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

Now, to confirm CRD groups have been registered by the operator, run the following command:
```bash
$ kubectl get crd -l app.kubernetes.io/name=kubestash
NAME CREATED AT
addons.addons.kubestash.com 2023-12-07T06:27:41Z
backupbatches.core.kubestash.com 2023-12-07T06:27:41Z
backupblueprints.core.kubestash.com 2023-12-07T06:27:41Z
backupconfigurations.core.kubestash.com 2023-12-07T06:40:37Z
backupsessions.core.kubestash.com 2023-12-07T06:40:37Z
backupstorages.storage.kubestash.com 2023-12-07T06:40:37Z
functions.addons.kubestash.com 2023-12-07T06:27:41Z
hooktemplates.core.kubestash.com 2023-12-07T06:27:42Z
repositories.storage.kubestash.com 2023-12-07T06:40:37Z
restoresessions.core.kubestash.com 2023-12-07T06:27:42Z
retentionpolicies.storage.kubestash.com 2023-12-07T06:27:42Z
snapshots.storage.kubestash.com 2023-12-07T06:40:37Z
```

### Verify Addons

KubeStash automatically installs the necessary Addons for workload, pvc backup & restore. Verify that the Addons have been installed using the following command.

```bash
$ kubectl get addons.addons.kubestash.com
NAME AGE
kubedump-addon 7m1s
pvc-addon 7m1s
workload-addon 7m1
```

As you can see from the above output that KubeStash has created `Addon` objects.

### Verify Functions

KubeStash also automatically installs the necessary functions for the corresponding installed addons. Verify that the functions have been installed using the following command.

```bash
$ kubectl get functions.addons.kubestash.com
NAME AGE
kubedump-backup 7m25s
pvc-backup 7m25s
pvc-restore 7m25s
volumesnapshot-backup 7m25s
volumesnapshot-restore 7m25s
workload-backup 7m25s
workload-restore 7m25s
```

As you can see from the above output that KubeStash has created `Functions` objects.

Now, you are ready to [take your first backup](/docs/guides/README.md) using KubeStash.
Binary file not shown.
177 changes: 0 additions & 177 deletions docs/setup/install/stash/index.md

This file was deleted.

0 comments on commit ea9378a

Please sign in to comment.