lava-operator 0.5.12

lava-operator — typed Kubernetes controller for the LavaArchitecture CRD. Operators submit a LavaArchitecture manifest naming a .tlisp source + bindings + gate; the controller renders via magma-lava + applies via the embedded magma path (or shells out to tofu/terraform). Status conditions track Synthesized / Planned / Applied / Failed phases. Pangea-operator analog for the lava + tatara-lisp stack.
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "lava-operator"
version = "0.5.12"
authors = ["pleme-io"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "lava-operator — typed Kubernetes controller for the LavaArchitecture CRD. Operators submit a LavaArchitecture manifest naming a .tlisp source + bindings + gate; the controller renders via magma-lava + applies via the embedded magma path (or shells out to tofu/terraform). Status conditions track Synthesized / Planned / Applied / Failed phases. Pangea-operator analog for the lava + tatara-lisp stack."
readme = "README.md"
license = "MIT"
repository = "https://github.com/pleme-io/lava-operator"

[features]
controller = [
    "dep:kube",
    "dep:k8s-openapi",
    "dep:tokio",
    "dep:futures",
    "dep:schemars",
    "dep:tracing",
    "dep:tracing-subscriber",
    "dep:anyhow",
]
default = [
    "controller",
    "magma-bridge",
]
magma-bridge = ["dep:magma-lava"]

[lib]
name = "lava_operator"
path = "src/lib.rs"

[[bin]]
name = "lava-operator"
path = "src/main.rs"

[dependencies.anyhow]
version = "1"
optional = true

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.futures]
version = "0.3"
optional = true

[dependencies.indexmap]
version = "2"
features = ["serde"]

[dependencies.k8s-openapi]
version = "0.23"
features = ["latest"]
optional = true

[dependencies.kube]
version = "0.97"
features = [
    "runtime",
    "derive",
    "client",
    "rustls-tls",
    "unstable-runtime",
]
optional = true
default-features = false

[dependencies.lava-anomaly]
version = "0.1.4"

[dependencies.lava-dependency]
version = "0.1.5"

[dependencies.lava-drift]
version = "0.1.3"

[dependencies.lava-outcome-chain]
version = "0.1.2"

[dependencies.lava-viggy]
version = "0.1.5"

[dependencies.magma-lava]
version = "0.2.7"
optional = true

[dependencies.schemars]
version = "0.8"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "signal",
]
optional = true

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true

[lints.clippy]
pedantic = "warn"