# nebucloud-xds
Production-ready xDS control plane library for Rust.
This is the facade crate — it re-exports the four internal crates
(`xds-core`, `xds-cache`, `xds-server`, `xds-types`) under a single dep
line and a convenient `prelude`.
```toml
[dependencies]
nebucloud-xds = "0.1"
```
Enable TLS with the `tls` feature:
```toml
nebucloud-xds = { version = "0.1", features = ["tls"] }
```
Other opt-in features: `reflection` (on by default), `metrics` (on by
default), `serde`, `full` (all of the above).
## Example
```rust,no_run
use std::sync::Arc;
use nebucloud_xds::prelude::*;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let cache = Arc::new(ShardedCache::new());
let snapshot = Snapshot::builder()
.version("v1")
.resources(TypeUrl::new(TypeUrl::CLUSTER), vec![])
.build();
cache.set_snapshot(NodeHash::from_id("my-envoy"), snapshot);
let server = XdsServer::builder()
.cache(cache)
.enable_sotw()
.enable_delta()
.build()?;
server.serve("[::]:18000".parse()?).await?;
Ok(())
}
```
## Documentation
- [Getting started guide](https://github.com/nebucloud/nebucloud-xds/blob/main/docs/getting-started.md)
— walkthrough with Envoy config.
- [Architecture](https://github.com/nebucloud/nebucloud-xds/blob/main/docs/architecture.md)
— crate layout, concurrency model, extension points.
- [Repo README](https://github.com/nebucloud/nebucloud-xds) — feature matrix,
design principles, roadmap.
## License
Apache-2.0 OR MIT (dual-licensed).