Full power, everybody!
-- Hercules, TUGS "High Winds"
Important
Pre-pre-alpha
HerculesOS is currently in active design and initial prototyping. Some sections of this README describe intended behaviour before implementation.
HerculesOS is not production ready yet!
The tug that brings your Kubernetes ships home for decommissioning
HerculesOS is an in-memory operating system that can be used to remotely wipe disks on a target computer. This is particularly useful when you have many computers that you want to recommission or decommission. It can be configured
HerculesOS only has a small codebase, so the attack surface is tiny. Nonetheless, it is not designed to be a long-running operating system.
HerculesOS is designed to be booted using PXE. It will also be made available as a live image for booting from USB or CD. If you still have CD's that is.
You will be able to configure how aggressive HerculesOS is with the following power levels.
| Power Level | Action |
|---|---|
| Idle Steam | Light, non-destructive. Dry-run only. |
| Harbour Steam | Wipes ephemeral state only (tmpfs, logs, kubelet dirs). Non-destructive to user data. |
| Working Steam | Standard disk wipe for reprovisioning the node. |
| Full Steam | Secure disk wipe. single-pass zero overwrite. Suitable for most disposal needs. |
| Boiler Redline | Enhanced-security disk wipe, n-pass overwrite (default 3, configurable). Suitable for disposal after highly sensitive use. |
As with all things in the Kubernetes world, you will be able to do this in YAML.
Hercules the strongest tug boat from the classic TV show, TUGS. He is given the most important and dangerous jobs in his fleet.
Similarly, decommissioning a server is an important and dangerous job, which is why Drydock uses HerculesOS for the task.
This is because we love,
- obscure pop culture references.
- furthering the maritime theme of Kubernetes.
As small as possible, because the smaller he is, the faster he gets running, does his job, and then gets out of the way. We are currently targeting 20MB.
For perspective, Candy Crush is approximately 326.2MB. Not really a fair "like for like" comparison, but you get the point!
Further documentation is in the docs directory.
Warning
This repo is controlled by OpenTofu in the estate-repos repository.
Manual configuration changes will be overwritten the next time OpenTofu runs.
If you need any help, please log an issue and one of our team will get back to you.
PRs are welcome.
All source code in this repository is licenced under the GNU Affero General Public License v3.0 (AGPL-3.0). A copy of this is provided in the LICENSE.
All non-code content in this repository, including but not limited to images, diagrams or prose documentation, is licenced under the Creative Commons Attribution-ShareAlike 4.0 International licence.
