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

Cloud API Kotlin

Kotlin API for the Hetzner Cloud

    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.