Skip to content

Commit 0a6405c

Browse files
committed
docs(0033): refine CLI and config
1 parent 3cfe41a commit 0a6405c

File tree

1 file changed

+19
-37
lines changed

1 file changed

+19
-37
lines changed

active/0033-agent-registry.md

Lines changed: 19 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -281,29 +281,26 @@ interaction topics described by each Agent Card endpoint.
281281

282282
#### 6. CLI Management
283283

284-
New `emqx_ctl a2a-registry` commands:
284+
New `emqx ctl a2a-registry` commands:
285285

286286
```bash
287287
# List all registered agents
288-
emqx_ctl a2a-registry list
288+
emqx ctl a2a-registry list
289289

290290
# List agents with filters
291-
emqx_ctl a2a-registry list --org com.example --status online
291+
emqx ctl a2a-registry list --org com.example --status online
292292

293293
# Get specific agent details
294-
emqx_ctl a2a-registry get com.example factory-a iot-ops-agent-001
294+
emqx ctl a2a-registry get com.example factory-a iot-ops-agent-001
295295

296296
# Register/update agent manually (admin override)
297-
emqx_ctl a2a-registry register <agent-card.json>
297+
emqx ctl a2a-registry register <agent-card.json>
298298

299299
# Delete agent registration
300-
emqx_ctl a2a-registry delete com.example factory-a iot-ops-agent-001
301-
302-
# Search agents by capability
303-
emqx_ctl a2a-registry search --capability device-diagnostics
300+
emqx ctl a2a-registry delete com.example factory-a iot-ops-agent-001
304301

305302
# Show registry statistics
306-
emqx_ctl a2a-registry stats
303+
emqx ctl a2a-registry stats
307304
```
308305

309306
#### 7. Dashboard UI
@@ -398,13 +395,12 @@ New "A2A Registry" section in the EMQX Dashboard:
398395

399396
### Recommended QoS Profile
400397

401-
MQX SHOULD document these defaults:
398+
EMQX SHOULD document these defaults:
402399

403-
1. Discovery / Agent Card retained publications: QoS 1
404-
2. Event / heartbeat updates: QoS 0
405-
3. Task request delegation: QoS 1
406-
4. Final artifact/result delivery: QoS 1
407-
5. Streaming token-by-token updates: QoS 0
400+
- Discovery / Agent Card retained publications: QoS 1
401+
- Request: QoS 1
402+
- Reply: QoS 1
403+
- Event: QoS 0
408404

409405
## Configuration Changes
410406

@@ -417,10 +413,6 @@ a2a_registry {
417413
## Enable/disable the a2a registry feature
418414
enable = false
419415
420-
## Topic prefix pattern for registry topics
421-
## Default: "a2a/v1/discovery/{org_id}/{unit_id}/{agent_id}"
422-
topic_prefix = "a2a/v1/discovery"
423-
424416
## Maximum size of Agent Card payload (bytes)
425417
max_card_size = 65536
426418
@@ -430,11 +422,10 @@ a2a_registry {
430422
## Enable schema validation
431423
validate_schema = true
432424
433-
## Path to custom Agent Card JSON schema (optional)
434-
## If not specified, uses built-in schema
435-
schema_path = ""
425+
## EMQX JSON schema registry reference
426+
schema_name= ""
436427
437-
## Require security metadata in Agent Card (public key or jwksUri)
428+
## Require security metadata in Agent Card (jwksUri)
438429
require_security_metadata = false
439430
440431
## Trusted JKU allowlist for Agent Card registration.
@@ -448,9 +439,6 @@ a2a_registry {
448439
449440
## Enable HTTPS/TLS validation when fetching JWKS from jwksUri
450441
verify_jku_tls = true
451-
452-
## Enable audit logging for registry operations
453-
audit_log = true
454442
}
455443
```
456444

@@ -463,13 +451,11 @@ Registry topics should be protected by ACL rules. Example:
463451
# Default A2A rules (can be placed in default acl.conf):
464452

465453
# Allow all authenticated clients to discover cards
466-
{allow, all, subscribe, ["a2a/v1/discovery/#"]}.
454+
# Allow each client to receive only its own responses
455+
{allow, all, subscribe, ["a2a/v1/discovery/#", "a2a/v1/reply/${username}/#"]}.
467456

468457
# Allow all authenticated clients to send requests
469458
{allow, all, publish, ["a2a/v1/request/#"]}.
470-
471-
# Allow each client to receive only its own responses
472-
{allow, all, subscribe, ["a2a/v1/reply/${username}/#"]}.
473459
```
474460

475461
These are baseline defaults. Operators can add stricter or broader rules in
@@ -486,7 +472,7 @@ This feature is fully backward compatible:
486472
behavior or retained message handling. It adds a management layer on top of
487473
standard MQTT retained messages.
488474

489-
3. **Topic Isolation**: Registry topics default to `a2a/v1/discovery`, which
475+
3. **Topic Isolation**: Registry topics default to `a2a/v1/`, which
490476
keeps agent discovery traffic separate from existing application topics.
491477

492478
4. **Graceful Degradation**: If the registry service is unavailable, MQTT
@@ -520,10 +506,7 @@ This feature is fully backward compatible:
520506
- Python agent registration
521507
- JavaScript agent discovery
522508
- CLI management workflows
523-
- Dashboard JSON import/export workflow
524-
525-
5. **Migration Guide**: Document how to migrate from custom discovery to Agent
526-
Registry
509+
- Dashboard JSON import/export workflow
527510

528511
## Testing Suggestions
529512

@@ -541,7 +524,6 @@ This feature is fully backward compatible:
541524
- Offline transition updates retained card extension status to `offline`
542525
- Reconnect transition updates retained card extension status to `online`
543526
- ACL enforcement
544-
- MQTT 5 properties (`response_topic`, `correlation_data`, user properties)
545527
- Registration trust policy with `trusted_jkus`
546528
- card `jwksUri` must match allowlist when configured
547529
- unmatched `jwksUri` registration is rejected

0 commit comments

Comments
 (0)