Skip to main content

Simplyblock Control Plane Tooling

Simplyblock is a Kubernetes-native, distributed block storage solution. It was designed from the ground up to be high-performance, NVMe over Fabrics end-to-end, highly available, fault-tolerant, and scalable.

Simplyblock is developed and maintained by Simplyblock.

Documentation

The full simplyblock documentation can be found at docs.simplyblock.io.

Installing the Command Line Interface

The sbctl tooling can be installed using our pypi package sbctl.

pip install --upgrade sbctl

Requires Python 3.9 or newer.

Repository Components

This repository contains the source code for the Simplyblock Control Plane core services and the command line interface (sbctl).

Technology stack:

  • Python
  • Docker
  • Kubernetes
  • FoundationDB
  • FastAPI (API v2)
  • Flask (API v1)
  • OpenAPI (Swagger)

The repository is split into the following components:

Simplyblock Core

The simplyblock_core/ directory contains the core logic and controllers for a simplyblock control plane cluster.

Simplyblock CLI

The simplyblock_cli directory contains the sbctl command line interface code. A full list of the available command line interface commands and options can be found in the sbctl reference.

Commands and options in the command line interface are implemented using an automatic generator and a YAML definitions file (simplyblock_cli/sbctl/cli-reference.yaml). For well-conformity of the YAML file, a schema definition is provided in simplyblock_cli/sbctl/cli-reference-schema.json and linked on top of the reference for immediate use in Visual Studio Code and IntelliJ-based platforms.

If commands or options are added, updated, or removed, the YAML file, the generator must be executed to update the startup code of sbctl.

tox run -e generate

Executing this command updates simplyblock_cli/cli.py according to the reference file.

Reference Notes

There are a few implicit rules in the reference file:

  • Positional Argument: Arguments without leading hyphens (-- or -) are considered positional arguments which are always required.
  • Optional Argument: Arguments with leading hyphens (-- or -) are considered optional arguments except marked as required: true.
  • Naming Convention Commands: When commands and subcommands are added, the generator creates the function names according to the following naming convention <command>__<subcommand> which has to be implemented in clibase.py. If the command or subcommand contains a hyphen in the name, it is exchanged for an underscore.

Simplyblock Web API

The simplyblock_web directory contains the source code for the simplyblock control plane API. A full list of the available API endpoints and options can be found in the API reference.

Notes on Local Development

FoundationDB

Simplyblock's control plane uses FoundationDB, which means it requires a FDB client library (libfdb_c.dylib) for the Python bindings to interact with the database.

Depending on the OS architecture, the appropriate version must be installed from their official github repo.

wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg

Docker Compose

A local development environment can be spun up using the Docker compose file: docker-compose-dev.yml.

sudo docker compose -f docker-compose-dev.yml up --build -d

License

Copyright (c) 2021-2025 Simplyblock GmbH. All rights reserved.

Metadata

Release files for sbctl 19.2.34

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sbctl 19.2.34
File Size Uploaded
sbctl-19.2.34.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for sbctl 19.2.34
File Interpreter ABI Platform
sbctl-19.2.34-py3-none-any.whl Python 3 none any Details

Total release size: 2.6 MB

Release files / sbctl-19.2.34.tar.gz

Download URL sbctl-19.2.34.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
81df6bd4786f56bac343a05eba9aeecb240f4b1e962af18aa7ec6d11b6b64259
BLAKE2b-256 checksum
How to use checksums
5242b0ce98787714439c2ecbd2fc857c4ed07c7d7007461dd9e72468b725ff09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / sbctl-19.2.34-py3-none-any.whl

Download URL sbctl-19.2.34-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
adb5916ad7c2652cf075c095f3a21e69212493106331998bcbf1aad64cceaf2d
BLAKE2b-256 checksum
How to use checksums
028e359219a8bf022fd75a2698ac50ca396643ad3843b1432c360299a1a84242
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

26.3.1

1 release file

26.3.0

1 release file

26.2.4

1 release file

26.1.2

1 release file

26.1.1

1 release file

25.10.5

1 release file

25.10.4

1 release file

25.10.3

1 release file

25.7.7

1 release file

25.7.6

1 release file

25.7.5

1 release file

25.7.4

1 release file

25.7.3

1 release file

25.7.2

1 release file

25.7.1

1 release file

This release

19.2.34 This release

2 release files

1.1.6

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page