Commit Graph
111 Commits
Author SHA1 Message Date
adminandClaude Sonnet 5 341ef92a7a feat: add provisioning agent bootstrap and check-in endpoints
Adds POST /api/v1/agent/bootstrap (issues a hashed agent secret for a
device) and POST /api/v1/agent/checkin (Bearer-authenticated, resolves
the device's assigned blueprints via its Bereitstellungsvorlage and
returns them alongside the ansible-content repo URL and poll
interval). Migration 0006 adds the backing columns on devices
(agent_secret_hash, agent_secret_issued_at, agent_last_checkin).

This was implemented and verified end to end (activate -> resolve ->
bootstrap -> checkin, plus a full QEMU agent test) in an earlier
session but never committed to this repo, even though it has been
running in production on anode since. Committing now to close that
gap before building on top of it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 09:16:58 +02:00
admin e02b646564 fix: return backend/workspace key instead of internal UUID in resolved Runtime Blueprint
runtime_blueprint.backend_id/workspace_id must be the stable, distro-neutral
key (e.g. "fedora") as documented in 08-provisioning-api.md, not the
internal database UUID - the installer's backend dispatch
(backends/${backend_id}/backend.sh) depends on it being a directory-safe
key.
2026-07-18 10:48:50 +02:00
admin 11186dfdf9 feat: migrate provisioning API to Merkmal/Blueprint/Bereitstellungsvorlage model
Replaces the config.json-backed flat profile model with the
Postgres-backed Workspace/Merkmal/Backend/Blueprint/Bereitstellungsvorlage
schema (migrations 0003-0005). /api/v1/activate now returns Bereitstellungsvorlage
templates instead of profiles, and a new POST /api/v1/templates/{id}/resolve
endpoint resolves a chosen template to a full Runtime Blueprint (workspace,
backend, resolved Merkmal->Ansible-role blueprints, and installation
directives), recording the resulting device assignment.

Removes the now-unused config.json and file-based device registry
directory in favor of the PostgreSQL-backed activation codes and
device tables.
2026-07-18 10:48:29 +02:00
admin 02e2b9de94 refactor: expose device registration status 2026-07-14 13:04:39 +02:00
admin 9c773e7b9b feat: persist hardware snapshots during activation 2026-07-13 09:00:02 +02:00
admin ba2dccff57 fix: correct PostgreSQL device row mapping 2026-07-12 15:32:43 +02:00
admin 2683b65ffc feat: migrate device registry to PostgreSQL 2026-07-12 15:22:22 +02:00
admin de51278d69 feat: add initial device registry 2026-07-10 16:54:17 +02:00
admin f3e85a9746 Switch service URLs to tuxflotte.de 2026-07-03 11:57:59 +02:00
root e20a536002 Add Fedora kickstart installer endpoint 2026-06-16 16:38:38 +00:00
root c61a2e5994 Initial provisioning server 2026-06-14 19:08:19 +00:00