rust-keylime
rust-keylime copied to clipboard
keylimectl: A replacement for `keylime_tenant` in rust
Disclaimer: this is an AI generated rewrite. We should be careful reviewing it.
Adds a modern Rust replacement for keylime_tenant with full API compatibility and improved usability.
Features
- Agent Management: add, remove, update, status, reactivate commands
- Policy Management: runtime and measured boot policy CRUD operations
- Resource Listing: agents, policies with detailed/basic views
- Multi-format Output: JSON, table, YAML with configurable verbosity
- Robust Error Handling: typed errors with context and retry logic
- TLS Support: mutual authentication with certificate validation
- Configuration: file-based config with CLI overrides
Implementation
- 8,512 lines of documented Rust code
- 158 comprehensive unit tests (100% pass rate)
- 0 clippy warnings, full type safety
- Modular architecture with proper abstractions
- IPv6 support and exponential backoff retry
Usage
keylimectl agent add <uuid> --ip 192.168.1.100 --port 9002
keylimectl policy create web-policy --file policy.json
keylimectl list agents --detailed
Replaces Python keylime_tenant while maintaining backward compatibility.
Codecov Report
:x: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 42.18%. Comparing base (bec5d94) to head (d1ff80a).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| keylime-push-model-agent/src/attestation.rs | 0.00% | 1 Missing :warning: |
Additional details and impacted files
| Flag | Coverage Δ | |
|---|---|---|
| e2e-testsuite | 42.18% <0.00%> (-16.10%) |
:arrow_down: |
| upstream-unit-tests | 42.18% <0.00%> (-16.10%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Files with missing lines | Coverage Δ | |
|---|---|---|
| keylime-push-model-agent/src/struct_filler.rs | 0.00% <ø> (-25.44%) |
:arrow_down: |
| keylime-push-model-agent/src/attestation.rs | 0.00% <0.00%> (-44.76%) |
:arrow_down: |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.