- Policy struct: matcher Proc, max_age, warn_at, enforce_action, notify_channels, triggers - Builder validates all required fields at .build, raises BuilderError with the policy name - DSL exposes top-level 'policy' method via 'with builder yield' so all builder methods (description, match, max_age, enforce, notify_via, etc.) are receiver-less inside the block - Symbol literals autocast to Action/Channel/Trigger enums on direct calls; Symbol overload for splat parameters (notify_via :telegram, :email) - Evaluator subscribes to bus, fires PolicyViolation + RotationScheduled (rotate_immediately) or AlertRaised (notify_only/quarantine) when overdue - 15 unit specs cover Policy.matches?/overdue?/in_warning_window?, Builder validation, DSL syntax with closures, evaluator action dispatch |
||
|---|---|---|
| .. | ||
| .github/workflows | ||
| spec | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| shard.lock | ||
| shard.yml | ||
README.md
Credential Rotation Enforcer (cre)
A Crystal-based daemon that tracks and enforces credential rotation
policies across AWS Secrets Manager, HashiCorp Vault, GitHub fine-grained
PATs, and local .env files.
Full README, asciinema demos, and walkthrough live in
learn/. This README will be expanded in Phase 16 of the build.