初始化 Panda RPKI v0.1.0 开源候选版本
Some checks failed
ci / rust (push) Has been cancelled
ci / docker (push) Has been cancelled

This commit is contained in:
Panda RPKI OSS Local
2026-09-09 18:01:15 +08:00
commit 277cbca878
203 changed files with 92495 additions and 0 deletions

33
docs/development.md Normal file
View 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.