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).
Raw data
{
"_id": null,
"home_page": "https://pseudopolis.eu/pino/krrez",
"name": "krrez",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "iac infrastructure as code devops provisioning",
"author": "Josef Hahn",
"author_email": "krrez@pseudopolis.eu",
"download_url": null,
"platform": null,
"description": "\n Krrez provides a foundation for putting the installation and configuration of computer systems into code.\n This allows to install those systems in an automatic, repeatable and testable way.\n\n There are some jargon terms around, like 'Infrastructure-as-code', 'Configuration management' and even 'DevOps'.\n 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.\n In particular, it is designed with personal computer systems in mind instead of cloud systems.\n\n 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.\n This code must be provided by you, at least for everything beyond some basic stuff that is included in Krrez.\n\n The usual process for a Krrez-based system installation begins with transferring the Krrez installer to an external medium like a USB stick.\n This sounds harder than it is; in fact it is a guided and very simple step.\n Next to core operating system installation routines, this image also carries all your automation code.\n The next step is to boot the target machine from that medium.\n This will install an operating system (Debian Linux is the one that Krrez supports out of the box) and execute the automation code.\n\n 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.\n\n Once that installation is finished, you will typically not use Krrez on that system for the rest of its lifetime.\n 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).\n 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.\n\n (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.)\n\n Automation code is structured in modules.\n 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.\n\n Krrez also comes with a mechanism for testing.\n It runs the entire installation process on some internal Virtual Machines, then lets your test code make its checks on them.\n This can be as complex as the interaction between more than one machine (maybe based on different profiles).\n \n",
"bugtrack_url": null,
"license": "AGPL 3",
"summary": "Infrastructure-as-code framework for personal computers",
"version": "10.0.1292",
"project_urls": {
"Homepage": "https://pseudopolis.eu/pino/krrez"
},
"split_keywords": [
"iac",
"infrastructure",
"as",
"code",
"devops",
"provisioning"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5fef3a684498791bb1ca054afbc4f849a01c37da1887d9162eddb74e0832b3fd",
"md5": "0ec15bc1edcd2b3d411fbc2603474323",
"sha256": "f9b838f6f5deb44edc37b89b68ac403fc92eddafd04807d91f9d9b224a5841ad"
},
"downloads": -1,
"filename": "krrez-10.0.1292-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0ec15bc1edcd2b3d411fbc2603474323",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1250413,
"upload_time": "2025-07-27T13:23:57",
"upload_time_iso_8601": "2025-07-27T13:23:57.169646Z",
"url": "https://files.pythonhosted.org/packages/5f/ef/3a684498791bb1ca054afbc4f849a01c37da1887d9162eddb74e0832b3fd/krrez-10.0.1292-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-27 13:23:57",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "krrez"
}