初始化 Panda RPKI v0.1.0 开源候选版本
This commit is contained in:
33
docs/development.md
Normal file
33
docs/development.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Development and testing
|
||||
|
||||
Use Rust 1.92 or newer on Linux and the [native dependencies](getting-started.md).
|
||||
Tests additionally need Python 3, Python `cryptography`, and OpenSSL's CLI.
|
||||
|
||||
```bash
|
||||
cargo fmt --all --check
|
||||
cargo check --locked --no-default-features
|
||||
cargo test --locked
|
||||
cargo clippy --locked --all-targets -- -D warnings
|
||||
cargo build --locked --release
|
||||
bash tests/synthetic_docker_e2e.sh
|
||||
```
|
||||
|
||||
Synthetic tests generate fresh keys, TALs, certificates and an HTTPS RRDP
|
||||
repository. They cover snapshot, actual delta, persistence, daemon restart and
|
||||
outputs without public RIR requests. Docker tests require Linux host networking.
|
||||
Generated keys and outputs are temporary and unsuitable as production inputs.
|
||||
|
||||
## Code organization
|
||||
|
||||
- `src/cli/` parses arguments; `src/runtime/` coordinates validation.
|
||||
- `src/repository/` handles transport, RRDP and persistence.
|
||||
- `src/scheduler/` coordinates bounded workers.
|
||||
- `src/model/` and `src/validation/` parse and validate RPKI objects.
|
||||
- `src/ccr/` exports canonical state; `src/ta_constraints/` evaluates constraints.
|
||||
- `src/daemon/` schedules runs; logging/output modules provide diagnostics.
|
||||
- `tests/` contains integration tests and generated fixtures.
|
||||
- `docker/` contains container and Compose deployment files.
|
||||
|
||||
Internal Rust modules are not a stable library API. The supported interface is
|
||||
the CLI and documented output files. Add behavior tests and update documentation
|
||||
when changing these interfaces.
|
||||
Reference in New Issue
Block a user