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.
- adam/app_session.py +1 -1
- adam/apps.py +2 -2
- adam/batch.py +30 -31
- adam/checks/check_utils.py +4 -4
- adam/checks/compactionstats.py +1 -1
- adam/checks/cpu.py +2 -2
- adam/checks/disk.py +1 -1
- adam/checks/gossip.py +1 -1
- adam/checks/memory.py +3 -3
- adam/checks/status.py +1 -1
- adam/commands/alter_tables.py +81 -0
- adam/commands/app.py +3 -3
- adam/commands/app_ping.py +2 -2
- adam/commands/audit/audit.py +86 -0
- adam/commands/audit/audit_repair_tables.py +77 -0
- adam/commands/audit/audit_run.py +58 -0
- adam/commands/audit/show_last10.py +51 -0
- adam/commands/audit/show_slow10.py +50 -0
- adam/commands/audit/show_top10.py +48 -0
- adam/commands/audit/utils_show_top10.py +59 -0
- adam/commands/bash/bash.py +133 -0
- adam/commands/bash/bash_completer.py +93 -0
- adam/commands/cat.py +56 -0
- adam/commands/cd.py +12 -82
- adam/commands/check.py +6 -0
- adam/commands/cli_commands.py +3 -3
- adam/commands/code.py +60 -0
- adam/commands/command.py +48 -12
- adam/commands/commands_utils.py +4 -5
- adam/commands/cql/cql_completions.py +28 -0
- adam/commands/cql/cql_utils.py +209 -0
- adam/commands/{cqlsh.py → cql/cqlsh.py} +15 -10
- adam/commands/deploy/__init__.py +0 -0
- adam/commands/{frontend → deploy}/code_start.py +1 -1
- adam/commands/{frontend → deploy}/code_stop.py +1 -1
- adam/commands/{frontend → deploy}/code_utils.py +2 -2
- adam/commands/deploy/deploy.py +48 -0
- adam/commands/deploy/deploy_frontend.py +52 -0
- adam/commands/deploy/deploy_pg_agent.py +38 -0
- adam/commands/deploy/deploy_pod.py +110 -0
- adam/commands/deploy/deploy_utils.py +29 -0
- adam/commands/deploy/undeploy.py +48 -0
- adam/commands/deploy/undeploy_frontend.py +41 -0
- adam/commands/deploy/undeploy_pg_agent.py +42 -0
- adam/commands/deploy/undeploy_pod.py +51 -0
- adam/commands/devices/__init__.py +0 -0
- adam/commands/devices/device.py +27 -0
- adam/commands/devices/device_app.py +146 -0
- adam/commands/devices/device_auit_log.py +43 -0
- adam/commands/devices/device_cass.py +145 -0
- adam/commands/devices/device_export.py +86 -0
- adam/commands/devices/device_postgres.py +109 -0
- adam/commands/devices/devices.py +25 -0
- adam/commands/export/__init__.py +0 -0
- adam/commands/export/clean_up_export_session.py +53 -0
- adam/commands/{frontend/teardown_frontend.py → export/clean_up_export_sessions.py} +9 -11
- adam/commands/export/drop_export_database.py +58 -0
- adam/commands/export/drop_export_databases.py +46 -0
- adam/commands/export/export.py +83 -0
- adam/commands/export/export_databases.py +170 -0
- adam/commands/export/export_select.py +85 -0
- adam/commands/export/export_select_x.py +54 -0
- adam/commands/export/export_use.py +55 -0
- adam/commands/export/exporter.py +364 -0
- adam/commands/export/import_session.py +68 -0
- adam/commands/export/importer.py +67 -0
- adam/commands/export/importer_athena.py +80 -0
- adam/commands/export/importer_sqlite.py +47 -0
- adam/commands/export/show_column_counts.py +63 -0
- adam/commands/export/show_export_databases.py +39 -0
- adam/commands/export/show_export_session.py +51 -0
- adam/commands/export/show_export_sessions.py +47 -0
- adam/commands/export/utils_export.py +291 -0
- adam/commands/help.py +12 -7
- adam/commands/issues.py +6 -0
- adam/commands/kubectl.py +41 -0
- adam/commands/login.py +9 -5
- adam/commands/logs.py +2 -1
- adam/commands/ls.py +4 -107
- adam/commands/medusa/medusa.py +2 -26
- adam/commands/medusa/medusa_backup.py +2 -2
- adam/commands/medusa/medusa_restore.py +3 -4
- adam/commands/medusa/medusa_show_backupjobs.py +4 -3
- adam/commands/medusa/medusa_show_restorejobs.py +3 -3
- adam/commands/nodetool.py +9 -4
- adam/commands/param_set.py +1 -1
- adam/commands/postgres/postgres.py +42 -43
- adam/commands/postgres/postgres_context.py +248 -0
- adam/commands/postgres/postgres_preview.py +0 -1
- adam/commands/postgres/postgres_utils.py +31 -0
- adam/commands/postgres/psql_completions.py +10 -0
- adam/commands/preview_table.py +18 -40
- adam/commands/pwd.py +2 -28
- adam/commands/reaper/reaper.py +4 -24
- adam/commands/reaper/reaper_restart.py +1 -1
- adam/commands/reaper/reaper_session.py +2 -2
- adam/commands/repair/repair.py +3 -27
- adam/commands/repair/repair_log.py +1 -1
- adam/commands/repair/repair_run.py +2 -2
- adam/commands/repair/repair_scan.py +2 -7
- adam/commands/repair/repair_stop.py +1 -1
- adam/commands/report.py +6 -0
- adam/commands/restart.py +2 -2
- adam/commands/rollout.py +1 -1
- adam/commands/shell.py +33 -0
- adam/commands/show/show.py +11 -26
- adam/commands/show/show_app_actions.py +3 -0
- adam/commands/show/show_app_id.py +1 -1
- adam/commands/show/show_app_queues.py +3 -2
- adam/commands/show/show_cassandra_status.py +3 -3
- adam/commands/show/show_cassandra_version.py +3 -3
- adam/commands/show/show_commands.py +4 -1
- adam/commands/show/show_host.py +33 -0
- adam/commands/show/show_login.py +3 -0
- adam/commands/show/show_processes.py +1 -1
- adam/commands/show/show_repairs.py +2 -2
- adam/commands/show/show_storage.py +1 -1
- adam/commands/watch.py +1 -1
- adam/config.py +16 -3
- adam/embedded_params.py +1 -1
- adam/pod_exec_result.py +10 -2
- adam/repl.py +132 -117
- adam/repl_commands.py +62 -18
- adam/repl_state.py +276 -55
- adam/sql/__init__.py +0 -0
- adam/sql/sql_completer.py +120 -0
- adam/sql/sql_state_machine.py +617 -0
- adam/sql/term_completer.py +76 -0
- adam/sso/authenticator.py +1 -1
- adam/sso/authn_ad.py +36 -56
- adam/sso/authn_okta.py +6 -32
- adam/sso/cred_cache.py +1 -1
- adam/sso/idp.py +74 -9
- adam/sso/idp_login.py +2 -2
- adam/sso/idp_session.py +10 -7
- adam/utils.py +85 -4
- adam/utils_athena.py +145 -0
- adam/utils_audits.py +102 -0
- adam/utils_k8s/__init__.py +0 -0
- adam/utils_k8s/app_clusters.py +33 -0
- adam/utils_k8s/app_pods.py +31 -0
- adam/{k8s_utils → utils_k8s}/cassandra_clusters.py +6 -21
- adam/{k8s_utils → utils_k8s}/cassandra_nodes.py +12 -5
- adam/utils_k8s/config_maps.py +34 -0
- adam/utils_k8s/deployment.py +56 -0
- adam/{k8s_utils → utils_k8s}/jobs.py +1 -1
- adam/{k8s_utils → utils_k8s}/kube_context.py +1 -1
- adam/utils_k8s/pods.py +342 -0
- adam/{k8s_utils → utils_k8s}/secrets.py +4 -0
- adam/utils_k8s/service_accounts.py +169 -0
- adam/{k8s_utils → utils_k8s}/statefulsets.py +5 -4
- adam/{k8s_utils → utils_k8s}/volumes.py +9 -0
- adam/utils_net.py +24 -0
- adam/utils_repl/__init__.py +0 -0
- adam/utils_repl/automata_completer.py +48 -0
- adam/utils_repl/repl_completer.py +46 -0
- adam/utils_repl/state_machine.py +173 -0
- adam/utils_sqlite.py +101 -0
- adam/version.py +1 -1
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/METADATA +1 -1
- kaqing-2.0.145.dist-info/RECORD +227 -0
- adam/commands/bash.py +0 -87
- adam/commands/cql_utils.py +0 -53
- adam/commands/devices.py +0 -89
- adam/commands/frontend/setup.py +0 -60
- adam/commands/frontend/setup_frontend.py +0 -58
- adam/commands/frontend/teardown.py +0 -61
- adam/commands/postgres/postgres_session.py +0 -225
- adam/commands/user_entry.py +0 -77
- adam/k8s_utils/pods.py +0 -211
- kaqing-1.98.15.dist-info/RECORD +0 -160
- /adam/commands/{frontend → audit}/__init__.py +0 -0
- /adam/{k8s_utils → commands/bash}/__init__.py +0 -0
- /adam/{medusa_show_restorejobs.py → commands/cql/__init__.py} +0 -0
- /adam/{k8s_utils → utils_k8s}/custom_resources.py +0 -0
- /adam/{k8s_utils → utils_k8s}/ingresses.py +0 -0
- /adam/{k8s_utils → utils_k8s}/services.py +0 -0
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/WHEEL +0 -0
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/entry_points.txt +0 -0
- {kaqing-1.98.15.dist-info → kaqing-2.0.145.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
from abc import abstractmethod
|
|
2
|
+
from typing import Generic, TypeVar
|
|
3
|
+
|
|
4
|
+
__all__ = [
|
|
5
|
+
'State',
|
|
6
|
+
'StateMachine',
|
|
7
|
+
]
|
|
8
|
+
|
|
9
|
+
T = TypeVar('T')
|
|
10
|
+
|
|
11
|
+
class State:
|
|
12
|
+
def __init__(self, state: str, comeback_token: str = None, comeback_state: str = None):
|
|
13
|
+
self.state = state
|
|
14
|
+
self.comeback_token = comeback_token
|
|
15
|
+
self.comeback_state = comeback_state
|
|
16
|
+
self.context: dict[str, str] = {}
|
|
17
|
+
|
|
18
|
+
def __str__(self):
|
|
19
|
+
return f'{self.state if self.state else None} comeback[{self.comeback_token} {self.comeback_state}]'
|
|
20
|
+
|
|
21
|
+
class StateMachine(Generic[T]):
|
|
22
|
+
@abstractmethod
|
|
23
|
+
def spec(self) -> str:
|
|
24
|
+
return None
|
|
25
|
+
|
|
26
|
+
@abstractmethod
|
|
27
|
+
def keywords(self) -> list[str]:
|
|
28
|
+
return None
|
|
29
|
+
|
|
30
|
+
def expandable_names(self):
|
|
31
|
+
return []
|
|
32
|
+
|
|
33
|
+
def incomplete_name_transition_condition(self, from_s: str, token: str, to_s: str, suggestions: str) -> list[str]:
|
|
34
|
+
if not suggestions:
|
|
35
|
+
return None
|
|
36
|
+
|
|
37
|
+
tokens = [token]
|
|
38
|
+
if '|' in token:
|
|
39
|
+
tokens = token.split('|')
|
|
40
|
+
|
|
41
|
+
if 'name' not in tokens:
|
|
42
|
+
return None
|
|
43
|
+
|
|
44
|
+
return tokens
|
|
45
|
+
|
|
46
|
+
def __init__(self, indent=0, push_level = 0, debug = False):
|
|
47
|
+
self.states: dict[str, State] = {}
|
|
48
|
+
self.suggestions: dict[str, str] = {}
|
|
49
|
+
|
|
50
|
+
self.indent = indent
|
|
51
|
+
self.push_level = push_level
|
|
52
|
+
self.comebacks: dict[int, str] = {}
|
|
53
|
+
self.debug = debug
|
|
54
|
+
|
|
55
|
+
from_ss_to_add = []
|
|
56
|
+
from_ss = ['']
|
|
57
|
+
words: str = None
|
|
58
|
+
for l in self.spec():
|
|
59
|
+
t_and_w = l.split('^')
|
|
60
|
+
if len(t_and_w) > 1:
|
|
61
|
+
words = t_and_w[1].strip()
|
|
62
|
+
else:
|
|
63
|
+
words = None
|
|
64
|
+
|
|
65
|
+
tks = t_and_w[0].strip(' ').split('>')
|
|
66
|
+
if not l.startswith('-'):
|
|
67
|
+
if words:
|
|
68
|
+
self.suggestions[tks[0].strip(' ')] = words
|
|
69
|
+
|
|
70
|
+
if len(tks) == 1:
|
|
71
|
+
from_ss_to_add.append(tks[0].strip(' '))
|
|
72
|
+
continue
|
|
73
|
+
|
|
74
|
+
from_ss = []
|
|
75
|
+
from_ss.extend(from_ss_to_add)
|
|
76
|
+
from_ss_to_add = []
|
|
77
|
+
from_ss.append(tks[0].strip(' '))
|
|
78
|
+
|
|
79
|
+
self.add_transitions(from_ss, tks, words)
|
|
80
|
+
|
|
81
|
+
def add_transitions(self, from_ss: list[str], tks: list[str], words: str):
|
|
82
|
+
token = tks[1].strip(' ')
|
|
83
|
+
if len(tks) > 2:
|
|
84
|
+
to_s = tks[2].strip(' ')
|
|
85
|
+
for from_s in from_ss:
|
|
86
|
+
self.add_whitespace_transition(from_s, to_s)
|
|
87
|
+
self.add_transition(from_s, token, to_s)
|
|
88
|
+
self.add_incomplete_name_transition(from_s, token, to_s, words)
|
|
89
|
+
elif '<' in tks[0]:
|
|
90
|
+
from_and_token = tks[0].split('<')
|
|
91
|
+
if len(from_and_token) > 1:
|
|
92
|
+
for from_s in from_ss:
|
|
93
|
+
self.add_comeback_transition(from_s, from_and_token[1], tks[1].strip(' '))
|
|
94
|
+
|
|
95
|
+
def add_whitespace_transition(self, from_s: str, to_s: str):
|
|
96
|
+
if self.witespace_transition_condition(from_s, to_s):
|
|
97
|
+
if self.debug:
|
|
98
|
+
print(f'{from_s[:-1]} > _ = {to_s}')
|
|
99
|
+
self.states[f'{from_s[:-1]} > _'] = State(from_s)
|
|
100
|
+
|
|
101
|
+
def witespace_transition_condition(self, from_s: str, to_s: str):
|
|
102
|
+
return from_s.endswith('_')
|
|
103
|
+
|
|
104
|
+
def add_incomplete_name_transition(self, from_s: str, token: str, to_s: str, words: str):
|
|
105
|
+
if tokens := self.incomplete_name_transition_condition(from_s, token, to_s, words):
|
|
106
|
+
self.suggestions[to_s] = words
|
|
107
|
+
for token in tokens:
|
|
108
|
+
if self.debug:
|
|
109
|
+
print(f'{to_s} > {token} = {to_s}')
|
|
110
|
+
self.states[f'{to_s} > {token}'] = State(to_s)
|
|
111
|
+
|
|
112
|
+
def add_transition(self, from_s: str, token: str, to_s: str):
|
|
113
|
+
tokens = [token]
|
|
114
|
+
if '|' in token:
|
|
115
|
+
tokens = token.split('|')
|
|
116
|
+
|
|
117
|
+
for t in tokens:
|
|
118
|
+
if t == '_or_':
|
|
119
|
+
t = '||'
|
|
120
|
+
elif t == 'pipe':
|
|
121
|
+
t = '|'
|
|
122
|
+
elif t == '_rdr0_':
|
|
123
|
+
t = '<'
|
|
124
|
+
elif t == '_rdr1_':
|
|
125
|
+
t = '>'
|
|
126
|
+
elif t == '_rdr2_':
|
|
127
|
+
t = '2>'
|
|
128
|
+
|
|
129
|
+
if self.debug:
|
|
130
|
+
print(f'{from_s} > {t} = {to_s}')
|
|
131
|
+
self.states[f'{from_s} > {t}'] = State(to_s)
|
|
132
|
+
|
|
133
|
+
def add_comeback_transition(self, from_s: str, token: str, to_s: str):
|
|
134
|
+
key = f'{from_s} > ('
|
|
135
|
+
orig = self.states[key]
|
|
136
|
+
if not orig:
|
|
137
|
+
raise Exception(f'from state not found for {key}')
|
|
138
|
+
|
|
139
|
+
orig.comeback_token = token
|
|
140
|
+
orig.comeback_state = to_s
|
|
141
|
+
if self.debug:
|
|
142
|
+
print(f'{from_s} > ) = {to_s}')
|
|
143
|
+
self.states[key] = orig
|
|
144
|
+
|
|
145
|
+
def traverse_tokens(self, tokens: list[str], state: State = State('')):
|
|
146
|
+
for token in tokens[:-1]:
|
|
147
|
+
if not token:
|
|
148
|
+
continue
|
|
149
|
+
|
|
150
|
+
if self.debug:
|
|
151
|
+
print(f'{token} ', end='')
|
|
152
|
+
|
|
153
|
+
last_name = None
|
|
154
|
+
|
|
155
|
+
if (t := token.lower()) in self.keywords():
|
|
156
|
+
token = t
|
|
157
|
+
elif token in ['*', ',', '.']:
|
|
158
|
+
pass
|
|
159
|
+
else:
|
|
160
|
+
last_name = token
|
|
161
|
+
token = 'word'
|
|
162
|
+
|
|
163
|
+
try:
|
|
164
|
+
context = state.context
|
|
165
|
+
state = self.states[f'{state.state} > {token}']
|
|
166
|
+
state.context = context
|
|
167
|
+
|
|
168
|
+
if last_name:
|
|
169
|
+
state.context['last_name'] = last_name
|
|
170
|
+
except:
|
|
171
|
+
pass
|
|
172
|
+
|
|
173
|
+
return state
|
adam/utils_sqlite.py
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import functools
|
|
2
|
+
import glob
|
|
3
|
+
import os
|
|
4
|
+
import sqlite3
|
|
5
|
+
import pandas
|
|
6
|
+
|
|
7
|
+
from adam.config import Config
|
|
8
|
+
from adam.utils import lines_to_tabular, log
|
|
9
|
+
|
|
10
|
+
# no state utility class
|
|
11
|
+
class SQLite:
|
|
12
|
+
def local_db_dir():
|
|
13
|
+
return Config().get('export.sqlite.local-db-dir', '/tmp/qing-db')
|
|
14
|
+
|
|
15
|
+
def keyspace(database: str):
|
|
16
|
+
return '_'.join(database.replace(".db", "").split('_')[1:])
|
|
17
|
+
|
|
18
|
+
def connect(session: str):
|
|
19
|
+
os.makedirs(SQLite.local_db_dir(), exist_ok=True)
|
|
20
|
+
|
|
21
|
+
conn = None
|
|
22
|
+
|
|
23
|
+
try:
|
|
24
|
+
conn = sqlite3.connect(f'{SQLite.local_db_dir()}/{session}_root.db')
|
|
25
|
+
cursor = None
|
|
26
|
+
try:
|
|
27
|
+
cursor = conn.cursor()
|
|
28
|
+
for d in SQLite.database_names(session):
|
|
29
|
+
if d != f'{session}_root.db':
|
|
30
|
+
q = f"ATTACH DATABASE '{SQLite.local_db_dir()}/{d}' AS {SQLite.keyspace(d)};"
|
|
31
|
+
cursor.execute(q)
|
|
32
|
+
finally:
|
|
33
|
+
if cursor:
|
|
34
|
+
cursor.close()
|
|
35
|
+
finally:
|
|
36
|
+
pass
|
|
37
|
+
|
|
38
|
+
return conn
|
|
39
|
+
|
|
40
|
+
@functools.lru_cache()
|
|
41
|
+
def database_names(prefix: str = None):
|
|
42
|
+
Config().wait_log('Inspecting export databases...')
|
|
43
|
+
|
|
44
|
+
pattern = f'{SQLite.local_db_dir()}/s*.db'
|
|
45
|
+
if prefix:
|
|
46
|
+
pattern = f'{SQLite.local_db_dir()}/{prefix}*'
|
|
47
|
+
return [os.path.basename(f) for f in glob.glob(pattern)]
|
|
48
|
+
|
|
49
|
+
def clear_cache(cache: str = None):
|
|
50
|
+
SQLite.database_names.cache_clear()
|
|
51
|
+
SQLite.table_names.cache_clear()
|
|
52
|
+
|
|
53
|
+
@functools.lru_cache()
|
|
54
|
+
def table_names(database: str):
|
|
55
|
+
tokens = database.replace('.db', '').split('_')
|
|
56
|
+
ts_prefix = tokens[0]
|
|
57
|
+
keyspace = '_'.join(tokens[1:])
|
|
58
|
+
|
|
59
|
+
conn = None
|
|
60
|
+
tables = []
|
|
61
|
+
try:
|
|
62
|
+
conn = sqlite3.connect(f'{SQLite.local_db_dir()}/{ts_prefix}_{keyspace}.db')
|
|
63
|
+
cursor = None
|
|
64
|
+
try:
|
|
65
|
+
cursor = conn.cursor()
|
|
66
|
+
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;")
|
|
67
|
+
|
|
68
|
+
tables = [row[0] for row in cursor.fetchall() if row[0] != "sqlite_sequence"]
|
|
69
|
+
finally:
|
|
70
|
+
if cursor:
|
|
71
|
+
cursor.close()
|
|
72
|
+
|
|
73
|
+
return tables
|
|
74
|
+
except sqlite3.Error as e:
|
|
75
|
+
print(f"Error connecting to or querying the database: {e}")
|
|
76
|
+
return []
|
|
77
|
+
finally:
|
|
78
|
+
if conn:
|
|
79
|
+
conn.close()
|
|
80
|
+
|
|
81
|
+
@functools.lru_cache()
|
|
82
|
+
def column_names(tables: list[str] = [], database: str = None, function: str = 'audit', partition_cols_only = False):
|
|
83
|
+
pass
|
|
84
|
+
|
|
85
|
+
def run_query(query: str, database: str = None, conn_passed = None):
|
|
86
|
+
conn = None
|
|
87
|
+
try:
|
|
88
|
+
if not conn_passed:
|
|
89
|
+
conn = SQLite.connect(database)
|
|
90
|
+
|
|
91
|
+
df = SQLite.query(conn_passed if conn_passed else conn, query)
|
|
92
|
+
lines = ['\t'.join(map(str, line)) for line in df.values.tolist()]
|
|
93
|
+
log(lines_to_tabular(lines, header='\t'.join(df.columns.tolist()), separator='\t'))
|
|
94
|
+
|
|
95
|
+
return len(lines)
|
|
96
|
+
finally:
|
|
97
|
+
if conn:
|
|
98
|
+
conn.close()
|
|
99
|
+
|
|
100
|
+
def query(conn, sql: str) -> tuple[str, str, list]:
|
|
101
|
+
return pandas.read_sql_query(sql, conn)
|
adam/version.py
CHANGED
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
adam/__init__.py,sha256=oVw1FNd9HZPJ7wm6BNn5ybyNGJLjJ8kopMeBiwgMaOI,59
|
|
2
|
+
adam/app_session.py,sha256=Klypm4JYHOlovaRCHAZ2P_Mj_nheMlcQgX403R0TJGk,6969
|
|
3
|
+
adam/apps.py,sha256=okYibOEiCVoM5zsPUKaLJZlwlnvWSHKL7U2J1Yk3-Aw,6701
|
|
4
|
+
adam/batch.py,sha256=V_2DvL4p6FVHda-d1EysXK47-9vYNR3Gc7FPj9E0JOo,23974
|
|
5
|
+
adam/cli.py,sha256=03pIZdomAu7IL-GSP6Eun_PKwwISShRAmfx6eVRPGC0,458
|
|
6
|
+
adam/cli_group.py,sha256=W3zy1BghCtVcEXizq8fBH-93ZRVVwgAyGPzy0sHno1Y,593
|
|
7
|
+
adam/config.py,sha256=JMMUj2yOt_3xsdAB6HxFSM0uk1hlgvIOIY3RbYw09Nw,2978
|
|
8
|
+
adam/embedded_apps.py,sha256=lKPx63mKzJbNmwz0rgL4gF76M9fDGxraYTtNAIGnZ_s,419
|
|
9
|
+
adam/embedded_params.py,sha256=ILtMk8b8nndeNTbo2WTVRjvmZTw0-Z3GhnV2zs7evp0,5671
|
|
10
|
+
adam/log.py,sha256=gg5DK52wLPc9cjykeh0WFHyAk1qI3HEpGaAK8W2dzXY,1146
|
|
11
|
+
adam/pod_exec_result.py,sha256=YORij4tRFBOzLEcLQOz3HcKQgltm7T5YaNre1ju8yRc,1245
|
|
12
|
+
adam/repl.py,sha256=LpybDEyefLAI_onG4dFA-SM5Fc72PD_u4zGk39tz3kE,7543
|
|
13
|
+
adam/repl_commands.py,sha256=EuTX1BL3nuR9IH2k_VNMvzdlEHUj_enF6l6HjH0MRpM,6386
|
|
14
|
+
adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
|
|
15
|
+
adam/repl_state.py,sha256=iwqAQzCqTsxYzEwRC_cJLZJFj898MBDJWrrifiCPIxs,14774
|
|
16
|
+
adam/utils.py,sha256=axob6v4iPqW9aDYtPZL-9SzhA_79PK3DzcyzSxwBXV0,9136
|
|
17
|
+
adam/utils_athena.py,sha256=OQZ4RnzmuVsNibeHQ3K3qMbgGVU7Q4dOrf1dQjqXOSg,5250
|
|
18
|
+
adam/utils_audits.py,sha256=pQT0Nijmp2nsdtSa8a7iaq-YywoGBGKf7GES6dnUT3c,3974
|
|
19
|
+
adam/utils_net.py,sha256=byEtNVr8iG9UaD7dM77dN2WEBClB7YNKult7LKFTCOc,428
|
|
20
|
+
adam/utils_sqlite.py,sha256=8AljTXc6uLkkXSNkmQ1AnNLnt54ifPn27WZKEY_mnFc,3178
|
|
21
|
+
adam/version.py,sha256=Ept3qeiNOX84Ak9g40EQBUGQT1x7sOYA4lO1cp4JBhw,140
|
|
22
|
+
adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
|
|
24
|
+
adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
|
|
25
|
+
adam/checks/check_result.py,sha256=5_DVNgkCC9t7xFJYNsjd9bfXA1I4vYb6K3kmN8cdMrA,669
|
|
26
|
+
adam/checks/check_utils.py,sha256=z6MqlCZg1YMJZgDe0GGq4sYBaQ2w0_wXsbTLjlAEz1Q,3772
|
|
27
|
+
adam/checks/compactionstats.py,sha256=NFi9RcRImZqCJBZs3LH851RHmlu4BO0s_QOsvkdUxKQ,2304
|
|
28
|
+
adam/checks/cpu.py,sha256=5KK-t1_2TSbT0lX6syEBRF1kZPoFQMOr1EJejFFq5gs,2666
|
|
29
|
+
adam/checks/disk.py,sha256=y0gwfh-MuEx0Ot7EXf8d7Q0ovbkThFMS1yWrIeeVe84,5214
|
|
30
|
+
adam/checks/gossip.py,sha256=60PeVkhtMWziiYILPwMKfesFjOanIn-nxeZZL5nUHQs,3119
|
|
31
|
+
adam/checks/issue.py,sha256=u3E6yCpDGGJiveKXdpkrKq7HQRTrG7aR2XLCoO-ys7U,498
|
|
32
|
+
adam/checks/memory.py,sha256=1TPoC_eL7QmMMJfaclW3hoSxudsUc4qvrzzb0Z4f5Kw,3056
|
|
33
|
+
adam/checks/status.py,sha256=4IFCesrovCbGKgbJxLr0VxjGGWmmF23ZQNfHUFb5Kyg,2140
|
|
34
|
+
adam/columns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
adam/columns/column.py,sha256=O_5ptfx136BKdLo8enDvSL3HlId1dkjMM2XUumg1tNA,956
|
|
36
|
+
adam/columns/columns.py,sha256=AzovFIwOhBDQHc4bFEbhMoxxuOCIbxIzXfp6fQyiRYk,1645
|
|
37
|
+
adam/columns/compactions.py,sha256=ybIEYTkDuRTBLIUNurGhu1jhVnf1UEpJ0abo3GTgmKw,928
|
|
38
|
+
adam/columns/cpu.py,sha256=rPb4pOFNZDOplggaUmSZbpCPgZxyWVXO_JXLcE4YPlM,493
|
|
39
|
+
adam/columns/dir_data.py,sha256=gDLcrwMZ6dEVTmpvc35yX3iNY97mQ5q0eQojm8tZ2so,545
|
|
40
|
+
adam/columns/dir_snapshots.py,sha256=OSseuf7gAvT-_ujLvGt43jF-q7QVJNDcvqOK47QSJbk,451
|
|
41
|
+
adam/columns/gossip.py,sha256=KKUycFG-8YxMh9VYUrYOFwPVvnh-0i19k---DrpW93g,656
|
|
42
|
+
adam/columns/host_id.py,sha256=oqesvFCzUu0utkcH5mhYg0vx7lAW2EIDoezgY_CCP_Y,350
|
|
43
|
+
adam/columns/memory.py,sha256=GinntQroWK6kxn6PrumkJd9ok2skTWXLepM1U6lzc4g,701
|
|
44
|
+
adam/columns/node_address.py,sha256=PqSm2FtR0NAhc-R17sPRJJ3c6eWlJLHPctu8RsCslcM,355
|
|
45
|
+
adam/columns/node_load.py,sha256=Oc-kdfezYBP5eWDug-ijgM48x6XRNjwxxoQDZt_MbQc,349
|
|
46
|
+
adam/columns/node_owns.py,sha256=Iv5FDYV0m3ZM2JK05Fl485ZxDgOxZHDIN9KYNJc6Zdg,349
|
|
47
|
+
adam/columns/node_status.py,sha256=im52GfdETXVJVM00fU5OjJM2FvLZrgqpLkWKCwWhjAs,353
|
|
48
|
+
adam/columns/node_tokens.py,sha256=38D9xJ3uA48gzEYBtIiIUbZJcteM1H4KryzJNn01uZ8,353
|
|
49
|
+
adam/columns/node_utils.py,sha256=ql2StXmASC7equuabZVZEQ_BPTu2KkS99gY_3JXpIvU,774
|
|
50
|
+
adam/columns/pod_name.py,sha256=IYw0ZKA7Fb9LaGXENqzZTiTgL98tahwFRtfy0KkKh2Q,280
|
|
51
|
+
adam/columns/volume_cassandra.py,sha256=9KRNOzjNYganI9avN6zaA5_-7yxD4rV-KNxro9CSUg4,753
|
|
52
|
+
adam/columns/volume_root.py,sha256=29ujLoCAf9LO75u62LxEaPD58s6ihV-tcK17OeLSOM0,556
|
|
53
|
+
adam/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
+
adam/commands/alter_tables.py,sha256=OiRI3_qoQ7BWOco7gmHL65NoaTwpbFTAxmWEJSg1PsY,3122
|
|
55
|
+
adam/commands/app.py,sha256=KejN5TlR_0uC1RZKD62awJ7dtGa9qzNzx3umhTubHZI,1948
|
|
56
|
+
adam/commands/app_ping.py,sha256=YxuTvhIiZWfhr_OKquGAhRQfrhPdE8zL5tsb3MDf48Y,1294
|
|
57
|
+
adam/commands/cat.py,sha256=RlF3RbVsNumbwGn3NxQlAq12l9iK8zW0oi4TSyWednU,1842
|
|
58
|
+
adam/commands/cd.py,sha256=yEapkSTRmUJXQmQkseyIkatnU7xeJDOXGOlPJoJEZaw,1260
|
|
59
|
+
adam/commands/check.py,sha256=DOWoTpyuwgXm0wGCjLeAljkTkXbAoeh7zmBAUxePFFo,2306
|
|
60
|
+
adam/commands/cli_commands.py,sha256=vZMgXBQpTfiJ9E4v9yHB6WwcJgO6UcqWF3NuRspicq8,3620
|
|
61
|
+
adam/commands/code.py,sha256=x1xCNlm5eb33SJUbvFLTUTbqNdOJhhTAt7PSgwvIO8I,1905
|
|
62
|
+
adam/commands/command.py,sha256=I_AkmSS8am0_ZQTQJ0qR2vSo7trU5Sa4T4o1wfXXeos,4285
|
|
63
|
+
adam/commands/command_helpers.py,sha256=leOJJK1UXczNTJHN9TGMCbIpUpmpreULvQ-TvnsYS7w,1134
|
|
64
|
+
adam/commands/commands_utils.py,sha256=lRzLrgDklmDPDDS3brG_ZVBabpG4M9W-fi_1bw799dE,3093
|
|
65
|
+
adam/commands/cp.py,sha256=dyQViRDPNqsKRkxPb7WyEVIBNw7YB6IfYa2q3VtfzyA,3107
|
|
66
|
+
adam/commands/exit.py,sha256=5MWUAmzYBlsrp0CoiTDB13SUkX9Ya18UlGeOIPia6TA,798
|
|
67
|
+
adam/commands/help.py,sha256=v8VPGfnMC_PY_oqJUlwdAqIeJ9-EicvMEVT1RDKSmyI,1907
|
|
68
|
+
adam/commands/issues.py,sha256=6r6CbdTgzMbi-lMmyQMAjmKyJgVD-n05IUrGQ-lsnp4,2724
|
|
69
|
+
adam/commands/kubectl.py,sha256=PV_MTbqQOXRFoRPOnyhxOmJnAZaF7SXCT5FhPZWRtso,1048
|
|
70
|
+
adam/commands/login.py,sha256=FB6fESfgEyC8hYCK5ncqt7-M8bfQgu4KOWzE-J6ApyA,1975
|
|
71
|
+
adam/commands/logs.py,sha256=61iHB6iinNTGlYqdNad2c21pF7LlRjbdKiSjWTM5QTw,1197
|
|
72
|
+
adam/commands/ls.py,sha256=utw8giqHnaNP1yzLkdRCb8S8xsT6gc8pAQgR7VWeG24,1265
|
|
73
|
+
adam/commands/nodetool.py,sha256=_KjNH7LtZWZQS-01NSiTF5BwNYvh0wutQx_aLrmd7r8,2554
|
|
74
|
+
adam/commands/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
|
|
75
|
+
adam/commands/param_get.py,sha256=kPAAppK2T0tEFRnSIVFLDPIIGHhgLA7drJhn8TRyvvE,1305
|
|
76
|
+
adam/commands/param_set.py,sha256=QDIuqfU80aWCB16OK49yf7XRaRTWwiLkwMsJuVikq9I,1271
|
|
77
|
+
adam/commands/preview_table.py,sha256=gKxqQ7wOjZTRKx4Tc7DDhPDIrAczpkQV5qqQz2uJRMM,2717
|
|
78
|
+
adam/commands/pwd.py,sha256=kvY3MKouf7CM2hJHa7NinZphzbkO6RTEfYvOhRTFtrY,1405
|
|
79
|
+
adam/commands/report.py,sha256=hgLOF_yDxkfAd00DSAZWtAMT3ksNt-U-1rpDT6a8vE4,2069
|
|
80
|
+
adam/commands/restart.py,sha256=SAxWHvglTckQJ0tJe5t-HWsVerbreNMM-7Nb9PAqno4,2044
|
|
81
|
+
adam/commands/rollout.py,sha256=Db9P4Owd3aPcRLIGhwyEElBNm_2Ke54KbiXyVKmztcE,2959
|
|
82
|
+
adam/commands/shell.py,sha256=wY_PIx7Lt6vuxhFArlfxdEnBbrouCJ3yNHhFn17DEqw,848
|
|
83
|
+
adam/commands/watch.py,sha256=fU2LGll-Igl08HpUQALOnh8l3s3AMGFX26NCLhqbfcw,2438
|
|
84
|
+
adam/commands/audit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
+
adam/commands/audit/audit.py,sha256=JJWM2Y72GB_0_9Bc-EfRsuxvswqU69Xyas9CARvQSU0,3090
|
|
86
|
+
adam/commands/audit/audit_repair_tables.py,sha256=n8JeKiasiW1S3ZmWN8M5Lr_ZY4zSRXCMjXWKrMzo7Ns,2700
|
|
87
|
+
adam/commands/audit/audit_run.py,sha256=xZFfz0jPMMbdwAMActKSaZDGb5NI8c0AHqOnyn2pnEQ,1875
|
|
88
|
+
adam/commands/audit/show_last10.py,sha256=_Pw2D-0U2l5ZFCK9bJvBaUKvw7otgqBWmw6K1--BHJ0,1452
|
|
89
|
+
adam/commands/audit/show_slow10.py,sha256=YocvcpoH8-dCx5Uu__HVasF6JsuADbG-QLW28Iq75EY,1471
|
|
90
|
+
adam/commands/audit/show_top10.py,sha256=bHG_AvaN4W5VV7FzzjFEaJyO5zYKOMVz4_qIAt1M1es,1502
|
|
91
|
+
adam/commands/audit/utils_show_top10.py,sha256=LtRZ0wDPDYQ9S3PlUIBbAP8zYzKPB58n1iIcHLca8P8,1865
|
|
92
|
+
adam/commands/bash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
93
|
+
adam/commands/bash/bash.py,sha256=7oA_rc4HUikwksXUytWvQPfLcxeMXegaa0fqcNED-uA,5452
|
|
94
|
+
adam/commands/bash/bash_completer.py,sha256=IStUg5LLTqc3vjupw33WtXUG9zRQ37BctjDYGDyYEXU,3883
|
|
95
|
+
adam/commands/cql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
+
adam/commands/cql/cql_completions.py,sha256=b07Q13al887-wMUlW2sC9BcD043WxMAIGA6sGXop3pY,1249
|
|
97
|
+
adam/commands/cql/cql_utils.py,sha256=g9qmyOcr5xyr6RmgPwJHP9YJtWs_gwlI3cLbV0SPczA,7740
|
|
98
|
+
adam/commands/cql/cqlsh.py,sha256=4yhDqqeodxBiPKQl6pyPNOiedz_aiJVOV9HhJIsfkeE,2937
|
|
99
|
+
adam/commands/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
+
adam/commands/deploy/code_start.py,sha256=-iH8HThTNM83IfBxT_LqTByuHVatV9d-Il4OYOfrwLI,1370
|
|
101
|
+
adam/commands/deploy/code_stop.py,sha256=ch7ZMgosvTHsGaIcDwQY5XYh_5HYrUjBkZFOI-d2gOU,1696
|
|
102
|
+
adam/commands/deploy/code_utils.py,sha256=cRvktxpAB2-QBX7-eYt9O57uio58X763uXWotTci3mc,3296
|
|
103
|
+
adam/commands/deploy/deploy.py,sha256=t54wa0cKXUpNFT0jvwaK-mWszFwGxbcpLZjz94ujHk4,1402
|
|
104
|
+
adam/commands/deploy/deploy_frontend.py,sha256=S3SvJD4JZQ9kDOOP_mrTnZFDl54AHhio5xxNgIUBZVk,1704
|
|
105
|
+
adam/commands/deploy/deploy_pg_agent.py,sha256=v1jVzNnNIxsemHVzGb6iDvvztjLTmHoCVRdZ_S1ATQM,1203
|
|
106
|
+
adam/commands/deploy/deploy_pod.py,sha256=wmPNfGcSd71t4INhZ49k_4N9zODxYhwp2EGVDsq2Zs4,4178
|
|
107
|
+
adam/commands/deploy/deploy_utils.py,sha256=P_Z-8tY_ZZuucsHL-8r5rt1c0LfIM-CYpvPsTiM4oe8,1241
|
|
108
|
+
adam/commands/deploy/undeploy.py,sha256=4Vces7YmTdYWnlXU6HCsjCjI3jCUFPV3AeWkUqwZoGY,1456
|
|
109
|
+
adam/commands/deploy/undeploy_frontend.py,sha256=gHekPn7l19JgVbhneKpQ7ModNoDFmzWRMyQv9v4FBxo,1261
|
|
110
|
+
adam/commands/deploy/undeploy_pg_agent.py,sha256=q-ulXsNzIij1Ac4VFtF-_YnsA6fgZsugLfOuYFIhqOg,1304
|
|
111
|
+
adam/commands/deploy/undeploy_pod.py,sha256=GJGJrVCpecr5p1B5zntlzLSXnFvhG_UYb3PR21GpdsM,1938
|
|
112
|
+
adam/commands/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
113
|
+
adam/commands/devices/device.py,sha256=7v_kzH90YtoZrcml2aH0FaVM0ycnDFt99XJraAg6sgo,692
|
|
114
|
+
adam/commands/devices/device_app.py,sha256=XZ5b-ybGFIJ_VVrs5YmAAyQbA7BkxtT6RI8bOVgwA1c,5606
|
|
115
|
+
adam/commands/devices/device_auit_log.py,sha256=oFk3AfjiRqj7Unhq_v3hy9y7wVwMwzg3oFDK-ePG7dI,1346
|
|
116
|
+
adam/commands/devices/device_cass.py,sha256=QKS7NL0aOwma_uShBshhz0Z6l4ue-YRF3CNWu4dHgTk,5358
|
|
117
|
+
adam/commands/devices/device_export.py,sha256=upaf9GG-fyEtHyufrZ28gWU6zUYZmDgJdipZtvkAG8A,3061
|
|
118
|
+
adam/commands/devices/device_postgres.py,sha256=R-9i_jbRw_KUs32g7LIRE6787ySqsk_dpTVaTIR6Pss,4242
|
|
119
|
+
adam/commands/devices/devices.py,sha256=-VV8nU-Qcebx2g2ftOywmgrn8wW7-teCpxFQjU9wBR4,965
|
|
120
|
+
adam/commands/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
|
+
adam/commands/export/clean_up_export_session.py,sha256=nuDzPqPi2RbOHsFKGOD6H_YBGduuvDgssflf88p_Cnc,1607
|
|
122
|
+
adam/commands/export/clean_up_export_sessions.py,sha256=JDM8AQdyEATS4Q0SxTTu718Mx2rQ0ucVTri1mTp7wLk,1235
|
|
123
|
+
adam/commands/export/drop_export_database.py,sha256=caQkCYXCbKILZR8IQbqFspHj7QBizzlg0saxwBrUXjo,1685
|
|
124
|
+
adam/commands/export/drop_export_databases.py,sha256=KPNTTIen6dUpYUgq9XrrpCEDGeMl7OvqNAyUXSs_nds,1313
|
|
125
|
+
adam/commands/export/export.py,sha256=mPTVPCJbVT1l-wXlKCskYU9pZavaMOQjv4jRzOE695Q,3027
|
|
126
|
+
adam/commands/export/export_databases.py,sha256=Y60Dd2V8S9I-hlCFMlQQF0x3QzSkdPT_DusR_N1OvDQ,5347
|
|
127
|
+
adam/commands/export/export_select.py,sha256=FTqK0L37vI8haU5IE2fTrb0BD9VwlfEOR4NmzDP3T0Q,2659
|
|
128
|
+
adam/commands/export/export_select_x.py,sha256=_wGW_PRBZMhFWGHGBXaakt8ERfsBRBpDGqLRBxbKxMY,1997
|
|
129
|
+
adam/commands/export/export_use.py,sha256=S4QoCoTFBD-gUa3GoYCe2NwpagslzLh4nowAqI_WkBQ,1592
|
|
130
|
+
adam/commands/export/exporter.py,sha256=FPxLlbrgzBvSbHjul0jd115BvuYYjCC97LRpPYapfms,16927
|
|
131
|
+
adam/commands/export/import_session.py,sha256=U9S11szvSmzXmVIZXbK-iowqR26lnYZofz_tSGIfhfU,2136
|
|
132
|
+
adam/commands/export/importer.py,sha256=TttTWE2VK4xjKFnsQyaJ0oRVsUQGdZW93kQmdOKKDI0,2292
|
|
133
|
+
adam/commands/export/importer_athena.py,sha256=3TmAn8Qf3dtwR1ncuF4ml4O02e0TqxG4AZfsp5eKexg,3320
|
|
134
|
+
adam/commands/export/importer_sqlite.py,sha256=WdcmoU0ijzRjeKp9tYOZFJ1cP302MGpII_GpXnzLE1Q,1739
|
|
135
|
+
adam/commands/export/show_column_counts.py,sha256=JWY6rNbaIM63G76e7vj8VwMM98zE_335X2vv0ushCj4,2030
|
|
136
|
+
adam/commands/export/show_export_databases.py,sha256=3nkP1HdF_inRk1ZkO0CkqiNgy2epmuqzuPTJogNwTQ0,1224
|
|
137
|
+
adam/commands/export/show_export_session.py,sha256=EY6gSrPApImuXZ3gPaK7Cl1yzsL9AzwvsB9ToAgD3-Y,1661
|
|
138
|
+
adam/commands/export/show_export_sessions.py,sha256=z_67S4z_woQZA1dRF7X4zdPT0C_fty-W3Ysav1Q8w-4,1615
|
|
139
|
+
adam/commands/export/utils_export.py,sha256=cHYtCCNMyQr45m4u1rAPXF2ga9G1X3HLZ6blTTD7-a0,10696
|
|
140
|
+
adam/commands/medusa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
141
|
+
adam/commands/medusa/medusa.py,sha256=KNFjStvilIuOJt3wTtcWmKvdm8FdCnrDY2ltEWbratk,1402
|
|
142
|
+
adam/commands/medusa/medusa_backup.py,sha256=Tns-nBbqTnry8zoCFtXCisco3ipcOgArQbN5rc7SRGY,1801
|
|
143
|
+
adam/commands/medusa/medusa_restore.py,sha256=yvqMZtGsZHlFfBNAfcvzfcCbe1NQdlP3H4JQfsQ0WvU,3274
|
|
144
|
+
adam/commands/medusa/medusa_show_backupjobs.py,sha256=LPLyFOLH2Y3FxjZlW7DoyQKththaieh_gmBFC4YyA_4,1757
|
|
145
|
+
adam/commands/medusa/medusa_show_restorejobs.py,sha256=bj7afDJ7tgvssazOcxru9rCmcwPoDaTAgkYdvHKWhjI,1651
|
|
146
|
+
adam/commands/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
147
|
+
adam/commands/postgres/postgres.py,sha256=-rsODyqCFQOMKXnmN89oIpDVeWe3r0vVKQIU47TgLgI,3584
|
|
148
|
+
adam/commands/postgres/postgres_context.py,sha256=OBnj-n1OR5b_HXRaM-gr_YuuVBQ3AcwnTpDsTe88e5I,9800
|
|
149
|
+
adam/commands/postgres/postgres_ls.py,sha256=HwZTgwGKXUqHX33S8aQPF6FqCrLqtoz4cLyJV2SpoE0,1186
|
|
150
|
+
adam/commands/postgres/postgres_preview.py,sha256=MLzdEc4mvNj6V1Q8jO5OPznXyYELJHgd35_eQgLlNIU,1274
|
|
151
|
+
adam/commands/postgres/postgres_utils.py,sha256=yzOdeo2opAgCb-hXurD2w2JfJ-g-D4EyBcFDw3ooGe4,889
|
|
152
|
+
adam/commands/postgres/psql_completions.py,sha256=Ep5BIjwH0ZnH1-YbkYdRMdT0r9R6GVVjCKmmUyfP54g,336
|
|
153
|
+
adam/commands/reaper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
|
+
adam/commands/reaper/reaper.py,sha256=QUvJ9sFMiaUwMDbbCDpTlT8CfadafPa3O5yeJLh2TIo,1977
|
|
155
|
+
adam/commands/reaper/reaper_forward.py,sha256=mUp409MzT91cVXGxoPfBGceaR3qZ0rVdWKGdyzPNzSA,3177
|
|
156
|
+
adam/commands/reaper/reaper_forward_stop.py,sha256=mllxBGxOUkFYMvF0eaFbL5VGMVAiFuT5KY8rKWTIiOE,1384
|
|
157
|
+
adam/commands/reaper/reaper_restart.py,sha256=vqPm-8aY0PnIELxmWF-th3wQFE3f0-8DoJrgRIjb8xc,1290
|
|
158
|
+
adam/commands/reaper/reaper_run_abort.py,sha256=vp69f1zoNodwqx61N0CQaevYoR7qF2rccrzjJuF47qY,1858
|
|
159
|
+
adam/commands/reaper/reaper_runs.py,sha256=uVfAK3Pca_N10XKZ1aeMTrCCM8vDExXBWo84_2UmSqo,3253
|
|
160
|
+
adam/commands/reaper/reaper_runs_abort.py,sha256=HZm8Re66XwgURgd0sJtIF2UIwrdozHQJf1O_ZAsLy-I,2538
|
|
161
|
+
adam/commands/reaper/reaper_schedule_activate.py,sha256=HbwaSeKaDoR2qgiWgglwM5gm-4iTN2xKofiOlhUpvrQ,1952
|
|
162
|
+
adam/commands/reaper/reaper_schedule_start.py,sha256=oDwH99QVyeKgu-jk5-pB7BzUH_rablCbtumNHXjBnpU,1940
|
|
163
|
+
adam/commands/reaper/reaper_schedule_stop.py,sha256=_Ld5BRX5pqfIis5i1KG8yif0q5u9RTaFBmmQwkZuOMY,1929
|
|
164
|
+
adam/commands/reaper/reaper_schedules.py,sha256=-b7eKl0wJT7zMru8qKcLqG5JF0-LfeTcNmlxut9t93E,1263
|
|
165
|
+
adam/commands/reaper/reaper_session.py,sha256=bZyknDtsqlGc2JPMfUg0EXA7fOi_fEIzGiVn5x0HwNs,6650
|
|
166
|
+
adam/commands/reaper/reaper_status.py,sha256=g3Uep1AVYOThAaZoFjn4bWTKHElZnCleJyYYHP9HayY,1967
|
|
167
|
+
adam/commands/repair/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
168
|
+
adam/commands/repair/repair.py,sha256=Dp-yTvsT2hJU3xeJ8PA05o2pTtKeCHGsV62TT4GMixk,1339
|
|
169
|
+
adam/commands/repair/repair_log.py,sha256=CZTOfNoJdrmimktZlvzr4Mk3h6ldrtyjsf2aGo7w5oA,1159
|
|
170
|
+
adam/commands/repair/repair_run.py,sha256=JMSr17C_1KanbaL-vtHVhz69fOXzuXAiCRenQVmws9s,2598
|
|
171
|
+
adam/commands/repair/repair_scan.py,sha256=WC79lE4TOw6M7TdG2Zdfswuq9gRejJWoL_B4YWBOm8c,2439
|
|
172
|
+
adam/commands/repair/repair_stop.py,sha256=OJAPeWYmaW7MzoAE4un_qGyegSIJlmykdFaqtGV-k64,1193
|
|
173
|
+
adam/commands/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
174
|
+
adam/commands/show/show.py,sha256=q1PGgFO2AyyZLhjEFCSh2rmy7o-jLPYPH9Fob0Z1RU4,2197
|
|
175
|
+
adam/commands/show/show_adam.py,sha256=osuafMipN2My4O7bLdukBLsDHtTKguDfTagmgz7aZvw,1314
|
|
176
|
+
adam/commands/show/show_app_actions.py,sha256=TKhvjD5Br63-exbq11V48toXVxX8HhMppg5c1IZsAFE,1977
|
|
177
|
+
adam/commands/show/show_app_id.py,sha256=h2ezkJiu18dyDTIYA9F6crUGyelgOevsJuxh3jOUelg,1384
|
|
178
|
+
adam/commands/show/show_app_queues.py,sha256=1WUVI_PkM7m9vTO2we9Ky3hTkH12YY_R6JpF52uodnQ,1409
|
|
179
|
+
adam/commands/show/show_cassandra_status.py,sha256=j2kr0asSYQ-VTAsJW3Ikqkk2R6ltM-az3HXcACUM4rU,5157
|
|
180
|
+
adam/commands/show/show_cassandra_version.py,sha256=vq9F1O03tkYMlqENxEYFXXh8RnK30lXrFYVIgN4hP_I,1633
|
|
181
|
+
adam/commands/show/show_commands.py,sha256=ivjY3u3Ph969zOh0dYi0KjAfm7ClUGdQpkJLJAvpeUc,1893
|
|
182
|
+
adam/commands/show/show_host.py,sha256=nJZdk3guvHNZqoy5QDW9xff9bmqPgYVVpteXBp9RE8U,877
|
|
183
|
+
adam/commands/show/show_login.py,sha256=9sZYuRX_gdBKL1EJngJPPIBZyfqSlUoaQ0XWiIh1Pfk,1924
|
|
184
|
+
adam/commands/show/show_params.py,sha256=LoBj_ScmtsPrXSUH59p3IYAlmL-0Q_Gb01bp_7zrwQA,1008
|
|
185
|
+
adam/commands/show/show_processes.py,sha256=K7sBSyvCukp3bfoi0SBaqMV5a4Af8paEQXVZJT-gqgE,1770
|
|
186
|
+
adam/commands/show/show_repairs.py,sha256=m82ukc6YxjvJc9rdKXsiJLtXrEUCiaE-VPqgxDsIOeM,1477
|
|
187
|
+
adam/commands/show/show_storage.py,sha256=WuBB5AEFm4g7oBz_YCbtkrF2GEeJ-J2tqCVmvzwmwuI,1837
|
|
188
|
+
adam/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
189
|
+
adam/sql/sql_completer.py,sha256=aKYgiCJJmtTZyh8OCJa48XVF4g1WxuRpXD_lpnJvotQ,4000
|
|
190
|
+
adam/sql/sql_state_machine.py,sha256=SQrG0PyJOUouO__sPP1FUu-fnO1sAC-NbKN1zXI9EMc,37936
|
|
191
|
+
adam/sql/term_completer.py,sha256=HZjOV4fEV9LraoMjkk8lHxNvzRtSIYsGUJhSMOhuoHY,2599
|
|
192
|
+
adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
193
|
+
adam/sso/authenticator.py,sha256=BCm16L9zf5aLU47-sTCnudn2zLPwd8M2wwRminJfsqw,615
|
|
194
|
+
adam/sso/authn_ad.py,sha256=fDW8UR3WWykny5Awa5dQjjBUSFzIDz4aMn-lwXoABl8,5857
|
|
195
|
+
adam/sso/authn_okta.py,sha256=TV5vg7OEQPGFG_DSUQnWn37nbMX_qszZB0GRuQl6kGM,4529
|
|
196
|
+
adam/sso/cred_cache.py,sha256=Y86PDrTsuzoZSd8iae14SAv-YVEnxeaf6LukX35iTnw,2099
|
|
197
|
+
adam/sso/id_token.py,sha256=wmVZ8S0sjScnOxmSvOKlIEKgnvdWqhsgq9XjFe355O4,744
|
|
198
|
+
adam/sso/idp.py,sha256=tt6SjpZ2ix_zgfi3hQS9UUis9fvUWl6b4RLaEJ--ruY,5804
|
|
199
|
+
adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
|
|
200
|
+
adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
|
|
201
|
+
adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
|
|
202
|
+
adam/utils_k8s/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
203
|
+
adam/utils_k8s/app_clusters.py,sha256=VUi3deOIqFuvJc7Wobt1QkEDUhRe_k8wj9mAsur1mes,1394
|
|
204
|
+
adam/utils_k8s/app_pods.py,sha256=OM-Hr0tgSBoHXzUEdwzdIZY1KvI_DVa67uRQahNNc9E,1435
|
|
205
|
+
adam/utils_k8s/cassandra_clusters.py,sha256=zux58P2HBzssMQV2jDOEoHbQYjB6pE3JwyiXTHxIVwg,1501
|
|
206
|
+
adam/utils_k8s/cassandra_nodes.py,sha256=SPYWPkjB3ETVcdFveLvvFAGYrrt6K_D6R_XB7Lpd0-k,1550
|
|
207
|
+
adam/utils_k8s/config_maps.py,sha256=vc9A-2D1-1mindCMFL1wuysDOXb0RCl4BdjC6B6usXI,1194
|
|
208
|
+
adam/utils_k8s/custom_resources.py,sha256=cIeaZRQET2DelTGU2f5QsMckh7TddPpWZDFeNK3txeQ,7647
|
|
209
|
+
adam/utils_k8s/deployment.py,sha256=SLhnMm5GMXwEldj2OupSFBUsvNjynwSNrv5tIDvLMrc,2921
|
|
210
|
+
adam/utils_k8s/ingresses.py,sha256=ul3Z6fDGc_Cxcn-ExP0vXhZatoShCUZFtpwtCY4Qx7o,3460
|
|
211
|
+
adam/utils_k8s/jobs.py,sha256=gJpBpjcZ_FlkWJJIlavbHC_bqdmvv-GMVo8UZVh0sOQ,2610
|
|
212
|
+
adam/utils_k8s/kube_context.py,sha256=xJF_72vUJu-X9MpIYzOIfnj7KEWU7a_sLBR-H3994Y0,3311
|
|
213
|
+
adam/utils_k8s/pods.py,sha256=KogA6KKKbx5tQk6n09usnn4rDKsiBberNhBWRqMwYxU,13176
|
|
214
|
+
adam/utils_k8s/secrets.py,sha256=tBSKLknHlwdwyTzqvtJ2YS-y9x4gvW57Ug9sOkK_U50,2413
|
|
215
|
+
adam/utils_k8s/service_accounts.py,sha256=v2oQSqCrNvt2uRnKlNwR3fjtpUG7oF5nqgzEB7NnT-U,6349
|
|
216
|
+
adam/utils_k8s/services.py,sha256=EOJJGACVbbRvu5T3rMKqIJqgYic1_MSJ17EA0TJ6UOk,3156
|
|
217
|
+
adam/utils_k8s/statefulsets.py,sha256=0J_cYRqH96PCcq3tdsRrs4Q4ewv5dT_FMBR0HGAJ3d8,4710
|
|
218
|
+
adam/utils_k8s/volumes.py,sha256=RIBmlOSWM3V3QVXLCFT0owVOyh4rGG1ETp521a-6ndo,1137
|
|
219
|
+
adam/utils_repl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
220
|
+
adam/utils_repl/automata_completer.py,sha256=LJP_2WHHR7AtjX00MJ59VGQEL3t0XS-qYnDmMaZe-Tk,1641
|
|
221
|
+
adam/utils_repl/repl_completer.py,sha256=lsu0vWFdTs8SSSY9gxHN-fQSap-Wqz1QhMF4FqGf7qA,1722
|
|
222
|
+
adam/utils_repl/state_machine.py,sha256=SGNFwxERS_nZC4iHomlLCy1FaKuEx3Z2HRAVbsIu4Lc,5424
|
|
223
|
+
kaqing-2.0.145.dist-info/METADATA,sha256=2e9W2dI1RyrfYRGzEJLB0dd7_6d47gvxQmWXwLSB0WI,133
|
|
224
|
+
kaqing-2.0.145.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
225
|
+
kaqing-2.0.145.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
|
|
226
|
+
kaqing-2.0.145.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
|
|
227
|
+
kaqing-2.0.145.dist-info/RECORD,,
|
adam/commands/bash.py
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
from adam.commands.command import Command
|
|
2
|
-
from adam.k8s_utils.cassandra_clusters import CassandraClusters
|
|
3
|
-
from adam.k8s_utils.cassandra_nodes import CassandraNodes
|
|
4
|
-
from adam.repl_state import BashSession, ReplState, RequiredState
|
|
5
|
-
|
|
6
|
-
class Bash(Command):
|
|
7
|
-
COMMAND = 'bash'
|
|
8
|
-
|
|
9
|
-
# the singleton pattern
|
|
10
|
-
def __new__(cls, *args, **kwargs):
|
|
11
|
-
if not hasattr(cls, 'instance'): cls.instance = super(Bash, cls).__new__(cls)
|
|
12
|
-
|
|
13
|
-
return cls.instance
|
|
14
|
-
|
|
15
|
-
def __init__(self, successor: Command=None):
|
|
16
|
-
super().__init__(successor)
|
|
17
|
-
|
|
18
|
-
def command(self):
|
|
19
|
-
return Bash.COMMAND
|
|
20
|
-
|
|
21
|
-
def required(self):
|
|
22
|
-
return RequiredState.CLUSTER_OR_POD
|
|
23
|
-
|
|
24
|
-
def run(self, cmd: str, s0: ReplState):
|
|
25
|
-
if not(args := self.args(cmd)):
|
|
26
|
-
return super().run(cmd, s0)
|
|
27
|
-
|
|
28
|
-
state, args = self.apply_state(args, s0)
|
|
29
|
-
if not self.validate_state(state):
|
|
30
|
-
return state
|
|
31
|
-
|
|
32
|
-
if state.in_repl:
|
|
33
|
-
r = self.exec_with_dir(s0, args)
|
|
34
|
-
if not r:
|
|
35
|
-
state.exit_bash()
|
|
36
|
-
|
|
37
|
-
return 'inconsistent pwd'
|
|
38
|
-
|
|
39
|
-
return r
|
|
40
|
-
else:
|
|
41
|
-
a = ' '.join(args)
|
|
42
|
-
command = f'bash -c "{a}"'
|
|
43
|
-
|
|
44
|
-
if state.pod:
|
|
45
|
-
CassandraNodes.exec(state.pod, state.namespace, command, show_out=True)
|
|
46
|
-
elif state.sts:
|
|
47
|
-
CassandraClusters.exec(state.sts, state.namespace, command, action='bash', show_out=True)
|
|
48
|
-
|
|
49
|
-
return state
|
|
50
|
-
|
|
51
|
-
def exec_with_dir(self, state: ReplState, args: list[str]):
|
|
52
|
-
session_just_created = False
|
|
53
|
-
if not args:
|
|
54
|
-
session_just_created = True
|
|
55
|
-
session = BashSession(state.device)
|
|
56
|
-
state.enter_bash(session)
|
|
57
|
-
|
|
58
|
-
if state.bash_session:
|
|
59
|
-
if args != ['pwd']:
|
|
60
|
-
if args:
|
|
61
|
-
args.append('&&')
|
|
62
|
-
args.extend(['pwd', '>', f'/tmp/.qing-{state.bash_session.session_id}'])
|
|
63
|
-
|
|
64
|
-
if not session_just_created:
|
|
65
|
-
if pwd := state.bash_session.pwd(state):
|
|
66
|
-
args = ['cd', pwd, '&&'] + args
|
|
67
|
-
|
|
68
|
-
a = ' '.join(args)
|
|
69
|
-
command = f'bash -c "{a}"'
|
|
70
|
-
|
|
71
|
-
rs = []
|
|
72
|
-
|
|
73
|
-
if state.pod:
|
|
74
|
-
rs = [CassandraNodes.exec(state.pod, state.namespace, command, show_out=not session_just_created)]
|
|
75
|
-
elif state.sts:
|
|
76
|
-
rs = CassandraClusters.exec(state.sts, state.namespace, command, action='bash', show_out=not session_just_created)
|
|
77
|
-
|
|
78
|
-
return rs
|
|
79
|
-
|
|
80
|
-
def completion(self, state: ReplState):
|
|
81
|
-
if state.pod or state.sts:
|
|
82
|
-
return {Bash.COMMAND: None}
|
|
83
|
-
|
|
84
|
-
return {}
|
|
85
|
-
|
|
86
|
-
def help(self, _: ReplState):
|
|
87
|
-
return f'{Bash.COMMAND} [bash-commands]\t run bash'
|
adam/commands/cql_utils.py
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import re
|
|
2
|
-
|
|
3
|
-
from adam.k8s_utils.cassandra_clusters import CassandraClusters
|
|
4
|
-
from adam.k8s_utils.cassandra_nodes import CassandraNodes
|
|
5
|
-
from adam.k8s_utils.secrets import Secrets
|
|
6
|
-
from adam.repl_state import ReplState
|
|
7
|
-
|
|
8
|
-
def run_cql(state: ReplState, cql: str, opts: list = [], show_out = False, use_single_quotes = False):
|
|
9
|
-
user, pw = Secrets.get_user_pass(state.sts if state.sts else state.pod, state.namespace, secret_path='cql.secret')
|
|
10
|
-
if use_single_quotes:
|
|
11
|
-
command = f"cqlsh -u {user} -p {pw} {' '.join(opts)} -e '{cql}'"
|
|
12
|
-
else:
|
|
13
|
-
command = f'cqlsh -u {user} -p {pw} {" ".join(opts)} -e "{cql}"'
|
|
14
|
-
|
|
15
|
-
if state.pod:
|
|
16
|
-
return CassandraNodes.exec(state.pod, state.namespace, command, show_out=show_out)
|
|
17
|
-
else:
|
|
18
|
-
return CassandraClusters.exec(state.sts, state.namespace, command, action='cql')
|
|
19
|
-
|
|
20
|
-
def parse_cql_desc_tables(out: str):
|
|
21
|
-
# Keyspace data_endpoint_auth
|
|
22
|
-
# ---------------------------
|
|
23
|
-
# "token"
|
|
24
|
-
|
|
25
|
-
# Keyspace reaper_db
|
|
26
|
-
# ------------------
|
|
27
|
-
# repair_run schema_migration
|
|
28
|
-
# repair_run_by_cluster schema_migration_leader
|
|
29
|
-
|
|
30
|
-
# Keyspace system
|
|
31
|
-
tables_by_keyspace: dict[str, list[str]] = {}
|
|
32
|
-
keyspace = None
|
|
33
|
-
state = 's0'
|
|
34
|
-
for line in out.split('\n'):
|
|
35
|
-
if state == 's0':
|
|
36
|
-
groups = re.match(r'^Keyspace (.*)$', line)
|
|
37
|
-
if groups:
|
|
38
|
-
keyspace = groups[1].strip(' \r')
|
|
39
|
-
state = 's1'
|
|
40
|
-
elif state == 's1':
|
|
41
|
-
if line.startswith('---'):
|
|
42
|
-
state = 's2'
|
|
43
|
-
elif state == 's2':
|
|
44
|
-
if not line.strip(' \r'):
|
|
45
|
-
state = 's0'
|
|
46
|
-
else:
|
|
47
|
-
for table in line.split(' '):
|
|
48
|
-
if t := table.strip(' \r'):
|
|
49
|
-
if not keyspace in tables_by_keyspace:
|
|
50
|
-
tables_by_keyspace[keyspace] = []
|
|
51
|
-
tables_by_keyspace[keyspace].append(t)
|
|
52
|
-
|
|
53
|
-
return tables_by_keyspace
|