Skip to content
A standalone system that can perform backup and restore functions for a wide variety of pluggable data systems
Go JavaScript HTML CSS Shell Perl Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Tune StaleBot a little bit Aug 2, 2019
agent implement ssh client timeout in legacy fabric (#585) Aug 21, 2019
bin
ci release v8.4.0 Aug 9, 2019
client/v2/shield Add missing client/v2/shield implementation files Aug 23, 2019
cmd Fix typo in SHIELD CLI Aug 23, 2019
core More Defensive Programming in API DB calls Aug 23, 2019
db Check for nil on db.Get* results Aug 23, 2019
dev Sanitize (and Format!) User Input Feb 19, 2019
docker Dockerize and demo-ify May 14, 2019
docs Update docs / Docker Image configuration Aug 16, 2019
init Update docs / Docker Image configuration Aug 16, 2019
lib Handle Github profiles without display names Apr 25, 2018
plugin Update Plugin Authorship Aug 23, 2019
route Fix Authentication Providers Nov 28, 2018
t Fix t/plugins tests for Plugin Authorship Aug 23, 2019
timespec Rename imports to reflect GH org change Jun 11, 2019
tui Replace bits of tui with go-table Nov 27, 2018
util Fix Authentication Providers Nov 28, 2018
vendor implement ssh client timeout in legacy fabric (#585) Aug 21, 2019
web Separate Hidden Agents from Visible Agents Aug 23, 2019
.dockerignore Dockerize SHIELD Feb 5, 2019
.gitignore ignore etcd binary (#583) Aug 20, 2019
.travis.yml Run Full Tests in Travis CI Oct 11, 2017
CODE_OF_CONDUCT.md Updating CODE_OF_CONDUCT.md Jan 15, 2019
Dockerfile Update reference to shieldproject GitHub org Jul 16, 2019
LICENSE It's 2018! Feb 15, 2018
Makefile Enable the race-detector in pipelines Aug 23, 2019
README.md Re-work Documentation May 23, 2019
ROADMAP.md SHIELD v8 Initial Rebase Sep 18, 2017
demo.yml Demo Import file for docker-compose demo May 23, 2019
docker-compose.yml Remove debug output from demo docker-compose May 23, 2019
overview.gif
plugins Etcd Target Plugin Aug 7, 2019

README.md

Build Status

S.H.I.E.L.D. Data Protection

Questions? Join us in Slack!

SHIELD Architectural Diagram

What is SHIELD?

SHIELD is a data protection solution designed to make it easier for operations to protect their critical infrastructural data. It provides primitives for scheduling automatic backups of key systems, including PostgreSQL, MySQL, Consul, Redis and MongoDB, as well as a means for restoring backups in the event of an outage. Backups can be stored in a variety of cloud providers, including S3, Scality, Microsoft Azure Blobstore, and more.

Getting Started

The easiest way to get up and running with SHIELD is to deploy it via [BOSH][bosh], using the [SHIELD Bosh Release][shield-bosh].

Backup (Target) Plugins

fs - Local Filesystem Plugin

The fs plugin lets you back up arbitrary filesystem directories, optionally filtering the set of protected files via an includes / excludes system.

More information can be found here.

postgres - PostgreSQL Backup Plugin

Back up your PostgreSQL relational databases! This plugin lets you back up all databases (assuming you authenticate with an appropriately credentialed pg account), or pick and choose what to backup. Under the hood, this leverages pgdump, a proven solution in the PostgreSQL world.

More information can be found here.

mysql - MySQL Backup Plugin

Back up your MySQL relational databases! This plugin lets you back up all databases (assuming you authenticate with an appropriately credentialed mysql account), or pick and choose what to backup. This plugin leverages mysqldump, which generates plain-text SQL backups, which can often be replayed across MySQL versions.

More information can be found here.

xtrabackup - MySQL XtraBackup Plugin

This plugin offers another way of protecting MySQL, using the xtrabackup utility.

More information can be found here.

cassandra - Cassandra Backup Plugin

Back up Cassandra!

More information can be found here.

consul - Consul Backup Plugin

Back up the data stored in your Consul key-value store.

More information can be found here.

mongo - MongoDB Backup Plugin

Back up your MongoDB NoSQL database(s)!

More information can be found here.

Storage Plugins

s3 - Amazon S3 Storage Plugin

Store your encrypted backup archives in Amazon's Simple Scalable Storage (S3) cloud. All you need is a bucket, a key, and a secret, and you get highly-available offsite archive storage.

More information can be found here.

webdav - WebDAV Plugin

If you can't make use of external, 3rd-party cloud storage for your backups, but do have access to an HTTP/WebDAV server, you can use this storage plugin to keep your archives there.

Note: often, use of the webdav plugin will compromise your disaster survivability. Make sure that your WebDAV store is sufficiently resilient (HA, geographically dispersed, replicated, etc.), and that you aren't using the same SHIELD core to back up your WebDAV store.

More information can be found here.

azure - Microsoft Azure Storage Plugin

Store your encrypted backup archives in Microsoft's Azure Blobstore!

More information can be found here.

google - Google Cloud Storage Plugin

Store your encrypted backup archives in Google's Cloud!

More information can be found here.

swift - OpenStack Swift Storage Plugin

Store your encrypted backup archives in your local OpenStack Swift blob store!

More information can be found here.

You can’t perform that action at this time.