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 automation aspects.

Design Goals

  • Easy Reuse Each component should easily be embeddable into any setup without requiring any specific project setup or structure
  • Composable Components be combinable with each other using defined interfaces reducing the need for configuration
  • 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

Test

Assertions and JUnit extensions for infrastructure testing

    Web S3 Docker

    Static Webhosting, S3 and Docker repository for Hetzner

      RDS PostgreSQL

      RDS PostgreSQL Hetzner Terraform module

        Docker

        Containerized PostgreSQL database with all batteries included backup solution powered by pgBackRest

          Ansible

          Ansible role to install a PostgreSQL database with all batteries included backup solution powered by pgBackRest

            Cloud-Init

            Based on Solidblocks Shell reusable functions for Cloud-Init usage

              Python

              Reusable Python functions for infrastructure automation and developer experience

                Shell

                Reusable shell functions for infrastructure automation and developer experience

                  K3S

                  Deploy K3S clusters in the Hetzner cloud

                  Development

                  See Development for hints on developing Solidblocks.