kaqing 1.98.15__py3-none-any.whl → 2.0.145__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kaqing might be problematic. Click here for more details.

Files changed (180) hide show
  1. adam/app_session.py +1 -1
  2. adam/apps.py +2 -2
  3. adam/batch.py +30 -31
  4. adam/checks/check_utils.py +4 -4
  5. adam/checks/compactionstats.py +1 -1
  6. adam/checks/cpu.py +2 -2
  7. adam/checks/disk.py +1 -1
  8. adam/checks/gossip.py +1 -1
  9. adam/checks/memory.py +3 -3
  10. adam/checks/status.py +1 -1
  11. adam/commands/alter_tables.py +81 -0
  12. adam/commands/app.py +3 -3
  13. adam/commands/app_ping.py +2 -2
  14. adam/commands/audit/audit.py +86 -0
  15. adam/commands/audit/audit_repair_tables.py +77 -0
  16. adam/commands/audit/audit_run.py +58 -0
  17. adam/commands/audit/show_last10.py +51 -0
  18. adam/commands/audit/show_slow10.py +50 -0
  19. adam/commands/audit/show_top10.py +48 -0
  20. adam/commands/audit/utils_show_top10.py +59 -0
  21. adam/commands/bash/bash.py +133 -0
  22. adam/commands/bash/bash_completer.py +93 -0
  23. adam/commands/cat.py +56 -0
  24. adam/commands/cd.py +12 -82
  25. adam/commands/check.py +6 -0
  26. adam/commands/cli_commands.py +3 -3
  27. adam/commands/code.py +60 -0
  28. adam/commands/command.py +48 -12
  29. adam/commands/commands_utils.py +4 -5
  30. adam/commands/cql/cql_completions.py +28 -0
  31. adam/commands/cql/cql_utils.py +209 -0
  32. adam/commands/{cqlsh.py → cql/cqlsh.py} +15 -10
  33. adam/commands/deploy/__init__.py +0 -0
  34. adam/commands/{frontend → deploy}/code_start.py +1 -1
  35. adam/commands/{frontend → deploy}/code_stop.py +1 -1
  36. adam/commands/{frontend → deploy}/code_utils.py +2 -2
  37. adam/commands/deploy/deploy.py +48 -0
  38. adam/commands/deploy/deploy_frontend.py +52 -0
  39. adam/commands/deploy/deploy_pg_agent.py +38 -0
  40. adam/commands/deploy/deploy_pod.py +110 -0
  41. adam/commands/deploy/deploy_utils.py +29 -0
  42. adam/commands/deploy/undeploy.py +48 -0
  43. adam/commands/deploy/undeploy_frontend.py +41 -0
  44. adam/commands/deploy/undeploy_pg_agent.py +42 -0
  45. adam/commands/deploy/undeploy_pod.py +51 -0
  46. adam/commands/devices/__init__.py +0 -0
  47. adam/commands/devices/device.py +27 -0
  48. adam/commands/devices/device_app.py +146 -0
  49. adam/commands/devices/device_auit_log.py +43 -0
  50. adam/commands/devices/device_cass.py +145 -0
  51. adam/commands/devices/device_export.py +86 -0
  52. adam/commands/devices/device_postgres.py +109 -0
  53. adam/commands/devices/devices.py +25 -0
  54. adam/commands/export/__init__.py +0 -0
  55. adam/commands/export/clean_up_export_session.py +53 -0
  56. adam/commands/{frontend/teardown_frontend.py → export/clean_up_export_sessions.py} +9 -11
  57. adam/commands/export/drop_export_database.py +58 -0
  58. adam/commands/export/drop_export_databases.py +46 -0
  59. adam/commands/export/export.py +83 -0
  60. adam/commands/export/export_databases.py +170 -0
  61. adam/commands/export/export_select.py +85 -0
  62. adam/commands/export/export_select_x.py +54 -0
  63. adam/commands/export/export_use.py +55 -0
  64. adam/commands/export/exporter.py +364 -0
  65. adam/commands/export/import_session.py +68 -0
  66. adam/commands/export/importer.py +67 -0
  67. adam/commands/export/importer_athena.py +80 -0
  68. adam/commands/export/importer_sqlite.py +47 -0
  69. adam/commands/export/show_column_counts.py +63 -0
  70. adam/commands/export/show_export_databases.py +39 -0
  71. adam/commands/export/show_export_session.py +51 -0
  72. adam/commands/export/show_export_sessions.py +47 -0
  73. adam/commands/export/utils_export.py +291 -0
  74. adam/commands/help.py +12 -7
  75. adam/commands/issues.py +6 -0
  76. adam/commands/kubectl.py +41 -0
  77. adam/commands/login.py +9 -5
  78. adam/commands/logs.py +2 -1
  79. adam/commands/ls.py +4 -107
  80. adam/commands/medusa/medusa.py +2 -26
  81. adam/commands/medusa/medusa_backup.py +2 -2
  82. adam/commands/medusa/medusa_restore.py +3 -4
  83. adam/commands/medusa/medusa_show_backupjobs.py +4 -3
  84. adam/commands/medusa/medusa_show_restorejobs.py +3 -3
  85. adam/commands/nodetool.py +9 -4
  86. adam/commands/param_set.py +1 -1
  87. adam/commands/postgres/postgres.py +42 -43
  88. adam/commands/postgres/postgres_context.py +248 -0
  89. adam/commands/postgres/postgres_preview.py +0 -1
  90. adam/commands/postgres/postgres_utils.py +31 -0
  91. adam/commands/postgres/psql_completions.py +10 -0
  92. adam/commands/preview_table.py +18 -40
  93. adam/commands/pwd.py +2 -28
  94. adam/commands/reaper/reaper.py +4 -24
  95. adam/commands/reaper/reaper_restart.py +1 -1
  96. adam/commands/reaper/reaper_session.py +2 -2
  97. adam/commands/repair/repair.py +3 -27
  98. adam/commands/repair/repair_log.py +1 -1
  99. adam/commands/repair/repair_run.py +2 -2
  100. adam/commands/repair/repair_scan.py +2 -7
  101. adam/commands/repair/repair_stop.py +1 -1
  102. adam/commands/report.py +6 -0
  103. adam/commands/restart.py +2 -2
  104. adam/commands/rollout.py +1 -1
  105. adam/commands/shell.py +33 -0
  106. adam/commands/show/show.py +11 -26
  107. adam/commands/show/show_app_actions.py +3 -0
  108. adam/commands/show/show_app_id.py +1 -1
  109. adam/commands/show/show_app_queues.py +3 -2
  110. adam/commands/show/show_cassandra_status.py +3 -3
  111. adam/commands/show/show_cassandra_version.py +3 -3
  112. adam/commands/show/show_commands.py +4 -1
  113. adam/commands/show/show_host.py +33 -0
  114. adam/commands/show/show_login.py +3 -0
  115. adam/commands/show/show_processes.py +1 -1
  116. adam/commands/show/show_repairs.py +2 -2
  117. adam/commands/show/show_storage.py +1 -1
  118. adam/commands/watch.py +1 -1
  119. adam/config.py +16 -3
  120. adam/embedded_params.py +1 -1
  121. adam/pod_exec_result.py +10 -2
  122. adam/repl.py +132 -117
  123. adam/repl_commands.py +62 -18
  124. adam/repl_state.py +276 -55
  125. adam/sql/__init__.py +0 -0
  126. adam/sql/sql_completer.py +120 -0
  127. adam/sql/sql_state_machine.py +617 -0
  128. adam/sql/term_completer.py +76 -0
  129. adam/sso/authenticator.py +1 -1
  130. adam/sso/authn_ad.py +36 -56
  131. adam/sso/authn_okta.py +6 -32
  132. adam/sso/cred_cache.py +1 -1
  133. adam/sso/idp.py +74 -9
  134. adam/sso/idp_login.py +2 -2
  135. adam/sso/idp_session.py +10 -7
  136. adam/utils.py +85 -4
  137. adam/utils_athena.py +145 -0
  138. adam/utils_audits.py +102 -0
  139. adam/utils_k8s/__init__.py +0 -0
  140. adam/utils_k8s/app_clusters.py +33 -0
  141. adam/utils_k8s/app_pods.py +31 -0
  142. adam/{k8s_utils → utils_k8s}/cassandra_clusters.py +6 -21
  143. adam/{k8s_utils → utils_k8s}/cassandra_nodes.py +12 -5
  144. adam/utils_k8s/config_maps.py +34 -0
  145. adam/utils_k8s/deployment.py +56 -0
  146. adam/{k8s_utils → utils_k8s}/jobs.py +1 -1
  147. adam/{k8s_utils → utils_k8s}/kube_context.py +1 -1
  148. adam/utils_k8s/pods.py +342 -0
  149. adam/{k8s_utils → utils_k8s}/secrets.py +4 -0
  150. adam/utils_k8s/service_accounts.py +169 -0
  151. adam/{k8s_utils → utils_k8s}/statefulsets.py +5 -4
  152. adam/{k8s_utils → utils_k8s}/volumes.py +9 -0
  153. adam/utils_net.py +24 -0
  154. adam/utils_repl/__init__.py +0 -0
  155. adam/utils_repl/automata_completer.py +48 -0
  156. adam/utils_repl/repl_completer.py +46 -0
  157. adam/utils_repl/state_machine.py +173 -0
  158. adam/utils_sqlite.py +101 -0
  159. adam/version.py +1 -1
  160. {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/METADATA +1 -1
  161. kaqing-2.0.145.dist-info/RECORD +227 -0
  162. adam/commands/bash.py +0 -87
  163. adam/commands/cql_utils.py +0 -53
  164. adam/commands/devices.py +0 -89
  165. adam/commands/frontend/setup.py +0 -60
  166. adam/commands/frontend/setup_frontend.py +0 -58
  167. adam/commands/frontend/teardown.py +0 -61
  168. adam/commands/postgres/postgres_session.py +0 -225
  169. adam/commands/user_entry.py +0 -77
  170. adam/k8s_utils/pods.py +0 -211
  171. kaqing-1.98.15.dist-info/RECORD +0 -160
  172. /adam/commands/{frontend → audit}/__init__.py +0 -0
  173. /adam/{k8s_utils → commands/bash}/__init__.py +0 -0
  174. /adam/{medusa_show_restorejobs.py → commands/cql/__init__.py} +0 -0
  175. /adam/{k8s_utils → utils_k8s}/custom_resources.py +0 -0
  176. /adam/{k8s_utils → utils_k8s}/ingresses.py +0 -0
  177. /adam/{k8s_utils → utils_k8s}/services.py +0 -0
  178. {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/WHEEL +0 -0
  179. {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/entry_points.txt +0 -0
  180. {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/top_level.txt +0 -0
adam/k8s_utils/pods.py DELETED
@@ -1,211 +0,0 @@
1
- from collections.abc import Callable
2
- from concurrent.futures import ThreadPoolExecutor, as_completed
3
- import sys
4
- import time
5
- from typing import TypeVar, cast
6
- from kubernetes import client
7
- from kubernetes.stream import stream
8
- from kubernetes.stream.ws_client import ERROR_CHANNEL
9
-
10
- from adam.config import Config
11
- from adam.pod_exec_result import PodExecResult
12
- from adam.utils import elapsed_time, log2
13
- from .kube_context import KubeContext
14
-
15
- T = TypeVar('T')
16
- _TEST_POD_EXEC_OUTS: PodExecResult = None
17
-
18
- # utility collection on pods; methods are all static
19
- class Pods:
20
- def set_test_pod_exec_outs(outs: PodExecResult):
21
- global _TEST_POD_EXEC_OUTS
22
- _TEST_POD_EXEC_OUTS = outs
23
-
24
- return _TEST_POD_EXEC_OUTS
25
-
26
- def delete(pod_name: str, namespace: str):
27
- try:
28
- v1 = client.CoreV1Api()
29
- api_response = v1.delete_namespaced_pod(pod_name, namespace)
30
- except Exception as e:
31
- log2("Exception when calling CoreV1Api->delete_namespaced_pod: %s\n" % e)
32
-
33
- def on_pods(pods: list[str],
34
- namespace: str,
35
- body: Callable[[ThreadPoolExecutor, str, str, bool], T],
36
- post: Callable[[T], T] = None,
37
- action: str = 'action', max_workers=0, show_out=True) -> list[T]:
38
- show_out = KubeContext.show_out(show_out)
39
-
40
- if not max_workers:
41
- max_workers = Config().action_workers(action, 0)
42
- if max_workers > 0:
43
- # if parallel, node sampling is suppressed
44
- if KubeContext.show_parallelism():
45
- log2(f'Executing on all nodes from statefulset in parallel...')
46
- start_time = time.time()
47
- try:
48
- with ThreadPoolExecutor(max_workers=max_workers) as executor:
49
- # disable stdout from the pod_exec, then show the output in a for loop
50
- futures = [body(executor, pod, namespace, show_out) for pod in pods]
51
- if len(futures) == 0:
52
- return cast(list[T], [])
53
-
54
- rs = [future.result() for future in as_completed(futures)]
55
- if post:
56
- rs = [post(r, show_out=show_out) for r in rs]
57
-
58
- return rs
59
- finally:
60
- if KubeContext.show_parallelism():
61
- log2(f"Parallel {action} elapsed time: {elapsed_time(start_time)} with {max_workers} workers")
62
- else:
63
- results: list[T] = []
64
-
65
- samples = Config().action_node_samples(action, sys.maxsize)
66
- l = min(len(pods), samples)
67
- adj = 'all'
68
- if l < len(pods):
69
- adj = f'{l} sample'
70
- if show_out:
71
- log2(f'Executing on {adj} nodes from statefulset...')
72
- for pod_name in pods:
73
- try:
74
- result = body(None, pod_name, namespace, show_out)
75
- if post:
76
- result = post(result, show_out=show_out)
77
- results.append(result)
78
- if result:
79
- l -= 1
80
- if not l:
81
- break
82
- except Exception as e:
83
- log2(e)
84
-
85
- return results
86
-
87
- def exec(pod_name: str, container: str, namespace: str, command: str, show_out = True, throw_err = False, interaction: Callable[[any, list[str]], any] = None):
88
- if _TEST_POD_EXEC_OUTS:
89
- return _TEST_POD_EXEC_OUTS
90
-
91
- show_out = KubeContext.show_out(show_out)
92
-
93
- api = client.CoreV1Api()
94
-
95
- exec_command = ["/bin/sh", "-c", command]
96
- k_command = f'kubectl exec {pod_name} -c {container} -n {namespace} -- {command}'
97
- if show_out:
98
- print(k_command)
99
-
100
- resp = stream(
101
- api.connect_get_namespaced_pod_exec,
102
- pod_name,
103
- namespace,
104
- command=exec_command,
105
- container=container,
106
- stderr=True,
107
- stdin=True,
108
- stdout=True,
109
- tty=True,
110
- _preload_content=False,
111
- )
112
-
113
- stdout = []
114
- stderr = []
115
- error_output = None
116
- try:
117
- while resp.is_open():
118
- resp.update(timeout=1)
119
- if resp.peek_stdout():
120
- frag = resp.read_stdout()
121
- stdout.append(frag)
122
- if show_out: print(frag, end="")
123
-
124
- if interaction:
125
- interaction(resp, stdout)
126
- if resp.peek_stderr():
127
- frag = resp.read_stderr()
128
- stderr.append(frag)
129
- if show_out: print(frag, end="")
130
-
131
- try:
132
- # get the exit code from server
133
- error_output = resp.read_channel(ERROR_CHANNEL)
134
- except Exception:
135
- pass
136
- except Exception as e:
137
- if throw_err:
138
- raise e
139
- else:
140
- log2(e)
141
- finally:
142
- resp.close()
143
-
144
- return PodExecResult("".join(stdout), "".join(stderr), k_command, error_output)
145
-
146
- def get_container(namespace: str, pod_name: str, container_name: str):
147
- pod = Pods.get(namespace, pod_name)
148
- if not pod:
149
- return None
150
-
151
- for container in pod.spec.containers:
152
- if container_name == container.name:
153
- return container
154
-
155
- return None
156
-
157
- def get(namespace: str, pod_name: str):
158
- v1 = client.CoreV1Api()
159
- return v1.read_namespaced_pod(name=pod_name, namespace=namespace)
160
-
161
- def create_pod_spec(name: str, image: str, image_pull_secret: str, envs: list, volume_name: str, pvc_name:str, mount_path:str, command: list[str]=None, sa_name=None):
162
- volume_mounts = []
163
- if volume_name and pvc_name and mount_path:
164
- volume_mounts=[client.V1VolumeMount(mount_path=mount_path, name=volume_name)]
165
-
166
- container = client.V1Container(name=name, image=image, env=envs, command=command,
167
- volume_mounts=volume_mounts)
168
-
169
- volumes = []
170
- if volume_name and pvc_name and mount_path:
171
- volumes=[client.V1Volume(name=volume_name, persistent_volume_claim=client.V1PersistentVolumeClaimVolumeSource(claim_name=pvc_name))]
172
-
173
- security_context = None
174
- if not sa_name:
175
- security_context=client.V1PodSecurityContext(run_as_user=1001, run_as_group=1001, fs_group=1001)
176
-
177
- return client.V1PodSpec(
178
- restart_policy="Never",
179
- containers=[container],
180
- image_pull_secrets=[client.V1LocalObjectReference(name=image_pull_secret)],
181
- security_context=security_context,
182
- service_account_name=sa_name,
183
- volumes=volumes
184
- )
185
-
186
- def create(namespace: str, pod_name: str, image: str, command: list[str],
187
- secret: str = None,
188
- env: dict[str, any] = {},
189
- volume_name: str = None,
190
- pvc_name: str = None,
191
- mount_path: str = None,
192
- sa_name=None):
193
- v1 = client.CoreV1Api()
194
- envs = []
195
- for k, v in env.items():
196
- envs.append(client.V1EnvVar(name=str(k), value=str(v)))
197
- pod = Pods.create_pod_spec(pod_name, image, secret, envs, volume_name, pvc_name, mount_path, command=command, sa_name=sa_name)
198
- return v1.create_namespaced_pod(namespace=namespace,
199
- body=client.V1Pod(spec=pod, metadata=client.V1ObjectMeta(name=pod_name)))
200
-
201
- def wait_for_running(namespace: str, pod_name: str):
202
- msged = False
203
-
204
- while Pods.get(namespace, pod_name).status.phase != 'Running':
205
- if not msged:
206
- log2(f'Waiting for the {pod_name} pod to start up...')
207
- msged = True
208
- time.sleep(5)
209
-
210
- def completed(namespace: str, pod_name: str):
211
- return Pods.get(namespace, pod_name).status.phase in ['Succeeded', 'Failed']
@@ -1,160 +0,0 @@
1
- adam/__init__.py,sha256=oVw1FNd9HZPJ7wm6BNn5ybyNGJLjJ8kopMeBiwgMaOI,59
2
- adam/app_session.py,sha256=K_Hk6M63EKEdEXGBivqzZRrCGq3ZkhjRM03Hjw0cDTc,6955
3
- adam/apps.py,sha256=UTpUJBAMRFvR8kJZwileGC0UmPvsOjJ_AgvWoGmnIFI,6701
4
- adam/batch.py,sha256=P_bQUPaS-38cVwdPnLwOwlirQuyHQiPNhYteV-y7B68,24108
5
- adam/cli.py,sha256=03pIZdomAu7IL-GSP6Eun_PKwwISShRAmfx6eVRPGC0,458
6
- adam/cli_group.py,sha256=W3zy1BghCtVcEXizq8fBH-93ZRVVwgAyGPzy0sHno1Y,593
7
- adam/config.py,sha256=38UcmYRxf-Kq4iPbKS7tNPQqN64fam1bWNy6jhWREd0,2552
8
- adam/embedded_apps.py,sha256=lKPx63mKzJbNmwz0rgL4gF76M9fDGxraYTtNAIGnZ_s,419
9
- adam/embedded_params.py,sha256=u-emKEvkplq3E5-qdLOfrBt3F9F274HXLs_OuTbevtk,3997
10
- adam/log.py,sha256=gg5DK52wLPc9cjykeh0WFHyAk1qI3HEpGaAK8W2dzXY,1146
11
- adam/medusa_show_restorejobs.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- adam/pod_exec_result.py,sha256=nq0xnCNOpUGBSijGF0H-YNrwBc9vUQs4DkvLMIFS5LQ,951
13
- adam/repl.py,sha256=wEzkXaFaT1PWWYI3AZ32j01efN7HpL2xvMfGLEmYIL4,7036
14
- adam/repl_commands.py,sha256=WCiM3AEDZjxlJNUj0LNkxuvH0I4GuptZfi3oj3ih4SY,3620
15
- adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
16
- adam/repl_state.py,sha256=QarrUAwYWOz3YTemtaf2opbHLa5a3LEsyuonNwhvOhk,7131
17
- adam/utils.py,sha256=j7p7iruLuV11swa0z9ZLBgoJHu_nkTSVKtQe0q71gmk,7025
18
- adam/version.py,sha256=PvfLlOgEWzFrnDu6ht4ae3CkZNW2l0i7br68IFtDWEg,140
19
- adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
21
- adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
22
- adam/checks/check_result.py,sha256=5_DVNgkCC9t7xFJYNsjd9bfXA1I4vYb6K3kmN8cdMrA,669
23
- adam/checks/check_utils.py,sha256=xDwPO2WLVDk6h4Lvnhu5UKNxrAR4qhNiRRac2MXFmmQ,3772
24
- adam/checks/compactionstats.py,sha256=JXi2Trl6JBLgEKSR0K3_dKrLBlEthqjZ2K2D-EO84Fg,2304
25
- adam/checks/cpu.py,sha256=UqnBNhof1SO8Oo2qYoLQGsrqb00W41wddDYPLB2fbwc,2666
26
- adam/checks/disk.py,sha256=_3bm5928Mplxqx6GV-K_p7D4UDR8CBS1A85N9_FtGQE,5214
27
- adam/checks/gossip.py,sha256=ANrJ0p0YndPzSZWg6tXXA_NJsWL9RVE_fBHDkYUBvec,3119
28
- adam/checks/issue.py,sha256=u3E6yCpDGGJiveKXdpkrKq7HQRTrG7aR2XLCoO-ys7U,498
29
- adam/checks/memory.py,sha256=t0H9hGe4m6JMr8MHnnpMMFJz8IJY2qLZdA7eo6CUjz0,3056
30
- adam/checks/status.py,sha256=2e1AcEw3-WQ3j9EI4sdKjw4a-7F9rdOz59_zHlHIdcY,2140
31
- adam/columns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- adam/columns/column.py,sha256=O_5ptfx136BKdLo8enDvSL3HlId1dkjMM2XUumg1tNA,956
33
- adam/columns/columns.py,sha256=AzovFIwOhBDQHc4bFEbhMoxxuOCIbxIzXfp6fQyiRYk,1645
34
- adam/columns/compactions.py,sha256=ybIEYTkDuRTBLIUNurGhu1jhVnf1UEpJ0abo3GTgmKw,928
35
- adam/columns/cpu.py,sha256=rPb4pOFNZDOplggaUmSZbpCPgZxyWVXO_JXLcE4YPlM,493
36
- adam/columns/dir_data.py,sha256=gDLcrwMZ6dEVTmpvc35yX3iNY97mQ5q0eQojm8tZ2so,545
37
- adam/columns/dir_snapshots.py,sha256=OSseuf7gAvT-_ujLvGt43jF-q7QVJNDcvqOK47QSJbk,451
38
- adam/columns/gossip.py,sha256=KKUycFG-8YxMh9VYUrYOFwPVvnh-0i19k---DrpW93g,656
39
- adam/columns/host_id.py,sha256=oqesvFCzUu0utkcH5mhYg0vx7lAW2EIDoezgY_CCP_Y,350
40
- adam/columns/memory.py,sha256=GinntQroWK6kxn6PrumkJd9ok2skTWXLepM1U6lzc4g,701
41
- adam/columns/node_address.py,sha256=PqSm2FtR0NAhc-R17sPRJJ3c6eWlJLHPctu8RsCslcM,355
42
- adam/columns/node_load.py,sha256=Oc-kdfezYBP5eWDug-ijgM48x6XRNjwxxoQDZt_MbQc,349
43
- adam/columns/node_owns.py,sha256=Iv5FDYV0m3ZM2JK05Fl485ZxDgOxZHDIN9KYNJc6Zdg,349
44
- adam/columns/node_status.py,sha256=im52GfdETXVJVM00fU5OjJM2FvLZrgqpLkWKCwWhjAs,353
45
- adam/columns/node_tokens.py,sha256=38D9xJ3uA48gzEYBtIiIUbZJcteM1H4KryzJNn01uZ8,353
46
- adam/columns/node_utils.py,sha256=ql2StXmASC7equuabZVZEQ_BPTu2KkS99gY_3JXpIvU,774
47
- adam/columns/pod_name.py,sha256=IYw0ZKA7Fb9LaGXENqzZTiTgL98tahwFRtfy0KkKh2Q,280
48
- adam/columns/volume_cassandra.py,sha256=9KRNOzjNYganI9avN6zaA5_-7yxD4rV-KNxro9CSUg4,753
49
- adam/columns/volume_root.py,sha256=29ujLoCAf9LO75u62LxEaPD58s6ihV-tcK17OeLSOM0,556
50
- adam/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- adam/commands/app.py,sha256=7alV8wK801t67_rUe6EmhtHJTl-6K7fGCm6Uz1dDgpM,1963
52
- adam/commands/app_ping.py,sha256=Xk7cfefphXM2w-UvpnhNUTZ3BU38f0deehUb2FEyLCI,1337
53
- adam/commands/bash.py,sha256=4tv1D4Il9VASd01CpEe0-IfLw_Fa_CtjaxbqIwJqpbo,2691
54
- adam/commands/cd.py,sha256=XEoiMhbJgA2KVKwhHFcs5BRAlf9qpgbAh6IImpKOtHI,4486
55
- adam/commands/check.py,sha256=853FPfgTMGxQXI_5UaPAtzaSWB_BvEVm48EkJhsHe4w,2181
56
- adam/commands/cli_commands.py,sha256=PEEyrG9yz7RAEZwHbbuFpyE3fVi8vrIWbr0d1H0Gp9o,3620
57
- adam/commands/command.py,sha256=SEAYAAw2RQy_EPIzUy0FSr90R6FsGDbVJTQujhhlfvY,2907
58
- adam/commands/command_helpers.py,sha256=leOJJK1UXczNTJHN9TGMCbIpUpmpreULvQ-TvnsYS7w,1134
59
- adam/commands/commands_utils.py,sha256=ShUcxtDSd9B3NM0GDj3NBvKdmjCGY8qXgeUJpzNF63E,3122
60
- adam/commands/cp.py,sha256=dyQViRDPNqsKRkxPb7WyEVIBNw7YB6IfYa2q3VtfzyA,3107
61
- adam/commands/cql_utils.py,sha256=NQQj622ywDuigFpLQvTxVJFqbCBbEXxT2vP_vDn1cvU,1962
62
- adam/commands/cqlsh.py,sha256=gyRZLTcO2d_DMsc64b3HLh5xwMx4Qhe8298_NwXf2XQ,2635
63
- adam/commands/devices.py,sha256=_f8j6aQzTL8_pFlWYawRuG2Ju1zPjYSPcRIlLnZng10,2397
64
- adam/commands/exit.py,sha256=5MWUAmzYBlsrp0CoiTDB13SUkX9Ya18UlGeOIPia6TA,798
65
- adam/commands/help.py,sha256=Ey3R1X8w_CMhdADI0t8dSQ28euhDHheJm7NermiGni4,1645
66
- adam/commands/issues.py,sha256=VS-PC7e-2lywsa-lbmoUX8IY77OPGzFudwbw1g8XmQc,2599
67
- adam/commands/login.py,sha256=mogvYOZZzzST829PbYxD5Fzpg-0ebd0Gh7HjcPEl8ko,1859
68
- adam/commands/logs.py,sha256=T-O9DYXmWEm4G1I5SM6MwyeRwq2aT-WMqNW0XA2MWmo,1165
69
- adam/commands/ls.py,sha256=-AT0UnjvotSpFguaUoRAnJ8XXfshwh0ElHa_Ofl5l9w,5671
70
- adam/commands/nodetool.py,sha256=HV9yDzMhRjS4lw6UfV7Hc1pcmeSx5a1jU6cAEKSZ1Bg,2334
71
- adam/commands/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
72
- adam/commands/param_get.py,sha256=kPAAppK2T0tEFRnSIVFLDPIIGHhgLA7drJhn8TRyvvE,1305
73
- adam/commands/param_set.py,sha256=LeFjQ623CDKR2cKDcIAJ2vO7o6kKiWD99fKW0QeQUCY,1190
74
- adam/commands/preview_table.py,sha256=NbnQRjCQ7SJHzQqtB8RgJn8yydTVknaSF-qklLXDQ58,3383
75
- adam/commands/pwd.py,sha256=VlgFjxFl66I7Df1YI6cuiEeY6Q13lEavMKfrzHLESKo,2340
76
- adam/commands/report.py,sha256=Ky45LIzSlB_X4V12JZWjU3SA2u4_FKRencRTq7psOWU,1944
77
- adam/commands/restart.py,sha256=Hik1t5rjH2ATZv4tzwrGB3e44b3dNuATgY327_Nb8Bs,2044
78
- adam/commands/rollout.py,sha256=52_4ijna3v-8Oug12et43DRHFDNhiN34p6xLTQmhdbQ,2959
79
- adam/commands/user_entry.py,sha256=cCmJUm_G79fd1PPm7a7UUyTqE20xnDb3Tvp--7_hFeo,2300
80
- adam/commands/watch.py,sha256=mmBFpB8T1V7zrNs5b2YNyDDztMym_ILPDdkrbdAXTas,2438
81
- adam/commands/frontend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- adam/commands/frontend/code_start.py,sha256=nkk2tTmEFobtJ6TD9nRplXaGYovYBq-05PKxA8benvI,1372
83
- adam/commands/frontend/code_stop.py,sha256=stpADpZ1gvQsLEriCPRp0sE9h5CFxskbPWnrMs3me5U,1698
84
- adam/commands/frontend/code_utils.py,sha256=5Gp4U8HzKpPkbkHDU7whlvGOK-wWaAbCIIGzVoN9hio,3296
85
- adam/commands/frontend/setup.py,sha256=teboue6gvy72ABOz-8oQUXQIOKFm7RrKMuM7u6OETww,1776
86
- adam/commands/frontend/setup_frontend.py,sha256=_ub1QRO1_w-ImuStgy-M8QwLps4n2BiK0hjbhPS1Cz4,1983
87
- adam/commands/frontend/teardown.py,sha256=VtFLU6Tt-lXiOK3mT8TQP3dcfpf3IMqncb7mSY5hXNE,1876
88
- adam/commands/frontend/teardown_frontend.py,sha256=8tXnMsdzbzwiVfPeOrn2GXP-ILSQJcuZSbqdNink-LA,1230
89
- adam/commands/medusa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- adam/commands/medusa/medusa.py,sha256=Y_yyOZRb6u45wfTVBRp3kuklyYDTSlaAJQdAiymP_8M,2185
91
- adam/commands/medusa/medusa_backup.py,sha256=j4DTVWFT-4rzs4gG_pBvjE-JuPsVCJIsnyQjIzJ4EbA,1801
92
- adam/commands/medusa/medusa_restore.py,sha256=MU47bmozrjfGJ6GVkj_OVgLH6Uz_fGh03MdLR4ZDKHE,3308
93
- adam/commands/medusa/medusa_show_backupjobs.py,sha256=lLEmldI60MpqPjPkyaja4SzAEIo6oDCbqU8xy3CFbTU,1756
94
- adam/commands/medusa/medusa_show_restorejobs.py,sha256=Jtv35thwnB-AE0lvQE8MD8nwvwta36MJLqI1p0EvgMk,1650
95
- adam/commands/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
- adam/commands/postgres/postgres.py,sha256=ugnQulU6h3pSySYRwU801raxqsC8W5DcFLSbqnk7SPo,3597
97
- adam/commands/postgres/postgres_ls.py,sha256=HwZTgwGKXUqHX33S8aQPF6FqCrLqtoz4cLyJV2SpoE0,1186
98
- adam/commands/postgres/postgres_preview.py,sha256=OhnWe6SKf2Z8rBW7_NJEvJFlLqPUKMr528VPVtoT0yw,1306
99
- adam/commands/postgres/postgres_session.py,sha256=cpx5vlH6V9XgRPKC_YzDXh2OeeuSa_z4dJU5TV6OxNo,8512
100
- adam/commands/reaper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
- adam/commands/reaper/reaper.py,sha256=SbxXgJ6b4wdXx5a1Fps71iEa1hmycWbArh1oC5bS83M,2677
102
- adam/commands/reaper/reaper_forward.py,sha256=mUp409MzT91cVXGxoPfBGceaR3qZ0rVdWKGdyzPNzSA,3177
103
- adam/commands/reaper/reaper_forward_stop.py,sha256=mllxBGxOUkFYMvF0eaFbL5VGMVAiFuT5KY8rKWTIiOE,1384
104
- adam/commands/reaper/reaper_restart.py,sha256=fX_ywBBKMo_5I0h2IDb0u7NeCN0Gk6OZeaZELrKb9I4,1290
105
- adam/commands/reaper/reaper_run_abort.py,sha256=vp69f1zoNodwqx61N0CQaevYoR7qF2rccrzjJuF47qY,1858
106
- adam/commands/reaper/reaper_runs.py,sha256=uVfAK3Pca_N10XKZ1aeMTrCCM8vDExXBWo84_2UmSqo,3253
107
- adam/commands/reaper/reaper_runs_abort.py,sha256=HZm8Re66XwgURgd0sJtIF2UIwrdozHQJf1O_ZAsLy-I,2538
108
- adam/commands/reaper/reaper_schedule_activate.py,sha256=HbwaSeKaDoR2qgiWgglwM5gm-4iTN2xKofiOlhUpvrQ,1952
109
- adam/commands/reaper/reaper_schedule_start.py,sha256=oDwH99QVyeKgu-jk5-pB7BzUH_rablCbtumNHXjBnpU,1940
110
- adam/commands/reaper/reaper_schedule_stop.py,sha256=_Ld5BRX5pqfIis5i1KG8yif0q5u9RTaFBmmQwkZuOMY,1929
111
- adam/commands/reaper/reaper_schedules.py,sha256=-b7eKl0wJT7zMru8qKcLqG5JF0-LfeTcNmlxut9t93E,1263
112
- adam/commands/reaper/reaper_session.py,sha256=gHk1OjcU8xH3Cjjgt_BLnfYPOjS_JSAw6-tggBE_zEY,6647
113
- adam/commands/reaper/reaper_status.py,sha256=g3Uep1AVYOThAaZoFjn4bWTKHElZnCleJyYYHP9HayY,1967
114
- adam/commands/repair/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
- adam/commands/repair/repair.py,sha256=5jdKVpP03GYNPuqeGlidOcFLTwl9gIzVDbxgXtUjAjw,2100
116
- adam/commands/repair/repair_log.py,sha256=c7TI9hblpqn1tn7lTxj7VkIQKdNigYIIX-nxiFRZkns,1159
117
- adam/commands/repair/repair_run.py,sha256=C9F86ia46rBCwkP8BFM5nw-AJ05jm4Bx9wnMnyZXR04,2598
118
- adam/commands/repair/repair_scan.py,sha256=aVVnfX2qVuhrMjrXEnuaMN0_Ik8yljfV8VAjOIPhXfY,2583
119
- adam/commands/repair/repair_stop.py,sha256=on3jHmOwtWOL7SJlFd8ryBflzqDsxwJNwtAbhDjYUNc,1193
120
- adam/commands/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
- adam/commands/show/show.py,sha256=7dAsliNuDz6QNM24RoWJgKhJf_nuQTugp715vZ8hxh0,2509
122
- adam/commands/show/show_adam.py,sha256=osuafMipN2My4O7bLdukBLsDHtTKguDfTagmgz7aZvw,1314
123
- adam/commands/show/show_app_actions.py,sha256=3knASTOIecvdLEJusbsGEGXVxeCpqHozbnFAEq_2pqY,1925
124
- adam/commands/show/show_app_id.py,sha256=-2hxOUv_Rm_j6d6PWVcHW-w-_alfGrOB4chmVQS48Bs,1384
125
- adam/commands/show/show_app_queues.py,sha256=GvVbyFbdFegHQFTHhn-fl0NaxHgJqPc44fc981HvRbM,1371
126
- adam/commands/show/show_cassandra_status.py,sha256=cIHHvbAPZAUcMJGsQnUSGvlSspSjlPgdligWTsAQZVU,5157
127
- adam/commands/show/show_cassandra_version.py,sha256=R22f8zIk_WvvrDP4DkPcqlTx1MVboeyQHDvv1dScUcc,1633
128
- adam/commands/show/show_commands.py,sha256=zyCwHJ8ZyHhEvpIwmJ-3G3DpRTwtxZcJahkC94UuC00,1848
129
- adam/commands/show/show_login.py,sha256=-sF93qA9LmRNWehz1pEXdhxWvHrWAD_ZDalqQsXJhyQ,1868
130
- adam/commands/show/show_params.py,sha256=LoBj_ScmtsPrXSUH59p3IYAlmL-0Q_Gb01bp_7zrwQA,1008
131
- adam/commands/show/show_processes.py,sha256=jAesWDD_l0T6ql6LawnGpev-Glz21tFkegtCbYDCTdc,1770
132
- adam/commands/show/show_repairs.py,sha256=qpbyeRyLPyBWmn_4yxFu8KIjfd58HGry5pvqNyMwn5I,1477
133
- adam/commands/show/show_storage.py,sha256=LUTkH_qnc1d9s4jKsps8jhB4rkUuN7ifMlHSwFqd8_c,1837
134
- adam/k8s_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
- adam/k8s_utils/cassandra_clusters.py,sha256=9gUn31SsyW32asSFM8cKdkDSw5LYqPY2Iv0r4fDg_fU,2017
136
- adam/k8s_utils/cassandra_nodes.py,sha256=jQlaxIQKnavvsXH7lMM8WPriusp7KO698UygytIA8Xw,1134
137
- adam/k8s_utils/custom_resources.py,sha256=cIeaZRQET2DelTGU2f5QsMckh7TddPpWZDFeNK3txeQ,7647
138
- adam/k8s_utils/ingresses.py,sha256=ul3Z6fDGc_Cxcn-ExP0vXhZatoShCUZFtpwtCY4Qx7o,3460
139
- adam/k8s_utils/jobs.py,sha256=P7j3JiZ33TRnkjkPLLrGlypAPxK1BZQHvVpF8s7eHA8,2604
140
- adam/k8s_utils/kube_context.py,sha256=nocEyVNjXWG-N-GNnEYHDvnot7H5LQUFmpZIwIyE7As,3310
141
- adam/k8s_utils/pods.py,sha256=G0ePuYTYTeNIwNaSemPuinJR7fKy5GG6faWhv6KBlFQ,7986
142
- adam/k8s_utils/secrets.py,sha256=pYaVKXTpx3-QgFtBjznWFq0N6ZcBdxnx21FRe5nBCCo,2305
143
- adam/k8s_utils/services.py,sha256=EOJJGACVbbRvu5T3rMKqIJqgYic1_MSJ17EA0TJ6UOk,3156
144
- adam/k8s_utils/statefulsets.py,sha256=PZDEhy34aXxLkbW1-RsOC0E4D0w0pHyoIQGHvcAzSAk,4606
145
- adam/k8s_utils/volumes.py,sha256=MzYeH80NqKlhdadx6d0tW-j8vTOCUYWx7wRURIZWKZ8,843
146
- adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
- adam/sso/authenticator.py,sha256=WD89YfWWt0qCqqm2q1LQ5UxbJnTJIm15WT1xXx4ArX8,594
148
- adam/sso/authn_ad.py,sha256=X6oZGKJ-SHTgxiiJtPPbMGdqyP1HWnUinR4w6k-ECAE,7171
149
- adam/sso/authn_okta.py,sha256=AEDo_DDVDGS1M9BjeaVyN9-Q6ElWEG5yge2WLYEztqI,5442
150
- adam/sso/cred_cache.py,sha256=7WA5rIy1wlr_GCF-Z6xRb6LzRu-Cvou-IkY7hWC3Zpc,2099
151
- adam/sso/id_token.py,sha256=wmVZ8S0sjScnOxmSvOKlIEKgnvdWqhsgq9XjFe355O4,744
152
- adam/sso/idp.py,sha256=wqCTUTEe4i-Z_FfZOzuEepNS7w2E6PXm0PkpZ3TXgDA,3087
153
- adam/sso/idp_login.py,sha256=TyHx-TLoszQFBkM2CpLLiv9YxHGU8gkS-bAfcyo5Wf8,1690
154
- adam/sso/idp_session.py,sha256=5J05Bhg2mSI-RyVAe51rGh6CZ3f2HyUSAdp_HeXVhaM,1650
155
- adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
156
- kaqing-1.98.15.dist-info/METADATA,sha256=Wt4vaV-v0BGhGL5cFi2zysOoegJ_QJQ-qMLRDUlQeCI,133
157
- kaqing-1.98.15.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
158
- kaqing-1.98.15.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
159
- kaqing-1.98.15.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
160
- kaqing-1.98.15.dist-info/RECORD,,
File without changes
File without changes
File without changes
File without changes
File without changes