Save products you love by clicking the heart icon.
We use privacy-friendly analytics (Plausible + Umami) to understand how visitors use this site. No analytics are loaded without your consent. Privacy Policy
Comprehensive technical analysis of the Miasma (Shai-Hulud) self-replicating supply-chain worm: Phantom Gyp binding.gyp execution, AI coding agent persistence hooks, 73 Microsoft repositories compromised, 448+ artifacts across npm/PyPI, credential harvesting scope, and defensive countermeasures.
Production patterns for managing secrets in GitOps workflows: Sealed Secrets, External Secrets Operator, SOPS, and HashiCorp Vault integration with ArgoCD.
The Sovereign Cloud Stack (SCS) is Europe's open-source cloud infrastructure framework — a standards-compliant platform that puts digital sovereignty into practice. This guide covers what SCS is and how to deploy your own Cloud in a Box (CIAB), a single-node OpenStack+Kubernetes environment that installs in about two hours with near-full automation.
SCS is a project under the Open Source Business Alliance (OSB Alliance), funded by the German Federal Ministry for Economic Affairs and Climate Action (BMWK). It holds Gaia-X lighthouse project status — a recognition that SCS advances the Gaia-X vision of federated, sovereign data infrastructure — and is recognized as a European Digital Infrastructure Consortium (EDIC) candidate.
The project addresses a core tension in modern cloud infrastructure: the dominance of non-European cloud providers and the lock-in risks associated with proprietary APIs. SCS solves this by defining three pillars:
Any provider running a standards-compliant SCS environment can offer interoperable cloud services. This is the infrastructure equivalent of container images building on OCI standards — you can move workloads between SCS-compliant providers without platform-specific rewriting.
The SCS software stack follows a layered architecture, from bare metal hardware up to the user-facing access layer:

| Layer | Components | Responsibility |
|---|---|---|
| Hardware & OS | x86_64 server, Ubuntu 24.04 LTS | Physical foundation, networking (DHCP), storage (SATA/NVMe) |
| OSISM | Ansible playbooks, containerized control plane | Deployment, lifecycle management, rolling upgrades, backup/restore |
| OpenStack | Nova, Neutron, Cinder, Glance, Keystone, Designate | Virtual compute, networking, block storage, image registry, identity, DNS |
| Ceph | RADOS, RBD (block), RGW (S3 object), CephFS | Distributed storage — unified block, object, and file |
| Kubernetes | Gardener, Cluster API, Calico/OVN | Container orchestration and cluster lifecycle |
| SCS Standards | SCS-OpenStack, SCS-K8s, IAM (Keycloak) | Compliance verification, identity federation, audit |
| Access | Horizon dashboard, OpenStack CLI, REST API, Terraform | User-facing interfaces for cloud management |
OSISM is the deployment and operations framework that manages the full lifecycle of the SCS stack:
The R9 release (September 2025) introduced OpenStack Epoxy (2025.1) and Kubernetes 1.33.
Cloud in a Box is a single-node OSISM deployment designed for teams that need a complete SCS environment without the complexity of a multi-node cluster.
| Type | Components | Ideal For |
|---|---|---|
| sandbox | Full OpenStack + Ceph + K8s | Complete cloud evaluation on a single node |
| edge | OpenStack (reduced Ceph), central logging | Remote sites with limited storage needs |
| kubernetes | K8s-only, no OpenStack | Teams focused solely on container orchestration |
The sandbox variant is the most common starting point and is the focus of this guide.
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 8 cores (x86_64) | 16+ cores for concurrent workloads |
| RAM | 64 GB | 128 GB (Ceph requires significant memory) |
| Boot Storage | 500 GB SATA SSD | 2+ TB NVMe for VM and Ceph OSD capacity |
| Network | 1 Gbit | 10 Gbit for storage replication performance |
A Supermicro server with 128 GB RAM, a 2 TB NVMe drive, and dual 1 Gbit NICs is a typical community lab setup. The CIAB ISO has separate builds for SATA and NVMe boot drives — selecting the wrong variant will prevent the automated installer from detecting your disk.
The CIAB installation follows five steps. The total wall-clock time is approximately two hours, but only about five minutes of hands-on work is required.

