Hostnamenkonvention: serverseitige Vergabe für neue Geräte
- Migration 0039: organizations.hostname_praefix/-stellen/-nummer_modus/
-naechste_sequenz. Leerer Präfix = keine Konvention (unverändertes
Verhalten, Client bestimmt den Hostnamen selbst).
- generate_hostname_for_organization(): erzeugt "<praefix>-<nummer>",
sequenziell (Zeilen-Lock via FOR UPDATE) oder zufällig (freie Nummer
per secrets.randbelow(), Kollisionsprüfung gegen vorhandene Hostnamen,
Fallback auf nächste freie sequenzielle Nummer nach 20 Versuchen).
- resolve_hostname_for_activation(): greift nur bei einem GENUIN NEUEN
Gerät (device_fingerprint noch unbekannt) - eine Re-Aktivierung eines
bekannten Geräts behält immer den vom Client gemeldeten Hostnamen,
überschreibt also keine manuelle Umbenennung.
- agent_checkin(): liefert jetzt auch "hostname" (devices.hostname) an
den Agenten.
- Neue Endpunkte GET/PUT /api/v1/organizations/{id}/hostname-konvention.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VLk93dhDMrkPXefVdknMV9
This commit is contained in:
1 parent
10d31f8cf3
commit
bfbd8f7b17
2 files changed
+193
-2
No files matched your search
@@ -0,0 +1,17 @@
|
||||
BEGIN;
|
||||
|
||||
-- Schritt 3 der Workspace-Creator-Design-Runde (10.09.2026, siehe
|
||||
-- project_phase2_app_store_merkmale-Memory / Roadmap-Update): optionale
|
||||
-- Organisations-weite Hostnamenkonvention - erzeugt bei der Aktivierung
|
||||
-- eines GENUIN NEUEN Geräts (nicht bei Re-Aktivierung eines bekannten)
|
||||
-- automatisch einen Hostnamen nach Muster "<praefix>-<nummer>", statt den
|
||||
-- vom Client gemeldeten zu übernehmen. hostname_praefix bleibt NULL, wenn
|
||||
-- keine Konvention konfiguriert ist - dann unverändertes Verhalten wie
|
||||
-- bisher (Client bestimmt den Hostnamen selbst).
|
||||
ALTER TABLE organizations ADD COLUMN hostname_praefix TEXT;
|
||||
ALTER TABLE organizations ADD COLUMN hostname_stellen SMALLINT NOT NULL DEFAULT 4;
|
||||
ALTER TABLE organizations ADD COLUMN hostname_nummer_modus TEXT NOT NULL DEFAULT 'sequenziell'
|
||||
CHECK (hostname_nummer_modus IN ('sequenziell', 'zufaellig'));
|
||||
ALTER TABLE organizations ADD COLUMN hostname_naechste_sequenz INTEGER NOT NULL DEFAULT 1;
|
||||
|
||||
COMMIT;
|
||||
Reference in new issue
Block a user