Solidblocks
Solidblocks is a library of reusable components for infrastructure operation, automation and developer experience. It consists of several components, each covering a different infrastructure aspect.
Design Goals
- Easy Reuse Each component should easily be embeddable into any setup without requiring any specific project setup or structure
- Tested Components should be tested, in particular covering potential failure cases
- Resilience Components should be immune against temporary outages, especially in regard to networking and storage
- Logging Components should give helpful feedback for during normal operation and especially when errors occur
Components
- Shell
- Cloud-Init
- RDS PostgreSQL
- Hetzner
- Terraform
- Test
- CLI
- Development
Reusable shell functions for infrastructure automation and developer experience
Based on Solidblocks Shell reusable shell functions for typical Cloud-Init usage scenarios
A containerized PostgreSQL database with an all batteries included backup solution powered by pgBackRest
A collection of infrastructure components for the Hetzner Cloud
Helpers to bootstrap terraform storage backends
Assertions and JUnit extensions for infrastructure testing
Various tooling for infrastructure provisioning
Guide for development of Solidblocks
Development
See Development for hints around developing Solidblocks