athena_rs 3.22.1

Hyper performant polyglot Database driver
Documentation
use serde::Serialize;

#[derive(Debug, Clone, Serialize)]
pub struct RuntimeBinaryCatalogEntry {
    pub binary: &'static str,
    pub cargo_run: &'static str,
    pub package: &'static str,
    pub runtime_kind: &'static str,
    pub workers: &'static [&'static str],
    pub exposed_at_repo_root: bool,
    pub bundled_with_api: bool,
    pub notes: &'static str,
}

pub fn runtime_binary_catalog() -> Vec<RuntimeBinaryCatalogEntry> {
    vec![
        RuntimeBinaryCatalogEntry {
            binary: "athena_rs",
            cargo_run: "cargo run --bin athena_rs",
            package: "athena_rs",
            runtime_kind: "api",
            workers: &[
                "connection_monitor",
                "outbox_relay_worker",
                "registry_reconnect_worker",
                "deferred_query_worker",
                "backup_execution_worker",
                "backup_schedule_worker",
                "typesense_sync_worker",
            ],
            exposed_at_repo_root: true,
            bundled_with_api: true,
            notes: "Main API server. Boots inline workers on a best-effort basis when their dependencies are available.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_daemon_legacy_workers",
            cargo_run: "cargo run --bin athena_daemon_legacy_workers",
            package: "athena_rs",
            runtime_kind: "athena_daemon_legacy_workers",
            workers: &[
                "connection_monitor",
                "outbox_relay_worker",
                "registry_reconnect_worker",
            ],
            exposed_at_repo_root: true,
            bundled_with_api: false,
            notes: "Dedicated legacy background workers without the HTTP API process.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_deferred_query_worker",
            cargo_run: "cargo run --bin athena_deferred_query_worker",
            package: "athena_rs",
            runtime_kind: "athena_deferred_query_worker",
            workers: &["deferred_query_worker"],
            exposed_at_repo_root: true,
            bundled_with_api: false,
            notes: "Dedicated deferred gateway query worker.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_backup_worker",
            cargo_run: "cargo run --bin athena_backup_worker",
            package: "athena_rs",
            runtime_kind: "athena_backup_worker",
            workers: &["backup_execution_worker", "backup_schedule_worker"],
            exposed_at_repo_root: true,
            bundled_with_api: false,
            notes: "Dedicated backup scheduler and executor runtime. Requires pg_dump/pg_restore when backup work is enabled.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_typesense_worker",
            cargo_run: "cargo run --bin athena_typesense_worker",
            package: "athena_rs",
            runtime_kind: "athena_typesense_worker",
            workers: &["typesense_sync_worker"],
            exposed_at_repo_root: true,
            bundled_with_api: false,
            notes: "Dedicated Typesense sync worker runtime.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_client_pressure_worker",
            cargo_run: "cargo run --bin athena_client_pressure_worker",
            package: "athena_rs",
            runtime_kind: "athena_client_pressure_worker",
            workers: &["client_pressure_worker"],
            exposed_at_repo_root: true,
            bundled_with_api: false,
            notes: "Dedicated low-priority client pressure planner and recorder.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_cdc_websocket",
            cargo_run: "cargo run --bin athena_cdc_websocket",
            package: "athena_rs",
            runtime_kind: "athena_cdc_websocket",
            workers: &["cdc_websocket_server"],
            exposed_at_repo_root: true,
            bundled_with_api: false,
            notes: "Dedicated CDC websocket transport server on port 4053 using the shared Athena config bootstrap.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_clone_worker",
            cargo_run: "cargo run -p athena-daemon --bin athena_clone_worker",
            package: "athena-daemon",
            runtime_kind: "athena_clone_worker",
            workers: &["clone_worker"],
            exposed_at_repo_root: false,
            bundled_with_api: false,
            notes: "Dedicated clone worker still lives in the athena-daemon package because the clone engine depends on daemon-side crate wiring.",
        },
        RuntimeBinaryCatalogEntry {
            binary: "athena_daemon",
            cargo_run: "cargo run -p athena-daemon --bin athena_daemon",
            package: "athena-daemon",
            runtime_kind: "athena_daemon",
            workers: &[
                "connection_monitor",
                "outbox_relay_worker",
                "registry_reconnect_worker",
                "deferred_query_worker",
                "backup_execution_worker",
                "backup_schedule_worker",
                "typesense_sync_worker",
                "clone_worker",
            ],
            exposed_at_repo_root: false,
            bundled_with_api: false,
            notes: "Bundled dedicated daemon runtime for background workers, including clone execution.",
        },
    ]
}