cedros-admin-server 0.1.0

Shared admin server shell for Cedros admin composition
Documentation
# cedros-admin-server

Independent server shell for Cedros admin composition.

This crate is intentionally thin today:
- it does not depend on `cedros-data`
- it does not re-own `cedros-login` or `cedros-pay` business logic
- it establishes the standalone and embedded package boundary for Cedros Admin
- it can proxy or mount product-owned admin APIs under stable composition prefixes

## Embedded mode

Mount the shared router inside an existing Axum application:

```rust
use axum::Router;
use cedros_admin::{router_with_products, Config, ProductRouters};

let config = Config::default();
let admin_router = router_with_products(
    &config,
    ProductRouters {
        login: Some(Router::new()),
        pay: Some(Router::new()),
    },
);
```

## Standalone mode

Run the binary directly:

```bash
cargo run -- --bind-addr 127.0.0.1:8080
```

Standalone composition uses these env vars:

- `CEDROS_ADMIN_LOGIN_UPSTREAM_URL`
- `CEDROS_ADMIN_PAY_UPSTREAM_URL`

When configured, the server proxies product-owned admin APIs under:

- `/login/*`
- `/pay/*`

That keeps `cedros-login` and `cedros-pay` as the owners of their own admin pages and APIs while giving Cedros Admin a real standalone composition server.