-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcassanova.json.reference
More file actions
118 lines (118 loc) · 2.97 KB
/
Copy pathcassanova.json.reference
File metadata and controls
118 lines (118 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
"app_config": {
"host": "0.0.0.0",
"port": 8080,
"routers": [
"cassanova_ui_router",
"cassanova_api_router"
],
"tls": {
"enabled": false,
"cert_file": "/path/to/certificate.crt",
"key_file": "/path/to/private.key",
"ca_bundle": null,
"min_tls_version": "TLSv1_2",
"enforce_https": true,
"hsts_enabled": true,
"hsts_max_age": 31536000,
"hsts_include_subdomains": false
}
},
"auth": {
"enabled": true,
"secret_key": "CHANGE_THIS_TO_A_SECURE_SECRET",
"algorithm": "HS256",
"session_expire_minutes": 120,
"users": [
{
"username": "admin",
"password": "admin_password",
"roles": [
"admin"
],
"full_name": "Administrator"
},
{
"username": "viewer",
"password": "viewer_password",
"roles": [
"viewer"
]
}
],
"roles": [
// Optional: Defaults are "admin" (*) and "viewer" (cluster:view, data:read).
// You only need to define this if you want custom roles.
{
"name": "custom_role",
"description": "A custom role example",
"permissions": [
"cluster:view"
]
}
}
],
"ldap": {
"enabled": false,
"server_uri": "ldap://localhost:389",
"bind_dn": "cn=admin,dc=example,dc=com",
"bind_password": "password",
"base_dn": "dc=example,dc=com",
"user_search_filter": "(uid={username})",
"group_search_base": "ou=groups,dc=example,dc=com",
"group_search_filter": "(member={user_dn})",
"group_name_attribute": "cn",
"role_mapping": {
"cassanova-admins": ["admin"],
"cassanova-viewers": ["viewer"],
"cn=special-team,ou=groups,dc=example,dc=com": ["admin"], // Exact DN match
"ou=nuclear,dc=example,dc=com": ["admin"] // Suffix match: Any group under this OU
},
"default_roles": ["viewer"]
}
},
"clusters": {
"my_production_cluster": {
"contact_points": [
"10.0.0.1",
"10.0.0.2"
],
"port": 9042,
"credentials": {
"username": "cassandra",
"password": "cassandra_password"
},
"jmx_credentials": {
// Optional: For JMX operations if enabled
"username": "jmx_user",
"password": "jmx_password"
},
"additional_kwargs": {
// Optional: Injected directly into cassandra.cluster.Cluster()
"ssl_options": null,
"protocol_version": 4
}
},
"local_test_cluster": {
"contact_points": [
"127.0.0.1"
]
}
},
"k8s": {
"enabled": false,
"kubeconfig": null,
"contexts": null,
"namespace": null,
"cluster_include": [],
"cluster_exclude": [],
"suffix": "-service",
"periodic_discovery_enabled": true,
"discovery_interval_seconds": 60,
"external_only": false,
"stale_threshold": 3,
"node_recovery": {
"enabled": false
}
}
}