KeiSeiKit-1.0/_primitives/_rust/kei-net-ipsec/src/lib.rs
Parfii-bot a4e667de10 KeiSeiKit-public — clean state
Single-commit clean baseline after security scrub of niche-tells,
project codenames, internal jargon, and contributor-email leaks.

Contents:
- 100 Rust crates (_primitives/_rust/)
- 37 agent manifests (_manifests/) + generated specs (_generated/)
- 67 user-invocable skills (skills/)
- 33 hooks (hooks/)
- Composition blocks (_blocks/)
- Documentation (docs/, README.md)
- TS adapter packages (_ts_packages/)
- Assembler (_assembler/)
- Roles (_roles/)
- Templates (_templates/)
- Forgejo CI (.forgejo/)

Author: Denis Parfionovich <info@greendragon.info>

License: see LICENSE.
2026-05-01 12:09:03 +08:00

31 lines
1.2 KiB
Rust

// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 <author org>
//
//! kei-net-ipsec — IPsec impl of [`kei_runtime_core::NetworkMode`] via
//! `swanctl` shell-out (strongSwan).
//!
//! Layout (Constructor Pattern: 1 file = 1 cube, ≤200 LOC each):
//! - [`error`]: local `Error`/`Result` mapping into the runtime-core error.
//! - [`runner`]: [`Runner`] trait + [`SystemRunner`] / [`MockRunner`] —
//! single subprocess seam (mirror of `kei-llm-mlx::runner`).
//! - [`parse`]: SA-stanza parser for `swanctl --list-sas` text output.
//! - [`network`]: [`IpsecMode`] — DNA-bearing `NetworkMode` impl.
//!
//! Mode flags:
//! - `is_public() = true` (IPsec exposes a routable public path; sibling
//! tailscale / wireguard adapters return `false`).
//!
//! Env:
//! - `SWANCTL_CONFIG_DIR` — override `/etc/swanctl/` config root.
//! - `IPSEC_CHILD_NAME` — child SA name to bring up / tear down (default
//! `home`).
pub mod error;
pub mod network;
pub mod parse;
pub mod runner;
pub use error::{Error, Result};
pub use network::{IpsecMode, DEFAULT_CHILD_NAME, DEFAULT_CONFIG_DIR};
pub use parse::parse_sas_output;
pub use runner::{MockRunner, RunOutput, Runner, SystemRunner};