Skip to content

Securely store Cloudways application backups on AWS or GCP cloud storage.

License

Notifications You must be signed in to change notification settings

elishaJ/cw_custom_offsite_backups

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Masterhead

Custom Offsite Backups on Cloudways

Welcome to the Cloudways Custom Offsite Backups repository! This repository focuses on enhancing data security for Cloudways accounts by offering custom offsite backup solutions tailored for AWS and Google Cloud.

Folders

aws: The "AWS" folder contains Terraform code designed to set up remote Cloudways backups on AWS S3 buckets. This allows for seamless integration with Amazon Web Services for secure offsite storage of your Cloudways backups.

gcp: In the "GCP" folder, you'll find resources for setting up Cloudways backups on Google Cloud Platform (GCP) using Google Storage buckets. This enables you to leverage the robust infrastructure of Google Cloud for storing your backups securely offsite.

scripts: The "Scripts" folder houses templates for backup scripts for both AWS and Google Cloud. These scripts provide additional flexibility and customization options for managing your Cloudways backups according to your specific requirements.

Roadmap

  • Custom terraform provisioner for Cloudways server provisioning.
  • Remote backups on Google Cloud buckets.
  • Remote backups on AWS S3 buckets.
  • Cloudways input parameters verification

Layout

├── aws
│   ├── .auth
│   │   └── aws_credentials
│   └── modules
│       ├── createBackupScript
│       ├── createBucket
│       ├── createServer
│       └── createServiceAccount
│   ├── main.tf
│   ├── new_server_id.txt
│   ├── outputs.tf
│   ├── providers.tf
│   ├── remoteStateBucketAccess.json
│   └── variables.tf
├── gcp
│   ├── .auth
│   │   └── credentials.json
│   └── modules
│       ├── createBackupScript
│       ├── createBucket
│       ├── createServer
│       └── createServiceAccount
│   ├── main.tf
│   ├── new_server_id.txt
│   ├── outputs.tf
│   ├── providers.tf
│   └── variables.tf
├── scripts
|   ├── aws_backup_script.sh
│   └── gcp_backup_script.sh
├── .gitignore
├── LICENSE
└── README.md

A brief description of the layout:

  • .auth Folder containing Google Cloud and AWS authentication credentials.
  • createBackupScript Module to create AWS and GCP backup scripts from templates available in scripts.
  • createBucket Module to create AWS/GCP buckets to store Cloudways application backups.
  • createServer Module to launch a Cloudways server.
  • createServiceAccount Module for creating remote provider service accounts to be used by Cloudways server backup cron.
  • main.tf Main Terraform configuration file
  • new_server_id.txt Text file containing the ID of the new Cloudways server.
  • outputs.tf Terraform outputs configuration file.
  • providers.tf Terraform providers configuration file.
  • variables.tf Terraform variables configuration file.
  • scripts folder containing backup script templates.
  • aws_backup_script.sh Shell script for AWS backup operations.
  • gcp_backup_script.sh Shell script for GCP backup operations.
  • .gitignore for excluding specific files and directories.
  • LICENSE File containing the license information for the repository.
  • README.md Project readme file.

Built with

Terraform Logo Bash Google Cloud Storage AWS S3 Storage

Skills

  • Infrastructure as Code
  • Bash scripting

Badges

MIT License

Feedback

If you have any feedback, please reach out to me at [email protected]

About

Securely store Cloudways application backups on AWS or GCP cloud storage.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published