Download the appropriate ISO from the OSISM CIAB documentation:
| ISO File | Boot Storage | Use Case |
|---|---|---|
ubuntu-autoinstall-cloud-in-a-box-1.iso | SATA/SAS (first block device /dev/sda) | Traditional servers with SATA-connected drives |
ubuntu-autoinstall-cloud-in-a-box-2.iso | NVMe (first block device /dev/nvme0n1) | Modern servers with NVMe M.2 or U.2 drives |
Each ISO (approximately 8–10 GB) contains an Ubuntu 24.04 base system, the OSISM deployment framework, and all required container images. The CIAB install scripts are also available at the OSISM CIAB repository for inspection or custom deployments.
You need a USB drive with at least 16 GB capacity. Write the ISO using dd on Linux, or use balenaEtcher/Rufus on Windows:
lsblk
# ⚠️ This erases ALL data on /dev/sdX
sudo dd if=ciab-sandbox-nvme.iso of=/dev/sdX bs=4M status=progress conv=fsync
The conv=fsync flag ensures the write buffer is flushed before the command returns, preventing incomplete writes.
After the first reboot, the system starts the automated OSISM deployment. This is the only long wait — roughly 90–120 minutes depending on hardware and network speed.
Prerequisites before deployment begins:
The deployment process:
/home/dragon/You can monitor progress via the local console or SSH:
# Watch real-time deployment logs
journalctl -fu osism-deployment -n 100
# Check OSISM container status
osism container status
# View Ansible playbook output
tail -f /opt/osism/ansible.log
Once deployment completes, you have two access paths:
Horizon Dashboard (Web UI):
http://ciab.fritz.box:8080
Or use the server's IP address on port 8080. The default SSH user is dragon with password password — change these immediately for any internet-connected deployment.
OpenStack CLI (via WireGuard VPN): The CIAB deploys a WireGuard VPN endpoint for secure API access:
# Install WireGuard on your client
sudo apt install wireguard
# Import the CIAB client configuration
sudo wg-quick up /path/to/ciab-client.conf
# Authenticate (uses CIAB's built-in clouds.yaml)
export OS_CLOUD=test
# Verify the cloud is operational
openstack compute service list
openstack network agent list
openstack image list
The OS_CLOUD=test environment variable selects the CIAB's pre-configured clouds.yaml section, which points to the local Keystone endpoint with admin credentials.
With the cloud running, deploy your first virtual machine:
# Create a network and subnet
openstack network create demo-net
openstack subnet create --network demo-net \
--subnet-range 10.1.0.0/24 \
--dns-nameserver 8.8.8.8 demo-subnet
# Create a router and connect to the external network
openstack router create demo-router
openstack router add subnet demo-router demo-subnet
openstack router set --external-gateway public demo-router
# Create a security group allowing SSH
openstack security group create demo-ssh
openstack security group rule create --proto tcp --dst-port 22 demo-ssh
# Boot a test VM
openstack server create \
--image ubuntu-24.04 \
--flavor m1.small \
--network demo-net \
--security-group demo-ssh \
--key-name my-key \
demo-vm
# Assign a floating IP
openstack floating ip create public
openstack server add floating ip demo-vm <IP>
# SSH into the instance
ssh ubuntu@<FLOATING_IP>
Attach persistent block storage:
openstack volume create --size 20 demo-volume
openstack server add volume demo-vm demo-volume
# Inside the VM:
# sudo mkfs.ext4 /dev/vdb
# sudo mount /dev/vdb /mnt/data
SCS follows a predictable twice-yearly release cadence:
| Release | Date | OSISM | OpenStack | Kubernetes | Highlights |
|---|---|---|---|---|---|
| R8 | March 2025 | 9.x | Zed | 1.30 | Initial CIAB stabilization |
| R9 | September 2025 | 10.x | Epoxy | 1.33 | K8s 1.33, improved CIAB |
| R10 | March 2026 | 11.x | Next | 1.35+ | TBD |
This cadence aligns with OpenStack upstream releases (spring/autumn), allowing operators to plan upgrades on a fixed schedule similar to Ubuntu LTS.
| Scenario | CIAB | Full Cluster |
|---|---|---|
| Dev/test environment | ✅ Ideal | ❌ Overkill |
| Edge/pop-up cloud | ✅ Perfect | ❌ Too complex |
| Training/workshops | ✅ Great | ⚠️ Possible |
| Production workloads | ❌ No HA | ✅ Required |
| Multi-tenant SaaS | ❌ No isolation | ✅ Full multi-node |
| High availability | ❌ Single point of failure | ✅ HA with Ceph replication |
CIAB is a single-node setup with no built-in redundancy. For production, use the full OSISM cluster deployment with at least three control nodes and three Ceph nodes.
SCS has an active community where you can get help:
#scs:matrix.org — Community discussions and real-time supportA CIAB-capable server costs roughly €2,000–5,000 depending on configuration:
| Component | Budget | Recommended |
|---|---|---|
| Server | Supermicro SYS-510 (€800) | Supermicro SYS-110 (€1,500) |
| RAM | 64 GB (€400) | 128 GB (€800) |
| Storage | 1 TB NVMe (€150) | 2 TB NVMe (€300) |
| Total | ~€2,000 | ~€3,500–5,000 |
These are one-time hardware costs. There are no license fees — the entire SCS stack is open source.
SCS follows a twice-yearly release cadence. CIAB upgrades follow the standard OSISM upgrade path:
# Update OSISM to the latest release
osism update --release R10
# Run upgrade playbooks
osism apply upgrade
# Verify all services
site-services status
Sovereign Cloud Stack's Cloud in a Box delivers a production-grade OpenStack and Kubernetes environment on a single server, deployable in under two hours with minimal operator intervention. It serves as an entry point into European sovereign cloud infrastructure and a practical tool for evaluating SCS as a platform.
Workloads developed and tested on a CIAB will run without modification on any SCS-compliant provider — turning sovereign cloud infrastructure from a concept into a deployable reality.
Links: