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-10.0.1292-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for krrez-10.0.1292-py3-none-any.whl
Algorithm Hash digest
SHA256 f9b838f6f5deb44edc37b89b68ac403fc92eddafd04807d91f9d9b224a5841ad
MD5 0ec15bc1edcd2b3d411fbc2603474323
BLAKE2b-256 5fef3a684498791bb1ca054afbc4f849a01c37da1887d9162eddb74e0832b3fd

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