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

CLI

Command line tooling for infrastructure provisioning and operation

RDS PostgreSQL

RDS PostgreSQL Hetzner Terraform module

Cloud-Init Terraform

Use cloud-init functions in Terraform deployments

RDS PostgreSQL

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

Cloud-Init

Based on Solidblocks Shell reusable functions for Cloud-Init usage

Shell

Reusable shell functions for infrastructure automation and developer experience

Hetzner DNS

Java library for the Hetzner DNS API

K3S

Deploy K3S clusters in the Hetzner cloud

Development

See Development for hints on developing Solidblocks.