17
Cargo.lock
generated
17
Cargo.lock
generated
@@ -408,6 +408,21 @@ dependencies = [
|
|||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "kubernetes-like"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"nocontrol",
|
||||||
|
"nocontrol-tui",
|
||||||
|
"rand",
|
||||||
|
"serde",
|
||||||
|
"tokio",
|
||||||
|
"tracing",
|
||||||
|
"tracing-subscriber",
|
||||||
|
"uuid",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lazy_static"
|
name = "lazy_static"
|
||||||
version = "1.5.0"
|
version = "1.5.0"
|
||||||
@@ -492,7 +507,6 @@ dependencies = [
|
|||||||
"hex",
|
"hex",
|
||||||
"insta",
|
"insta",
|
||||||
"jiff",
|
"jiff",
|
||||||
"nocontrol-tui",
|
|
||||||
"rand",
|
"rand",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@@ -500,7 +514,6 @@ dependencies = [
|
|||||||
"tokio",
|
"tokio",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
"tracing-subscriber",
|
|
||||||
"tracing-test",
|
"tracing-test",
|
||||||
"uuid",
|
"uuid",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[workspace]
|
[workspace]
|
||||||
members = ["crates/*"]
|
members = ["crates/*", "examples/*"]
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
@@ -7,7 +7,12 @@ version = "0.0.1"
|
|||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
nocontrol = { path = "crates/nocontrol" }
|
nocontrol = { path = "crates/nocontrol" }
|
||||||
|
nocontrol-tui = { path = "crates/nocontrol-tui" }
|
||||||
|
|
||||||
anyhow = { version = "1.0.71" }
|
anyhow = { version = "1.0.71" }
|
||||||
tokio = { version = "1", features = ["full"] }
|
tokio = { version = "1", features = ["full"] }
|
||||||
tracing = { version = "0.1", features = ["log"] }
|
tracing = { version = "0.1", features = ["log"] }
|
||||||
|
rand = "0.9.2"
|
||||||
|
uuid = { version = "1.19.0", features = ["serde", "v4", "v7"] }
|
||||||
|
serde = { version = "1.0.228", features = ["derive"] }
|
||||||
|
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
|
||||||
|
|||||||
13
README.md
13
README.md
@@ -12,6 +12,19 @@ A Rust library for building Kubernetes-style reconciliation controllers. Define
|
|||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
Add to your `Cargo.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[package]
|
||||||
|
...
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
nocontrol = "0.0.1"
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note:** Requires Rust nightly (edition 2024).
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
use nocontrol::{
|
use nocontrol::{
|
||||||
ControlPlane, Operator, OperatorState, Specification,
|
ControlPlane, Operator, OperatorState, Specification,
|
||||||
|
|||||||
@@ -14,17 +14,15 @@ anyhow.workspace = true
|
|||||||
async-trait = "0.1.89"
|
async-trait = "0.1.89"
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
jiff = { version = "0.2.17", features = ["serde"] }
|
jiff = { version = "0.2.17", features = ["serde"] }
|
||||||
rand = "0.9.2"
|
rand.workspace = true
|
||||||
serde = { version = "1.0.228", features = ["derive"] }
|
serde.workspace = true
|
||||||
serde_json = "1.0.148"
|
serde_json = "1.0.148"
|
||||||
sha2 = "0.10.9"
|
sha2 = "0.10.9"
|
||||||
tokio.workspace = true
|
tokio.workspace = true
|
||||||
tokio-util = "0.7.18"
|
tokio-util = "0.7.18"
|
||||||
tracing.workspace = true
|
tracing.workspace = true
|
||||||
uuid = { version = "1.19.0", features = ["serde", "v4", "v7"] }
|
uuid.workspace = true
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
nocontrol-tui = { path = "../nocontrol-tui", version = "0.1.0" }
|
|
||||||
insta = "1.46.0"
|
insta = "1.46.0"
|
||||||
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
|
|
||||||
tracing-test = { version = "0.2.5", features = ["no-env-filter"] }
|
tracing-test = { version = "0.2.5", features = ["no-env-filter"] }
|
||||||
|
|||||||
17
examples/kubernetes-like/Cargo.toml
Normal file
17
examples/kubernetes-like/Cargo.toml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
[package]
|
||||||
|
name = "kubernetes-like"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
publish = false
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
nocontrol.workspace = true
|
||||||
|
nocontrol-tui.workspace = true
|
||||||
|
|
||||||
|
anyhow.workspace = true
|
||||||
|
tokio.workspace = true
|
||||||
|
serde.workspace = true
|
||||||
|
tracing-subscriber.workspace = true
|
||||||
|
tracing.workspace = true
|
||||||
|
rand.workspace = true
|
||||||
|
uuid.workspace = true
|
||||||
Reference in New Issue
Block a user