Problem
All SDKs (Rust, Go, Python, JS, Ruby, Java) only expose hot-path operations (enqueue, consume, ack, nack). Admin operations (create/delete queue, stats, config, list queues, redrive, API key management, ACLs) are only available via the fila CLI.
Why it matters
Applications that need to create queues on startup or check stats programmatically currently have to shell out to the CLI or use raw gRPC/binary protocol calls. This is awkward and error-prone.
Scope
Rust SDK (fila-sdk)
The binary protocol already supports all admin opcodes (Epic 20.2). The SDK just needs methods wrapping them:
create_queue, delete_queue
get_stats, list_queues
set_config, get_config, list_config
redrive
create_api_key, revoke_api_key, list_api_keys
set_acl, get_acl
External SDKs
Once the external SDKs are migrated to the binary protocol (Epic 21), they should get the same admin methods.
Notes
- The
ProtocolMessage trait and typed request/response structs already exist in fila-fibp for all admin opcodes
- The test added in story 20.3 (
client_drop_sends_disconnect_and_cleans_up) currently uses the CLI for stats checks because the SDK lacks get_stats — this could be simplified once admin methods are available
Problem
All SDKs (Rust, Go, Python, JS, Ruby, Java) only expose hot-path operations (enqueue, consume, ack, nack). Admin operations (create/delete queue, stats, config, list queues, redrive, API key management, ACLs) are only available via the
filaCLI.Why it matters
Applications that need to create queues on startup or check stats programmatically currently have to shell out to the CLI or use raw gRPC/binary protocol calls. This is awkward and error-prone.
Scope
Rust SDK (
fila-sdk)The binary protocol already supports all admin opcodes (Epic 20.2). The SDK just needs methods wrapping them:
create_queue,delete_queueget_stats,list_queuesset_config,get_config,list_configredrivecreate_api_key,revoke_api_key,list_api_keysset_acl,get_aclExternal SDKs
Once the external SDKs are migrated to the binary protocol (Epic 21), they should get the same admin methods.
Notes
ProtocolMessagetrait and typed request/response structs already exist infila-fibpfor all admin opcodesclient_drop_sends_disconnect_and_cleans_up) currently uses the CLI for stats checks because the SDK lacksget_stats— this could be simplified once admin methods are available