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
  • Reusable shell functions for infrastructure automation and developer experience

  • Cloud-Init
  • Based on Solidblocks Shell reusable shell functions for typical Cloud-Init usage scenarios

  • RDS PostgreSQL
  • A containerized PostgreSQL database with an all batteries included backup solution powered by pgBackRest

  • Hetzner
  • A collection of infrastructure components for the Hetzner Cloud

  • Terraform
  • Helpers to bootstrap terraform storage backends

  • Test
  • Assertions and JUnit extensions for infrastructure testing

  • CLI
  • Various tooling for infrastructure provisioning

  • Development
  • Guide for development of Solidblocks

Development

See Development for hints around developing Solidblocks