You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(enterprise): fix deserialization errors in cluster, user, and license structs (#327)
* fix: remove non-existent workflow command from docker-compose.yml
The workflow commands are not yet implemented in the CLI (they're commented out).
Updated docker-compose.yml to remove the auto-init container and added manual
initialization instructions instead.
* fix: use v0.5.0 tag instead of latest in docker-compose.yml
The workflow init-cluster command IS implemented and working. The issue was
using :latest tag which might not have the latest code. Using explicit
v0.5.0 tag ensures the workflow command is available.
* fix: init-cluster workflow to work without authentication for bootstrap
- Bootstrap API doesn't require authentication initially
- Modified init-cluster workflow to create unauthenticated client for bootstrap
- Added ARM64 Redis Enterprise image requirement to CLAUDE.md
- Fixed docker-compose.yml to build from local Dockerfile for testing
- Verified workflow successfully initializes cluster with admin user and database
* fix: disable init container until v0.5.1 release
The init-cluster workflow fix for unauthenticated bootstrap is not in
v0.5.0, so the docker-compose workflow won't work until the next release.
Commented out the init container with instructions for manual initialization
and notes to re-enable after v0.5.1 is published.
* fix(enterprise): fix deserialization errors in cluster, user, and license structs
- Fix ClusterInfo struct field types to match actual API responses:
- sentinel_cipher_suites: String -> Vec<String>
- sentinel_cipher_suites_tls_1_3: Vec<Value> -> String
- password_complexity: Value -> bool
- mtls_certificate_authentication: String -> bool
- upgrade_mode: String -> bool
- Fix User struct to match actual API:
- Remove non-existent 'username' field
- Make 'email' required (it's the user identifier)
- Add 'name' field for display name
- Add missing fields: auth_method, certificate_subject_line, role_uids
- Fix License struct:
- Remove required 'license_key' field (doesn't exist)
- Keep 'key' and 'license' as optional fields
- Update mock tests to use realistic API responses
- Add comprehensive cluster info test with actual API data
- Fix rbac_impl.rs to use email instead of username
Fixes#316, #317, #323, #324, #325
// Mock response focusing on fields that were causing deserialization issues
17
+
let cluster_response = json!({
18
+
"name":"cluster.local",
19
+
"created_time":"2025-09-15T21:22:00Z",
20
+
"cnm_http_port":8080,
21
+
"cnm_https_port":9443,
22
+
"email_alerts":false,
23
+
"rack_aware":false,
24
+
"bigstore_driver":"speedb",
25
+
// Fields that had type mismatches
26
+
"password_complexity":false,// Was Option<Value>, now Option<bool>
27
+
"upgrade_mode":false,// Was Option<String>, now Option<bool>
28
+
"mtls_certificate_authentication":false,// Was Option<String>, now Option<bool>
29
+
"sentinel_cipher_suites":[],// Was Option<String>, now Option<Vec<String>>
30
+
"sentinel_cipher_suites_tls_1_3":"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256",// Was Option<Vec<Value>>, now Option<String>
0 commit comments