1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! `(defenv …)` — the typed environment metadata form.
//!
//! Authoring shape:
//!
//! ```lisp
//! (defenv
//! :name "production"
//! :description "Edge-protected production cluster."
//! :imports ("tatara-gateway-api" "tatara-cilium" "tatara-ebpf")
//! :labels (:tier "prod" :region "us-east-1"))
//! ```
//!
//! Only the metadata lives here — the **resources** that make up
//! the env are sibling top-level forms picked up by
//! `compile::compile_into_env`. Keeping the metadata typed but
//! the body declarative is what lets the same env survive across
//! N programs and N synthesizer passes.
use IndexMap;
use ;
use TataraDomain;
/// The `(defenv …)` form. One per program — multiple defenvs in
/// one program is a structural error caught by `compile_into_env`.