agent: P2-18c announce-and-approve enrolment path
When -enroll-server is supplied without -enroll-token, the agent mints (and persists) an Ed25519 keypair, POSTs /api/agents/announce, prints the SHA256 fingerprint in a copy-friendly banner, opens /ws/agent/pending, signs the server's nonce, and blocks until the admin clicks Accept (1h ceiling). On accept, persists the bearer + host_id from the 'enrolled' message; on reject (close code 4001) exits with a clear error. Repo creds are pushed via config.update on the first standard WS hello (P1-32 path), not in the enrolled message itself.
This commit is contained in:
@@ -62,6 +62,13 @@ type Config struct {
|
||||
LegacyRepoURL string `yaml:"repo_url,omitempty"`
|
||||
LegacyRepoPassword string `yaml:"repo_password,omitempty"`
|
||||
|
||||
// AnnounceKey is the base64-encoded Ed25519 private key used by
|
||||
// announce-and-approve enrolment (P2-18). Generated on first
|
||||
// announce, persisted so the agent can re-attach to the same
|
||||
// pending row across restarts. 64 bytes when decoded.
|
||||
// Empty for token-flow enrolments.
|
||||
AnnounceKey string `yaml:"announce_key,omitempty"`
|
||||
|
||||
// path is the file we loaded from. Used by Save.
|
||||
path string `yaml:"-"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user