Automation helper for Fluxnodes
Project description
Arcane Mage - Automated Fluxnode ArcaneOS Installation
Introduction
This is experimental software. There may be rough edges. If you spot something that is not quite right - please open an issue.
Arcane Mage is a suite of tools designed to ease the installation (and configuration) burden of installing a Fluxnode.
The following is available via the GUI, or CLI:
- Fully automated A to Z Proxmox installs, including Secure Boot key enrollment.
- Mutlicast config broadcast on LANs - fully automated installs, except Secure Boot Key enrollement.
- USB stick creation for plug and play automated installs on bare metal
Configuration Options
See the examples directory for sample configurations.
Any option can be easily set via a yaml configuration file, for example, for Proxmox, start on VM creation, rate limits, etc.
It can also reboot direct into systemd-boot for systems that allow easy enrollment of keys (usually bare metal systems)
Installation
Install uv - https://docs.astral.sh/uv/getting-started/installation/
To run once without installing:
uvx --with arcane_mage python -m arcane_mage
Install as a tool:
uv tool install arcane-mage
To use the default config file fluxnodes.yaml in the directory you are in (this will run the GUI):
arcane-mage
Run the following for help:
arcane-mage --help
Hypervisor Setup - Proxmox Automation
MINIMUM PROXMOX VERSION: 8.4.1
In order to use Arcane Mage with Proxmox, the following needs to be set up on your hypervisor:
- A user for the API
- An API token (strongly recommended)
- Nginx reverse proxy (strongly recommended)
- Storage area for DISK images needs to allow
importcontent type
To set up your Proxmox Instance behind an Nginx reverse proxy, follow these instructions, it doesn't take much effort:
https://pve.proxmox.com/wiki/Web_Interface_Via_Nginx_Proxy
If you don't reverse proxy the api, you can run into connection issues.
If using the default Proxmox settings, you will need to enable the import option under the Datacenter -> Storage endpoint (click edit):
To set up your user, go to "Datacenter" on the Proxmox GUI and add a user:
Next, add an api token for your user:
Finally, give BOTH your user and api token PVEAdmin permissions:
A note on using the startup_config parameter
Setting a startup config for a node requires elevated permissions that the PVEAdmin role does not cover. The easiest way to resolve this is to create a role, I.e. UserAdminSysModiy with the Sys.Modify permission on the / path. You need to give this extra role to BOTH the api user and token.
A note on API authentication and key storage
Arcane mage uses your systems secure keyring to store api keys / passwords. For macOS this is keychain (tested) and windows Windows Credential Locker (untested)
If your system doesn't have a keyring backend, see here for details on resolving that.
You're now good to run Arcane Mage.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arcane_mage-0.3.0.tar.gz.
File metadata
- Download URL: arcane_mage-0.3.0.tar.gz
- Upload date:
- Size: 90.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba035a6142af97b2e11eea47a6503dc773c39e1a8559a8a71674c5177b399cc4
|
|
| MD5 |
0f3d722fd6930fd57590525bd4407c27
|
|
| BLAKE2b-256 |
3e4ba7a305ec792fed1faca25f18ddfe6fd09ab1a79e76f674614e616ac155fe
|
File details
Details for the file arcane_mage-0.3.0-py3-none-any.whl.
File metadata
- Download URL: arcane_mage-0.3.0-py3-none-any.whl
- Upload date:
- Size: 95.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f05fe50998a416662b3ccbc3f6b7c8984bc4bdfd2916f6f6da771a61cedff9f
|
|
| MD5 |
82319967b595445d285d7c9cee035f3e
|
|
| BLAKE2b-256 |
a348289856f0bce80cba6e9c8ac6bdc9f79ee8a82026e466c632c6ef66bb9f97
|