Giter Club home page Giter Club logo

stash's Introduction

Go Report Card Build Status codecov Docker Pulls Slack Twitter FOSSA Status

Stash

Stash 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 setup and maintain in a dynamic compute environment like Kubernetes. Stash is a Kubernetes operator that uses 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. User may even extend Stash via addons for any custom workload.

Features

Features Availability Scope
Backup & Restore Workload Data โœ“ Deployment, DaemonSet, StatefulSet, ReplicaSet, ReplicationController, OpenShift DeploymentConfig
Backup & Restore Stand-alone Volume (PVC) โœ“ PersistentVolumeClaim, PersistentVolume
Backup & Restore databases โœ“ PostgreSQL, MySQL, MongoDB, Elasticsearch
VolumeSnapshot โœ“ CSI Driver must support VolumeSnapshot and Kubernetes Alpha features must be enabled
Schedule Backup โœ“ Schedule through cron expression
Instant Backup โœ“ Use CLI or create BackupSession manually
Auto Backup โœ“ Using a Template and annotations
Batch Backup โœ“ Backup multiple co-related targets under a single configuration
Pause Scheduled Backup โœ“
Support Multiple Storage Provider โœ“ AWS S3, Minio, Rook, GCS, Azure, OpenStack Swift, Backblaze B2, Rest Server, any PV/PVC
Encryption โœ“ AES-256 in counter mode (CTR) (for Restic driver)
Deduplication (send only diff) โœ“ Uses Content Defined Chunking (CDC) (for Restic driver)
Cleanup old snapshots automatically โœ“ Cleanup according to different retention policies
Prometheus Metrics for Backup & Restore Process โœ“ Official Prometheus Server, CoreOS Prometheus Operator
Prometheus Metrics for Stash Operator โœ“ Official Prometheus Server, CoreOS Prometheus Operator
Support RBAC enabled cluster โœ“
Support PSP enabled cluster โœ“
CLI โœ“ kubectl plugin (for Kubernetes 1.12+)
Extensibility โœ“ Extend using Function and Task
Customizability โœ“ Customize backup / restore process using Function and Task
Hooks โœ“ Execute httpGet, httpPost, tcpSocket and exec hooks before and after of backup or restore process.
Send Notification to Webhook โœ“ Use hooks to send notification to webhooks(i.e. Slack channel)

Supported Versions

Please pick a version of Stash that matches your Kubernetes installation.

Stash Version Docs Kubernetes Version
v0.9.0-rc.6 (uses CRD) User Guide 1.11.x+
0.8.3 (uses CRD) User Guide 1.9.x+
0.7.0 (uses CRD) User Guide 1.8.x
0.6.4 (uses CRD) User Guide 1.7.x
0.4.2 (uses TPR) User Guide 1.5.x - 1.6.x

Installation

To install Stash, please follow the guide here.

Using Stash

Want to learn how to use Stash? Please start here.

Stash API Clients

You can use Stash api clients to programmatically access its objects. Here are the supported clients:

Contribution guidelines

Want to help improve Stash? Please start here.


Stash binaries collects anonymous usage statistics to help us learn how the software is being used and how we can improve it. To disable stats collection, run the operator with the flag --enable-analytics=false.


Acknowledgement

Support

We use Slack for public discussions. To chit chat with us or the rest of the community, join us in the AppsCode Slack team channel #stash. To sign up, use our Slack inviter.

If you have found a bug with Stash or want to request for new features, please file an issue.

License

FOSSA Status

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.