Skip to content

slyduda/failguard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Failguard

PostgreSQL Fail Protection
A package that provisions and manages private PostgreSQL clusters for various cloud providers

Building free and open source to empower all. Built with ❤︎ by Sylvester Duda, Gemify LLC and contributors.

Introduction

Failguard is built to automatically provision and manage private PostgreSQL clusters in Digital Ocean (more coming soon). This project allows others to spend as little time doing configuration, to spend more time ensuring that infrastructure meets best practices for handling production and volumes that could cause failures.

Table of Contents

Requirements

  • DigitalOcean Account
  • Room for 5 Droplets
  • Funds for 4 Droplets ($20 per month cheapest)
  • Read & Write DigitalOcean API Key

(Back to top)

Installation

Installation begins on a disposable Ubuntu server. Simple clone this repository and run with the following commands:

sudo git clone https://github.com/slyduda/failguard.git 
sudo chmod +x ./failguard/src/failguard.sh
bash failguard/src/failguard.sh

(Back to top)

How it works

Four servers are deployed from the disposable server that acts as a build server for the source code of the main component behind Failguard, pgbackrest. The server types are as follows:

Droplet Name Host Name Description
db-[name] pg-primary Primary DB instance that interacts with your apps.
db-[name]-[id] pg-standby-[id] Standby DB in case your main goes offline.
db-backup pg-backup Dedicated server for storing encrypted backups.
db-manager pg-manager Dedicated DB management server with UI.

At a later point in time, this project will support instancing multiple standby servers along with, using additional clusters on the same backup server

(Back to top)

Configurations

Currently, the only configuration that is enabled is the default with the following:

  • Replication Streaming Server
  • Dedicated Backup Server
  • Encrypted Backups
  • Dedicated Management Server
  • Management Console UI (Coming Soon)

Later this package aims to allow:

  • Single Server Local Backups
  • Async Archiving
  • Hot Standby

(Back to top)

Custom Configurations

Custom Configurations will come soon with the above information in mind.

(Back to top)

Contributing

Your contributions are always welcome! Please have a look at the contribution guidelines first. 🎉

(Back to top)

Goals

The following must be included before the first release:

  • Front-End Management Component
  • Better Backend for Routing and Handling PITR (Point In Time Recovery)

(Back to top)

Support

(Back to top)

Maintainer(s)

Sylvester Duda Gemify
Sylvester Duda Gemify

(Back to top)

License

GNU General Public License v3.0 2021 - Sylvester & Gemify. Please have a look at the LICENSE.md for more details.

(Back to top)

About

shell script for provisioning database clusters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages