This release is a pre-release and may not be stable for production use.
Puffmatic - OpenBSD Autoinstall Generator
This script streamlines the preparation of files for unattended OpenBSD installations using USB thumb drives and HTTP.
It modifies the USB installer image with autoinstall(8) response files and site sets.
Additionally, the script can create a collection of response files, disk label files, and site set archives, which are suitable for serving through httpd(8).
This approach is particularly beneficial for faster provisioning on budget VPS systems where TFTP boot is not an option. Simply boot the installer from the vendor-provided image and direct it to the self-hosted response file. Installation assets can be secured using basic authentication (don't forget about TLS!).
Provided example.com domain configuration can be tested using vmd(8) and httpd(8) locally.
Installation
Installing from PyPI
Puffmatic is released to PyPI, so you can install it using pip:
python3 -m venv venv
. venv/bin/activate
pip install puffmatic
Running from source directory
This script runs on OpenBSD and requires Python 3. All dependencies
are in base system or are installed by pip. Checkout source
directory from git to boostrap it:
make bootstrap
It will create venv and install handful of dependencies to run, test
and develop puffmatic.
If you are using envrc, provided .envrc will ensure venv is activated,
and PYTHONPATH and PATH are updated for seamless use.
If you don't run envrc, you can source the shell environment
manually to the same effect:
. .envrc
Test with:
python3 -m puffmatic help
Last but not least, you must grant access to some shell utilities in
priviledged mode. Put this in your /etc/doas.conf:
permit nopass user cmd mount
permit nopass user cmd umount
permit nopass user cmd vnconfig
permit nopass user cmd install
If you are concerned about elevated priviledges, create a dedicated user account.
example.com
Once installed, you should explore the example. Go stright to
example.com README.md, where you will find
further documentation and a tutorial runnable using vmd(8).
The example is "self documenting" in the sense that all elements are
covered by adjacent README.md files scattered around.
Enjoy!
Metadata
Release files for puffmatic 0.1.0a6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| puffmatic-0.1.0a6.tar.gz | 25.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| puffmatic-0.1.0a6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.7 kB
Release files / puffmatic-0.1.0a6.tar.gz
| Download URL | puffmatic-0.1.0a6.tar.gz |
|---|---|
| Size | 25.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
659623e8b480b51a9d7236251cfebe67866a0b3e683ee4bd11f7db7bcee93ae3
|
|
BLAKE2b-256 checksum How to use checksums |
4640d3cee48fbe6816379d98ce2755e76dafbe60048206660103ea84ef63a00b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / puffmatic-0.1.0a6-py3-none-any.whl
| Download URL | puffmatic-0.1.0a6-py3-none-any.whl |
|---|---|
| Size | 33.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4356cce9eaf4376af470fbfcfdfa26a3ca3af27aa3992139a5b727b0b634cc23
|
|
BLAKE2b-256 checksum How to use checksums |
0bda8384631b70a21f4a82ba9ba87b3e6e04706573db273db0f7fcd0130a6e23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|