Skip to main content

Infrastructure-as-code framework for personal computers

Project description


Krrez provides a foundation for putting the installation and configuration of computer systems into code.
This allows to install those systems in an automatic, repeatable and testable way.

There are some jargon terms around, like 'Infrastructure-as-code', 'Configuration management' and even 'DevOps'.
Krrez addresses all those topics to some extent, but in a much different, lighter way than prevailing tools, as it does not really target the same use cases.
In particular it is designed with personal computer systems in mind instead of cloud systems.

Automation code is just plain Python code that eventually gets executed on a target system, and does things like package installations, modifications of configuration files, execution of command lines, and more.
This code must be provided by you, at least for everything beyond some basic stuff that is included in Krrez.

The usual process for a Krrez-based system installation begins with transferring the Krrez installer to an external medium like a USB stick.
This sounds harder than it is; in fact it is a guided and very simple step.
Next to core operating system installation routines, this image also carries all your automation code.
The next step is to boot the target machine from that medium.
This will install an operating system (Debian Linux is the one that Krrez supports out of the box) and execute the automation code.

Everything after booting the target machine can be completely automatic, or can ask the user for some additional configuration infos on-the-fly, depending on how the installation image was set up.

Once that installation is finished, you will typically not use Krrez on that system for the rest of its lifetime.
If you want to run an updated version of your automation code, with some modifications, or some added or removed behavior, Krrez' philosophy is to just reinstall the affected system(s).
This makes it much easier to write automation code on the hand, as you do not have to deal with bulky properties like idempotency or reversibility, but on the other hand makes it a bad choice for some kinds of use cases.

(At least it is possible with some extra work to enable an installed system to reinstall itself without a new installation medium or any other reason to physically get in touch with that machine.)

Automation code is structured in modules.
It is possible to create installation media for different kinds of systems, each with an own subset of automation code modules, e.g. for your primary workstation, your notebook, network storage, home automation server, and so on.

Krrez also comes with a mechanism for testing.
It runs the entire installation process on some internal Virtual Machines, then lets your test code make its checks on them.
This can be as complex as the interaction between more than one machine (maybe based on different profiles).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

krrez-9.0.1256-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file krrez-9.0.1256-py3-none-any.whl.

File metadata

  • Download URL: krrez-9.0.1256-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for krrez-9.0.1256-py3-none-any.whl
Algorithm Hash digest
SHA256 5e4b2d55adedae5342de4f4752fda2fff7a0ef5ed57d261a3af83758788ad6cc
MD5 8428195a88fcb4a7bb1b1331ab8544d0
BLAKE2b-256 1df6165e2c3eb571ad89ebce47e641bc5e444f70f9e92b2a1068292eb4b0ffa5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page