ZPR visa service implementation (under active development).
vs- The ZPR Visa Service. Aka "v2vs" -- the "v2" used to differentiate it from the "v1", prototype visa service.libeval- The "evaluator" library used by thevsandzpt. Includes the code that compares a description of network traffic to policy to determine if a visa should be issued.zpt- ZPR Policy Tester is a command line tool for testing howlibevalevaluates policy.vs-admin- CLI based administration client for the visa service. Exercises the HTTPS admin api ofvs.zpr-dashboard- CLI based "GUI" dashboard for monitoring visa service activity.admin-api-types- Library crate for data structures used byvsandvs-admin.integration-test- Shell-based integration tests. Includes evaluation tests oflibevalusingzpt.tools- Helper scripts, includingzpr-pkifor PKI operations.
Most of the visa service code depends on the
zpr-common repository, which
defines data structures used in the NODE-VS API and the policy binary format.
This dependency is pulled automatically via git in Cargo.toml, so no manual
setup is required.
- Rust - Edition 2024. Install via rustup.
- Make - The build is driven by a root Cargo workspace.
- OpenSSL - Via the
opensslcrate. - Redis/Valkey - Required at runtime by
vs.
Run make or cargo build in this top-level directory.
Run make test or cargo test in this top-level directory to run all
the unit tests.
Run make release to produce a release tarball of the visa service tools. This
builds everything, then packages the vs, vs-admin, and zpt binaries into
build-release/.
The visa service (vs) exposes an HTTPS admin API on port 8182 by default.
The vs-admin command line tool consumes this API.
See admin-http-api.txt for full endpoint documentation.