Compare commits

...

3 Commits

Author SHA1 Message Date
Prox
06b54c97f1 fix: use correct event field name setup_key_name (not setup_key) 2026-03-06 19:49:59 +02:00
9ffe1ba7b5 chore: mark GS-Enroll-Test as enrolled
All checks were successful
Reconcile / reconcile (push) Successful in 5s
2026-03-06 17:47:04 +00:00
5f9da63fa0 Merge pull request 'add GS-Enroll-Test setup key for enrollment test' (#5) from test-scenario-4 into main
All checks were successful
Reconcile / reconcile (push) Successful in 5s
Reviewed-on: #5
2026-03-06 17:31:51 +00:00
3 changed files with 32 additions and 18 deletions

View File

@ -12,7 +12,7 @@ function makeEvent(overrides: Partial<NbEvent> = {}): NbEvent {
initiator_id: "init-1", initiator_id: "init-1",
initiator_name: "admin", initiator_name: "admin",
target_id: "peer-1", target_id: "peer-1",
meta: { setup_key: "drone-key", name: "drone-01" }, meta: { setup_key_name: "drone-key", name: "drone-01" },
...overrides, ...overrides,
}; };
} }
@ -66,7 +66,7 @@ Deno.test("processEnrollmentEvents filters by lastTimestamp", () => {
Deno.test("processEnrollmentEvents ignores unknown keys", () => { Deno.test("processEnrollmentEvents ignores unknown keys", () => {
const events: NbEvent[] = [ const events: NbEvent[] = [
makeEvent({ makeEvent({
meta: { setup_key: "rogue-key", name: "rogue-host" }, meta: { setup_key_name: "rogue-key", name: "rogue-host" },
target_id: "peer-x", target_id: "peer-x",
}), }),
]; ];

View File

@ -21,10 +21,10 @@ export function processEnrollmentEvents(
.filter((e) => { .filter((e) => {
if (e.activity_code !== "peer.setupkey.add") return false; if (e.activity_code !== "peer.setupkey.add") return false;
if (lastTimestamp && e.timestamp <= lastTimestamp) return false; if (lastTimestamp && e.timestamp <= lastTimestamp) return false;
if (!knownKeyNames.has(e.meta.setup_key)) { if (!knownKeyNames.has(e.meta.setup_key_name)) {
console.log(JSON.stringify({ console.log(JSON.stringify({
msg: "unknown_enrollment", msg: "unknown_enrollment",
setup_key: e.meta.setup_key, setup_key_name: e.meta.setup_key_name,
peer_id: e.target_id, peer_id: e.target_id,
})); }));
return false; return false;
@ -32,7 +32,7 @@ export function processEnrollmentEvents(
return true; return true;
}) })
.map((e) => ({ .map((e) => ({
setupKeyName: e.meta.setup_key, setupKeyName: e.meta.setup_key_name,
peerId: e.target_id, peerId: e.target_id,
peerHostname: e.meta.name, peerHostname: e.meta.name,
timestamp: e.timestamp, timestamp: e.timestamp,

View File

@ -15,30 +15,40 @@
"type": "one-off", "type": "one-off",
"expires_in": 604800, "expires_in": 604800,
"usage_limit": 1, "usage_limit": 1,
"auto_groups": ["ground-stations"], "auto_groups": [
"ground-stations"
],
"enrolled": false "enrolled": false
}, },
"Pilot-TestHawk-1": { "Pilot-TestHawk-1": {
"type": "one-off", "type": "one-off",
"expires_in": 604800, "expires_in": 604800,
"usage_limit": 1, "usage_limit": 1,
"auto_groups": ["pilots"], "auto_groups": [
"pilots"
],
"enrolled": false "enrolled": false
}, },
"GS-Enroll-Test": { "GS-Enroll-Test": {
"type": "one-off", "type": "one-off",
"expires_in": 604800, "expires_in": 604800,
"usage_limit": 1, "usage_limit": 1,
"auto_groups": ["ground-stations"], "auto_groups": [
"enrolled": false "ground-stations"
],
"enrolled": true
} }
}, },
"policies": { "policies": {
"pilots-to-gs": { "pilots-to-gs": {
"description": "", "description": "",
"enabled": false, "enabled": false,
"sources": ["pilots"], "sources": [
"destinations": ["ground-stations"], "pilots"
],
"destinations": [
"ground-stations"
],
"bidirectional": true, "bidirectional": true,
"protocol": "all", "protocol": "all",
"action": "accept", "action": "accept",
@ -47,14 +57,22 @@
"observers-to-gs": { "observers-to-gs": {
"description": "", "description": "",
"enabled": true, "enabled": true,
"sources": ["observers"], "sources": [
"destinations": ["ground-stations"], "observers"
],
"destinations": [
"ground-stations"
],
"bidirectional": false, "bidirectional": false,
"protocol": "all", "protocol": "all",
"action": "accept", "action": "accept",
"source_posture_checks": [] "source_posture_checks": []
} }
}, },
"routes": {},
"dns": {
"nameserver_groups": {}
},
"posture_checks": {}, "posture_checks": {},
"networks": {}, "networks": {},
"peers": {}, "peers": {},
@ -64,9 +82,5 @@
"role": "owner", "role": "owner",
"auto_groups": [] "auto_groups": []
} }
},
"routes": {},
"dns": {
"nameserver_groups": {}
} }
} }