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.
- Requirements
- Installation
- How It Works
- Configurations
- Custom Configurations
- Contributing
- Maintainers
- License
- DigitalOcean Account
- Room for 5 Droplets
- Funds for 4 Droplets ($20 per month cheapest)
- Read & Write DigitalOcean API Key
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
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
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
Custom Configurations will come soon with the above information in mind.
Your contributions are always welcome! Please have a look at the contribution guidelines first. 🎉
The following must be included before the first release:
- Front-End Management Component
- Better Backend for Routing and Handling PITR (Point In Time Recovery)
Sylvester Duda | Gemify |
GNU General Public License v3.0 2021 - Sylvester & Gemify. Please have a look at the LICENSE.md for more details.