Solidblocks

Solidblocks is a library of reusable components for infrastructure operation, automation and developer experience. It consists of several components, each covering 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 should 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

Solidblocks Cloud is a standalone CLI tool that deploys managed services on bare virtual machines, networking and storage. No container schedulers, no cloud specific services, just plain virtual machines running services on Linux , managed via SSH.

    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

            RDS PostgreSQL Docker

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

              RDS PostgreSQL Ansible

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

                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.