Skip to content

Commit ed3cc98

Browse files
committed
feat(enterprise): add alert management commands (#300)
- List and filter alerts by type and severity - Get specific alerts by UID - View cluster, node, and database alerts - Manage alert settings - Full JMESPath query support - Comprehensive mdBook documentation
1 parent 70330d2 commit ed3cc98

File tree

7 files changed

+777
-0
lines changed

7 files changed

+777
-0
lines changed

ENTERPRISE_AUDIT.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Enterprise Command Coverage Audit
2+
3+
## ✅ Implemented Commands (23/31 handlers - 74% coverage)
4+
5+
| Handler | Command File | Status |
6+
|---------|-------------|---------|
7+
| actions.rs | actions.rs | ✅ Merged |
8+
| bdb_groups.rs | bdb_group.rs | ✅ Merged |
9+
| bdb.rs | database.rs | ✅ Merged |
10+
| cluster.rs | cluster.rs | ✅ Merged |
11+
| cm_settings.rs | cm_settings.rs | ✅ Merged |
12+
| crdb_tasks.rs | crdb_task.rs | ✅ Merged |
13+
| crdb.rs | crdb.rs | ✅ Merged |
14+
| diagnostics.rs | diagnostics.rs | ✅ Merged |
15+
| endpoints.rs | endpoint.rs | ✅ Merged |
16+
| job_scheduler.rs | job_scheduler.rs | ✅ Merged |
17+
| jsonschema.rs | jsonschema.rs | 🔄 PR #298 |
18+
| logs.rs | logs.rs | ✅ Merged |
19+
| migrations.rs | migration.rs | 🔄 PR #299 |
20+
| modules.rs | module.rs | ✅ Merged |
21+
| nodes.rs | node.rs | ✅ Merged |
22+
| proxies.rs | proxy.rs | ✅ Merged |
23+
| redis_acls.rs | rbac.rs | ✅ Merged (combined) |
24+
| roles.rs | rbac.rs | ✅ Merged (combined) |
25+
| shards.rs | shard.rs | ✅ Merged |
26+
| stats.rs | stats.rs | ✅ Merged |
27+
| suffixes.rs | suffix.rs | 🔄 PR #295 |
28+
| usage_report.rs | usage_report.rs | ✅ Merged |
29+
| users.rs | rbac.rs | ✅ Merged (combined) |
30+
31+
## ❌ Not Implemented (8/31 handlers)
32+
33+
| Handler | Description | Priority |
34+
|---------|-------------|----------|
35+
| alerts.rs | Cluster/node/database alert management | Low |
36+
| bootstrap.rs | Cluster bootstrap and initialization | Low |
37+
| debuginfo.rs | Debug information collection | Low |
38+
| ldap_mappings.rs | LDAP integration mappings | Low (partial in rbac) |
39+
| license.rs | License management and info | Medium |
40+
| local.rs | Local node-specific operations | Low |
41+
| ocsp.rs | OCSP certificate validation | Low |
42+
| services.rs | Service configuration management | Low |
43+
44+
## Summary
45+
46+
### Progress Today
47+
- Started with ~50% coverage
48+
- Added **10 new command modules** in one session
49+
- Achieved **74% coverage** of all Redis Enterprise handlers
50+
- Created **7 PRs** with full documentation and tests
51+
52+
### Key Achievements
53+
- **Complete async operation support** across all create/update/delete operations
54+
- **Consolidated RBAC** - Combined users, roles, and ACLs into single cohesive module
55+
- **Full documentation** - Every command has comprehensive mdBook documentation
56+
- **Test coverage** - All commands have unit tests
57+
- **Clean code** - All PRs pass linting and clippy checks
58+
59+
### Remaining Work
60+
The 8 unimplemented handlers are mostly low-priority administrative functions:
61+
- **Alerts** - Could be useful for monitoring integration
62+
- **License** - Might be worth adding for license compliance checking
63+
- **Bootstrap/Local/Services** - Very specialized, rarely used
64+
- **OCSP/Debug** - Advanced features for specific scenarios
65+
66+
### Recommendation
67+
The current 74% coverage includes all the critical operational commands. The remaining handlers are specialized administrative functions that most users won't need. Consider implementing:
68+
1. **license.rs** - For license compliance monitoring
69+
2. **alerts.rs** - For monitoring integration
70+
71+
The others can be added on-demand if users request them.

crates/redisctl/src/cli.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -962,6 +962,9 @@ pub enum EnterpriseCommands {
962962
/// Action (task) operations
963963
#[command(subcommand)]
964964
Action(crate::commands::enterprise::actions::ActionCommands),
965+
/// Alert management operations
966+
#[command(subcommand)]
967+
Alerts(crate::commands::enterprise::alerts::AlertsCommands),
965968
/// Database group operations
966969
#[command(subcommand, name = "bdb-group")]
967970
BdbGroup(crate::commands::enterprise::bdb_group::BdbGroupCommands),

0 commit comments

Comments
 (0)