Skip to main content

Crate xianyun_core

Crate xianyun_core 

Source
Expand description

Rust port of internal/config, internal/naming, internal/orderedmap, internal/variables, internal/dyn, and internal/toposort.

See PORT_NOTES.md for tests that could not be carried over verbatim, and why, plus per-module divergence notes.

Modules§

config
Port of internal/config and its latest, types, and versions sub-packages.
dyn_access
Port of internal/dyn: path-based traversal, type conversion, and related helpers for serde_json::Value/serde_yaml::Value trees produced by JSON or YAML decoding (the Go original operates on map[string]any / []any; here we operate on a serde_json::Value tree, which is the closest Rust equivalent to Go’s dynamically-typed decode result).
naming
Port of internal/naming: cluster naming strategies for generating deterministic, RFC 1123-compliant cluster names.
orderedmap
Port of internal/orderedmap: a generic ordered map that preserves insertion order and supports YAML/JSON (de)serialization.
toposort
Port of internal/toposort: orders the nodes of a directed acyclic graph so that every node follows the nodes it depends on, using Kahn’s algorithm.
variables
Port of internal/variables: resolves caproni configuration variables. Supports user-defined static literal variables and predefined (built-in) variables, falling back to the process environment.