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.

Installation

Solidblocks Cloud is part of the Solidblocks CLI, look here for installation instructions.

Quickstart

generate SSH key

ssh-keygen -t ed25519 -f cloud1.key -q -N ""

create configuration cloud1.yaml

---
name: cloud1

providers:
  - type: pass
  - type: ssh_key
  - type: hcloud
  - type: backup_local

services:
  - type: postgresql
    name: database1
    databases:
      - name: hello-world
  - type: docker
    name: service1
    image: ghcr.io/pellepelster/solidblocks-hello-world:latest
    endpoints:
      - container_port: 8080
    links:
      - database1

apply configuration

blcks cloud apply cloud1.yaml 

access the deployed service

export ENDPOINT=$(blcks cloud info cloud1.yaml --format json | jq -r '.services[] | select(.name == "service1").endpoints | first | .url')
curl ${ENDPOINT}/hello

see it in action

Features

Simplicity

Solidblocks Cloud is designed to avoid complexity in the deployed services where possible, to make the deployed virtual machines easier to understand, debug and maintain. All VMs are provisioned with Debian as underlying operating systems and SystemD as service manager. Management happens over SSH and that’s it. A human can step in at any time.

Secret handling

Strong credentials are generated for all deployed services and automatically added to the configured secret provider backend. Rotating a password becomes as easy as updating the secret and triggering a new apply.

DNS and Certificates

If the configured cloud provider supports DNS, switching to DNS based endpoints secured by SSL certificates instead of IP addresses is as easy as adding the root_domain to the config file.

Backup & Restore

To protect your data, Solidblocks includes automatic backup and restore functionality. Besides backup to locally attached disks backups can also be written to AWS S3 buckets, allowing for a complete disaster recovery of the system state from only S3.

Help

Context-sensitive information and error messages help connecting to the deployed services.