lava-architectures 0.2.13

Reusable infrastructure compositions for the lava suite. Hand-authored typed architectures (AwsVpcNetwork, AkeylessAwsIntegration, EksScaleTest, etc.). Pangea-architectures analog — port produces byte-equivalent terraform.json so state files match between pangea+tofu and lava+magma.
Documentation
# lava-architectures

Reusable infrastructure compositions for the lava suite.

Hand-authored typed architectures — `AwsVpcNetwork`, `AkeylessAwsIntegration`,
`EksScaleTest`, and others — built on the rest of the lava family.

The Pangea-architectures analog. The port produces **byte-equivalent
`terraform.json`**, so state files match between `pangea` + `tofu` and
`lava` + [`magma`](https://github.com/pleme-io/magma). That byte-equivalence
is the property that makes migrating an existing estate a non-event.

## Install

```toml
[dependencies]
lava-architectures = "0.1"
```

## Rendering a dashboard: `lava-render`

The `dashboards/` catalogue holds `(deflava-dashboard …)` sources that render
to Grafana JSON. `lava-render` does that render with **no pangea-operator in
the loop**, so the shipped bundle is regenerable from a clean checkout rather
than only reproducible inside a cluster.

```sh
cargo run --bin lava-render -- --list

cargo run --bin lava-render -- workload-overview \
  --param env=prod --param service=auth --param job=auth \
  --param namespace=default \
  --param datasource=mimir --param logs_datasource=vlogs \
  --out workload-overview.json
```

A bare name resolves against `dashboards/`; an argument containing a path
separator or ending in `.tlisp` is used as-is. Output is 2-space-indented with
a trailing newline, so a regenerated bundle diffs line-by-line.

It exits non-zero — writing nothing — on an unknown dashboard, an unreadable
file, an evaluation failure, a `{placeholder}` the source requires that no
`--param` supplied, a `--param` the source does not use, and an unbound
placeholder that survives into the rendered output. That last one is the point:
an unbound `{service}` renders perfectly and ships a literal brace into a live
dashboard title, which nothing downstream would have caught.

## The suite

This crate sits at the top of the DAG and consumes nearly all of it:

```
lava-types ─► lava-schema ─┐
lava-core ─┬─► lava-arch ──┼─► lava-eval ─► lava-test ─┐
           └─► lava-contracts ───────────────────────► lava-architectures
```

## License

MIT