Skip to content

Commit

Permalink
Add kubestash docs
Browse files Browse the repository at this point in the history
Signed-off-by: Md. Ishtiaq Islam <[email protected]>
  • Loading branch information
ishtiaqhimel committed Dec 19, 2023
1 parent 4a02460 commit c19ff8d
Show file tree
Hide file tree
Showing 31 changed files with 1,691 additions and 1,856 deletions.
10 changes: 5 additions & 5 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Contributing | Stash
title: Contributing | KubeStash
description: Contributing
menu:
docs_{{ .version }}:
identifier: contributing-stash
identifier: contributing-kubestash
name: Contributing
parent: welcome
weight: 1000
Expand All @@ -17,16 +17,16 @@ aliases:

# Contribution Guidelines

Want to contribute to Stash?
Want to contribute to KubeStash?

## Getting Help

To speak with us, please leave a message on [our website](https://appscode.com/contact/). To receive product announcements, follow us on [Twitter](https://twitter.com/KubeStash).

## Bugs/Feature request

If you have found a bug with Stash or want to request for new features, please [file an issue](https://github.com/kubestash/project/issues/new).
If you have found a bug with KubeStash or want to request for new features, please [file an issue](https://github.com/kubestash/project/issues/new).

## Spread the word

If you have written blog post or tutorial on Stash, please share it with us on [Twitter](https://twitter.com/KubeStash).
If you have written blog post or tutorial on KubeStash, please share it with us on [Twitter](https://twitter.com/KubeStash).
67 changes: 32 additions & 35 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Welcome | Stash
description: Welcome to Stash
title: Welcome | KubeStash
description: Welcome to KubeStash
menu:
docs_{{ .version }}:
identifier: readme-stash
identifier: readme-kubestash
name: Readme
parent: welcome
weight: -1
Expand All @@ -16,65 +16,62 @@ aliases:
- /docs/{{ .version }}/README/
---

# Stash
# KubeStash

[Stash](https://stash.run) by AppsCode is a cloud native data backup and recovery solution for Kubernetes workloads. If you are running production workloads in Kubernetes, you might want to take backup of your disks, databases etc. Traditional tools are too complex to set up and maintain in a dynamic compute environment like Kubernetes. Stash is a Kubernetes operator that uses [restic](https://github.com/restic/restic) or Kubernetes CSI Driver VolumeSnapshotter functionality to address these issues. Using Stash, you can backup Kubernetes volumes mounted in workloads, stand-alone volumes and databases. Users may even extend Stash via [addons](https://stash.run/docs/{{< param "info.version" >}}/guides/addons/overview/) for any custom workload.
[KubeStash](https://kubestash.com) by AppsCode is a cloud native data backup and recovery solution for Kubernetes workloads. If you are running production workloads in Kubernetes, you might want to take backup of your disks, databases etc. Traditional tools are too complex to set up and maintain in a dynamic compute environment like Kubernetes. KubeStash is a Kubernetes operator that uses [restic](https://github.com/restic/restic) or Kubernetes CSI Driver VolumeSnapshotter functionality to address these issues. Using KubeStash, you can backup Kubernetes volumes mounted in workloads, stand-alone volumes and databases. Users may even extend KubeStash via [addons](https://kubestash.com/docs/{{< param "info.version" >}}/guides/addons/overview/) for any custom workload.

Here, we are going to give you an overview of Stash documentation structure.
Here, we are going to give you an overview of KubeStash documentation structure.

## [Concepts](/docs/concepts/)

Concept explains some significant aspect of Stash. This is where you can learn about what Stash does and how it does it.
Concept explains some significant aspect of KubeStash. This is where you can learn about what KubeStash does and how it does it.

- [Stash Overview](/docs/concepts/what-is-stash/overview/index.md) Provides an introduction to Stash and gives an overview of the features it provides.
- [Stash Architecture](/docs/concepts/what-is-stash/architecture/index.md) Provides an overview of Stash architecture and it's core components.
- [Stash API](/docs/concepts/crds/repository/index.md) Introduces Stash CRDs.
- [KubeStash Overview](/docs/concepts/what-is-kubestash/overview/index.md) Provides an introduction to KubeStash and gives an overview of the features it provides.
- [KubeStash Architecture](/docs/concepts/what-is-kubestash/architecture/index.md) Provides an overview of KubeStash architecture, and it's core components.
- [KubeStash API](/docs/concepts/crds/backupstorage/index.md) Introduces KubeStash CRDs.

## [Setup](/docs/setup/)

Setup contains instruction for installing, uninstalling, and upgrading Stash.
Setup contains instruction for installing, uninstalling, and upgrading KubeStash.

- **Install Stash:** Provides installation instructions for Stash and its various components.
- [Stash](/docs/setup/install/stash/index.md): Provides installation instructions for Stash.
- [Stash kubectl Plugin](/docs/setup/install/kubectl-plugin/index.md): Provides installation instructions for Stash `kubectl` plugin.
- **Install KubeStash:** Provides installation instructions for KubeStash and its various components.
- [KubeStash](/docs/setup/install/kubestash/index.md): Provides installation instructions for KubeStash.
- [kubeStash kubectl Plugin](/docs/setup/install/kubectl-plugin/index.md): Provides installation instructions for KubeStash `kubectl` plugin.
- [Troubleshooting](/docs/setup/install/troubleshooting/index.md): Provides troubleshooting guide for various installation problems.
- **Uninstall Stash:** Provides uninstallation instructions for Stash and its various components.
- [Stash](/docs/setup/uninstall/stash/index.md): Provides uninstallation instructions for Stash.
- [Stash kubectl Plugin](/docs/setup/uninstall/kubectl-plugin/index.md): Provides uninstallation instructions for Stash `kubectl` plugin.
- [Upgrade Stash](/docs/setup/upgrade/index.md): Provides instruction for updating Stash license and upgrading between various Stash versions.
- **Uninstall KubeStash:** Provides uninstallation instructions for KubeStash and its various components.
- [KubeStash](/docs/setup/uninstall/kubestash/index.md): Provides uninstallation instructions for KubeStash.
- [KubeStash kubectl Plugin](/docs/setup/uninstall/kubectl-plugin/index.md): Provides uninstallation instructions for KubeStash `kubectl` plugin.
- [Upgrade KubeStash](/docs/setup/upgrade/index.md): Provides instruction for updating KubeStash license and upgrading between various KubeStash versions.

## [Guides](/docs/guides/)

Guides show how to perform different operations with Stash.
Guides show how to perform different operations with KubeStash.

- [Supported Backends](/docs/guides/backends/overview/index.md): Describes how to configure different storage for storing backed up data.
- [Workload Volume Backup](/docs/guides/workloads/overview/index.md): Shows how to use Stash to backup and restore volumes of a workload (i.e. `Deployment`, `StatefulSet`, `DaemonSet`, etc).
- [Stand-alone Volume Backup](/docs/guides/volumes/overview/index.md): Shows how to use Stash to backup and restore stand-alone volumes(i.e. `PersistentVolumeClaim`).
- [Batch Backup](/docs/guides/batch-backup/overview/index.md): Shows how to backup multiple co-related components using a single configuration known as `BackupBatch`.
- [Workload Volume Backup](/docs/guides/workloads/overview/index.md): Shows how to use KubeStash to backup and restore volumes of a workload (i.e. `Deployment`, `StatefulSet`, `DaemonSet`, etc).
- [Stand-alone Volume Backup](/docs/guides/volumes/overview/index.md): Shows how to use KubeStash to backup and restore stand-alone volumes(i.e. `PersistentVolumeClaim`).
- [Auto Backup](/docs/guides/auto-backup/overview/index.md): Shows how to configure automatic backup of any stateful workload in your cluster.
- [Volume Snapshot](/docs/guides/volumesnapshot/overview/index.md): Shows how Stash takes snapshot of `PersistentVolumeClaim`s and restore them from snapshot using Kubernetes `VolumeSnapshot` API.
- [Volume Snapshot](/docs/guides/volumesnapshot/overview/index.md): Shows how KubeStash takes snapshot of `PersistentVolumeClaim`s and restore them from snapshot using Kubernetes `VolumeSnapshot` API.

- **Different Use Cases:**
Shows different uses cases of Stash like instant backup, pause backup, cross-namespace backup and restore etc.
Shows different uses cases of KubeStash like instant backup, pause backup, cross-namespace backup and restore etc.

- [Instant Backup](/docs/guides/use-cases/instant-backup/index.md): Shows you how to take an instant backup in Stash.
- [Instant Backup](/docs/guides/use-cases/instant-backup/index.md): Shows you how to take an instant backup in KubeStash.
- [Exclude/Include Files](/docs/guides/use-cases/exclude-include-files/index.md): Shows how to exclude/include subset of files during backup/restore process.
- [Pause Backup](/docs/guides/use-cases/pause-backup/index.md): Shows how to pause a backup temporarily.
- [Clone Data Volumes](/docs/guides/use-cases/clone-pvc/index.md): Shows how to clone data volumes of a workload into a different namespace in a cluster using Stash.
- [Clone Data Volumes](/docs/guides/use-cases/clone-pvc/index.md): Shows how to clone data volumes of a workload into a different namespace in a cluster using KubeStash.
- [File Ownership](/docs/guides/use-cases/ownership/index.md): Explains when and how ownership of the restored files can be changed.
- [Cross-Cluster Backup and Restore](/docs/guides/use-cases/cross-cluster-backup/index.md): Shows how to take backup and restore across clusters using Stash.
- [Customize Backup and Restore](/docs/guides/use-cases/customize-backup-restore/index.md): Shows how to customize backup and restore processes in Stash according to your needs.
- [Cross-Cluster Backup and Restore](/docs/guides/use-cases/cross-cluster-backup/index.md): Shows how to take backup and restore across clusters using KubeStash.
- [Customize Backup and Restore](/docs/guides/use-cases/customize-backup-restore/index.md): Shows how to customize backup and restore processes in KubeStash according to your needs.

- **Managed Backup**
Shows how backup and restore can be managed in some specific scenerios.
- [Dedicated Backup Namespace](/docs/guides/managed-backup/dedicated-backup-namespace/index.md): Shows you how to manage backup and restore from a dedicated namespace for targets of different namespaces using Stash.
- [Dedicated Storage Namespace](/docs/guides/managed-backup/dedicated-storage-namespace/index.md): Shows you how to take backup and restore by keeping the storage resources (Repository and backend Secret) in a dedicated namespace using Stash.
Shows how backup and restore can be managed in some specific scenarios.
- [Dedicated Backup Namespace](/docs/guides/managed-backup/dedicated-backup-namespace/index.md): Shows you how to manage backup and restore from a dedicated namespace for targets of different namespaces using KubeStash.

- [Platforms](/docs/guides/platforms/eks-irsa/index.md): Shows how to use Stash to backup and restore volumes of a Kubernetes workload running in different platforms.
- [Monitoring](/docs/guides/monitoring/overview/index.md): Shows how Prometheus monitoring works with Stash, what metrics Stash exports, and how to enable monitoring.
- [Platforms](/docs/guides/platforms/eks-irsa/index.md): Shows how to use KubeStash to backup and restore volumes of a Kubernetes workload running in different platforms.
- [Hooks](/docs/guides/hooks/overview/index.md): Shows how to execute different actions before/after the backup/restore process.
- [CLI](/docs/guides/cli/kubectl-plugin/index.md): Shows how to manage Stash objects quickly and easily using Stash `kubectl` plugin.
- [CLI](/docs/guides/cli/kubectl-plugin/index.md): Shows how to manage KubeStash objects quickly and easily using KubeStash `kubectl` plugin.
- [Troubleshooting](/docs/guides/troubleshooting/how-to-troubleshoot/index.md): Gives an overview of how you can gather the necessary information to identify the issue that causes the backup/restore failure.
- [Security](/docs/guides/security/rbac/index.md): Describes different built-in cluster security support by Stash.
- [Security](/docs/guides/security/rbac/index.md): Describes different built-in cluster security support by KubeStash.

We're always looking for help improving our documentation, so please don't hesitate to [file an issue](https://github.com/kubestash/project/issues/new) if you see some problem.
4 changes: 2 additions & 2 deletions docs/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Docs | Stash
description: Stash Docs
title: Docs | KubeStash
description: KubeStash Docs
menu:
docs_{{ .version }}:
identifier: welcome
Expand Down
4 changes: 2 additions & 2 deletions docs/acknowledgement.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Acknowledgement | Stash
title: Acknowledgement | KubeStash
description: Acknowledgement
menu:
docs_{{ .version }}:
identifier: acknowledgement-stash
identifier: acknowledgement-kubestash
name: Acknowledgement
parent: welcome
weight: 1010
Expand Down
35 changes: 18 additions & 17 deletions docs/concepts/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Concepts | Stash
title: Concepts | KubeStash
menu:
docs_{{ .version }}:
identifier: concepts-readme
Expand All @@ -16,23 +16,24 @@ aliases:

# Concepts

Concepts help you to learn about the different parts of the Stash and the abstractions it uses.
Concepts help you to learn about the different parts of the KubeStash and the abstractions it uses.

This concept section is divided into the following modules:

- What is Stash?
- [Overview](/docs/concepts/what-is-stash/overview/index.md) provides an introduction to Stash. It also give an overview of the features it provides.
- [Architecture](/docs/concepts/what-is-stash/architecture/index.md) provides a visual representation of Stash architecture. It also provides a brief overview of the components it uses.
## What is KubeStash?
- [Overview](/docs/concepts/what-is-kubestash/overview/index.md) provides an introduction to KubeStash. It also gives an overview of the features it provides.
- [Architecture](/docs/concepts/what-is-kubestash/architecture/index.md) provides a visual representation of KubeStash architecture. It also provides a brief overview of the components it uses.

- Declarative API
- [Repository](/docs/concepts/crds/repository/index.md) introduces the concept of `Repository` crd that holds backend information in a Kubernetes native way.
- [BackupConfiguration](/docs/concepts/crds/backupconfiguration/index.md) introduces the concept of `BackupConfiguration` crd that is used to configure backup for a target resource in a Kubernetes native way.
- [BackupBatch](/docs/concepts/crds/backupbatch/index.md) introduces the concept of `BackupBatch` crd that is used to setup backup of multiple co-related targets under single configuration.
- [BackupSession](/docs/concepts/crds/backupsession/index.md) introduces the concept of `BackupSession` crd that represents a backup run of a target resource for the respective `BackupConfiguration` or `BackupBatch` object.
- [RestoreSession](/docs/concepts/crds/restoresession/index.md) introduces the concept of `RestoreSession` crd that represents a restore run of a target resource.
- [RestoreBatch](/docs/concepts/crds/restorebatch/index.md) introduces the concept of `RestoreBatch` crd that allows restore of multiple targets that were backed up using `BackupBatch` under single configuration.
- [Function](/docs/concepts/crds/function/index.md) introduces the concept of `Function` crd that represents a step of a backup or restore process.
- [Task](/docs/concepts/crds/task/index.md) introduces the concept of `Task` crd which specifies an ordered collection of multiple `Function`s and their parameters that make up a complete backup or restore process.
- [BackupBlueprint](/docs/concepts/crds/backupblueprint/index.md) introduces the concept of `BackupBlueprint` crd that specifies a blueprint for `Repository` and `BackupConfiguration` object which provides an option to share backup configuration across similar targets.
- [AppBinding](/docs/concepts/crds/appbinding/index.md) introduces the concept of `AppBinding` crd which holds the information that are necessary to connect with an application like database.
- [Snapshot](/docs/concepts/crds/snapshot/index.md) introduces the concept of `Snapshot` object that represents backed up snapshots in a Kubernetes native way.
## Declarative API
- [BackupStorage](/docs/concepts/crds/backupstorage/index.md) introduces the concept of `BackupStorage` crd that holds the backend information in a Kubernetes native way where the backed up data of different applications will be stored.
- [Repository](/docs/concepts/crds/repository/index.md) introduces the concept of `Repository` crd that holds information about the targeted application that has been backed up.
- [BackupConfiguration](/docs/concepts/crds/backupconfiguration/index.md) introduces the concept of `BackupConfiguration` crd that is used to configure backup for a target application in a Kubernetes native way.
- [BackupSession](/docs/concepts/crds/backupsession/index.md) introduces the concept of `BackupSession` crd that represents a backup run of a target application for the respective `BackupConfiguration` object.
- [RestoreSession](/docs/concepts/crds/restoresession/index.md) introduces the concept of `RestoreSession` crd that represents a restore run of a target application.
- [HookTemplate](/docs/concepts/crds/hooktemplate/index.md) introduces the concept of `HookTemplate` crd that represents a template for some action that will be executed before or/and after backup/restore process.
- [Addon](/docs/concepts/crds/addon/index.md) introduces the concept of `Addon` crd which represents the backup and restore tasks that can be performed by a particular addon.
- [Function](/docs/concepts/crds/function/index.md) introduces the concept of `Function` crd that represents a step of a backup or restore process.
- [BackupBlueprint](/docs/concepts/crds/backupblueprint/index.md) introduces the concept of `BackupBlueprint` crd that represents a blueprint for `BackupConfiguration` object which provides an option to share backup configuration across similar targets.
- [Snapshot](/docs/concepts/crds/snapshot/index.md) introduces the concept of `Snapshot` crd that represents the state of a backup run to a particular `Repository`.
- [RetentionPolicy](/docs/concepts/crds/retentionpolicy/index.md) introduces the concept of `RetentionPolicy` crd that represents how the old `Snapshots` should be cleaned up.
- [AppBinding](/docs/concepts/crds/appbinding/index.md) introduces the concept of `AppBinding` crd which holds the information that are necessary to connect with an application like database.
Loading

0 comments on commit c19ff8d

Please sign in to comment.