Files
nexarch/deploy/gen-ed25519-keypair.go
T
sysopsandClaude Sonnet 5 278d26f7bd
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
deploy: installer + systemd-units, Core auf 192.168.1.131 in Betrieb
deploy/install.sh: idempotenter Installer fuer Debian/systemd. Legt
Systembenutzer 'nexarch', Postgres-Rolle+Registry-DB an, baut alle 7
Core-Binaries (cmd/core + *-devserver), wendet Registry-Migrationen an
(nur bei leerer DB), generiert Secrets (Audit-Admin-Token, Ed25519-
Lizenzschluesselpaar) nach /etc/nexarch/core.env (0600), installiert und
startet je Dienst einen systemd-Service.

Tatsaechlich auf 192.168.1.131 ausgefuehrt und verifiziert: alle 7 Dienste
laufen (systemctl active), alle Health-Endpunkte antworten 200. Zweiter
Installer-Lauf bestaetigt Idempotenz (ueberspringt bestehende Rolle/DB/
Secrets/Migrationen, Dienste bleiben durchgehend aktiv).

Hinweis: kein unified Server (siehe QA-05/AUD-06-Befund) - weiterhin 7
getrennte Binaries/Ports, dieser Installer deployt sie so wie sie sind.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhgFcLS8tYMhDJpP74C6AQ
2026-08-29 19:03:20 +02:00

23 lines
619 B
Go

// gen-ed25519-keypair erzeugt ein Ed25519-Schluesselpaar fuer die
// Lizenzsignatur (LIC-01/LIC-04) und gibt beide Teile base64-raw-url-
// kodiert aus — dasselbe Format, das internal/license.NewIssuer/NewValidator
// erwarten. Nur vom Installer (deploy/install.sh) verwendet.
package main
import (
"crypto/ed25519"
"crypto/rand"
"encoding/base64"
"fmt"
"log"
)
func main() {
pub, priv, err := ed25519.GenerateKey(rand.Reader)
if err != nil {
log.Fatal(err)
}
fmt.Printf("PUBLIC=%s\n", base64.RawURLEncoding.EncodeToString(pub))
fmt.Printf("PRIVATE=%s\n", base64.RawURLEncoding.EncodeToString(priv))
}