This repository is a blueprint accelerator solution that supports teams in implementing immutable backups in Azure. It's aim is to give developers a consistent way of creating, configuring and monitoring immutable backups using Azure Backup Vault.
The solution consists of a configurable Terraform module which deploys the following capabilities:
- Backup vault
- Backup policies
- Backup instances for the following resources:
- Blob storage
- Managed disks
- PostgreSQL flexible server
- Integration of diagnostic settings with Azure Monitor
The resources created by the module reside in their own resource group.
See the following key docs for more information:
The repository consists of the following directories:
-
./.github
Contains the GitHub workflows in
yaml
format. -
./.pipelines
Contains the Azure Pipelines in
yaml
format. -
./docs
Stores files and assets related to the documentation.
-
./infrastructure
Stores the infrastructure as code - a set of terraform scripts and modules.
-
./scripts
Contains scripts that are used to create and maintain the environment.
-
./tests
Contains the different types of tests used to verify the solution.
The documentation in markdown format resides in ./docs
. It can also be built and served as a static site using MkDocs.
To build and run the docs locally, install Docker then run the following command from the root of the repository:
docker-compose -f ./docs/docker-compose.yml up
Once the container is running, navigate to http://localhost:8000.
If you want to contribute to the project, raise a PR on GitHub.
We use pre-commit to run analysis and checks on the changes being committed. Take the following steps to ensure the pre-commit hook is installed and working:
-
Install git
- Ensure the git
bin
directory has been added to %PATH%:C:\Program Files\Git\bin
- Ensure the git
-
Install Python
- Ensure the python
bin
directory has been added to %PATH%
- Ensure the python
-
Install pre-commit
- Open a terminal and navigate to the repository root directory
- Install pre-commit with the following command:
pip install pre-commit
- Install pre-commit within the repository with the following command:
pre-commit install
- Run
pre-commit run --all-files
to check pre-commit is working
For full details see this link