Skip to content

sdk: add admin operations to rust and external sdks #165

@vieiralucas

Description

@vieiralucas

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions