kaqing 2.0.56__tar.gz → 2.0.58__tar.gz
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.
- {kaqing-2.0.56 → kaqing-2.0.58}/PKG-INFO +1 -1
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cd.py +2 -1
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/ls.py +1 -1
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/secrets.py +2 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/statefulsets.py +2 -2
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl.py +16 -12
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl_state.py +25 -2
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sql/sql_completer.py +370 -231
- kaqing-2.0.58/adam/version.py +5 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/PKG-INFO +1 -1
- {kaqing-2.0.56 → kaqing-2.0.58}/setup.py +1 -1
- kaqing-2.0.56/adam/version.py +0 -5
- {kaqing-2.0.56 → kaqing-2.0.58}/README +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/app_session.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/apps.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/batch.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check_context.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check_result.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/check_utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/compactionstats.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/cpu.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/disk.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/gossip.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/issue.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/memory.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/checks/status.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/cli.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/cli_group.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/column.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/columns.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/compactions.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/cpu.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/dir_data.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/dir_snapshots.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/gossip.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/host_id.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/memory.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_address.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_load.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_owns.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_status.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_tokens.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/node_utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/pod_name.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/volume_cassandra.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/columns/volume_root.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/alter_tables.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/app.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/app_ping.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/bash.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/check.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cli_commands.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/command.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/command_helpers.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/commands_utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cp.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cql_completions.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cql_table_completer.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cql_utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/cql/cqlsh.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/code_start.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/code_stop.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/code_utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_frontend.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_pg_agent.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_pod.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/deploy_utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy_frontend.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy_pg_agent.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/deploy/undeploy_pod.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_keyspace.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_keyspaces.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_table.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/describe/describe_tables.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/devices.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/exit.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/help.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/issues.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/login.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/logs.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_backup.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_restore.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_show_backupjobs.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/medusa/medusa_show_restorejobs.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/nodetool.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/nodetool_commands.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/param_get.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/param_set.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_ls.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_preview.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_session.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/postgres_utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/psql_completions.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/postgres/psql_table_completer.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/preview_table.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/pwd.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_forward.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_forward_stop.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_restart.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_run_abort.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_runs.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_runs_abort.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedule_activate.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedule_start.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedule_stop.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_schedules.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_session.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/reaper/reaper_status.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_log.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_run.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_scan.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/repair/repair_stop.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/report.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/restart.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/rollout.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/shell.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_adam.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_app_actions.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_app_id.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_app_queues.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_cassandra_status.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_cassandra_version.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_commands.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_login.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_params.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_processes.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_repairs.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/show/show_storage.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/commands/watch.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/config.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/embedded_apps.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/embedded_params.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/cassandra_clusters.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/cassandra_nodes.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/config_maps.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/custom_resources.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/deployment.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/ingresses.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/jobs.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/kube_context.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/pods.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/service_accounts.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/services.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/k8s_utils/volumes.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/log.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/pod_exec_result.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl_commands.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/repl_session.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sql/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sql/term_completer.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/__init__.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/authenticator.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/authn_ad.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/authn_okta.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/cred_cache.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/id_token.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/idp.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/idp_login.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/idp_session.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/sso/sso_config.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/adam/utils.py +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/SOURCES.txt +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/dependency_links.txt +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/entry_points.txt +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/kaqing.egg-info/top_level.txt +0 -0
- {kaqing-2.0.56 → kaqing-2.0.58}/setup.cfg +0 -0
|
@@ -72,7 +72,8 @@ class Cd(Command):
|
|
|
72
72
|
if not state.sts:
|
|
73
73
|
ss_and_ns = dir.split('@')
|
|
74
74
|
state.sts = ss_and_ns[0]
|
|
75
|
-
|
|
75
|
+
if len(ss_and_ns) > 1:
|
|
76
|
+
state.namespace = ss_and_ns[1]
|
|
76
77
|
elif not state.pod:
|
|
77
78
|
p, _ = KubeContext.is_pod_name(dir)
|
|
78
79
|
if p:
|
|
@@ -86,7 +86,7 @@ class Ls(Command):
|
|
|
86
86
|
return state
|
|
87
87
|
|
|
88
88
|
def show_statefulsets(self):
|
|
89
|
-
ss = StatefulSets.list_sts_names(
|
|
89
|
+
ss = StatefulSets.list_sts_names()
|
|
90
90
|
if len(ss) == 0:
|
|
91
91
|
log2('No cassandra statefulsets found.')
|
|
92
92
|
return
|
|
@@ -10,6 +10,8 @@ from adam.utils import log2
|
|
|
10
10
|
# utility collection on secrets; methods are all static
|
|
11
11
|
class Secrets:
|
|
12
12
|
def list_secrets(namespace: str = None, name_pattern: str = None):
|
|
13
|
+
Config().wait_log('Inspecting Cassandra Instances...')
|
|
14
|
+
|
|
13
15
|
secrets_names = []
|
|
14
16
|
|
|
15
17
|
v1 = client.CoreV1Api()
|
|
@@ -28,8 +28,8 @@ class StatefulSets:
|
|
|
28
28
|
def list_sts_name_and_ns():
|
|
29
29
|
return [(statefulset.metadata.name, statefulset.metadata.namespace) for statefulset in StatefulSets.list_sts()]
|
|
30
30
|
|
|
31
|
-
def list_sts_names(
|
|
32
|
-
if
|
|
31
|
+
def list_sts_names():
|
|
32
|
+
if not KubeContext.in_cluster_namespace():
|
|
33
33
|
return [f"{sts}@{ns}" for sts, ns in StatefulSets.list_sts_name_and_ns()]
|
|
34
34
|
else:
|
|
35
35
|
return [f"{sts}" for sts, _ in StatefulSets.list_sts_name_and_ns()]
|
|
@@ -61,26 +61,30 @@ def enter_repl(state: ReplState):
|
|
|
61
61
|
return f"{msg}$ " if state.bash_session else f"{msg}> "
|
|
62
62
|
|
|
63
63
|
Log.log2(f'kaqing {__version__}')
|
|
64
|
-
ss = StatefulSets.list_sts_name_and_ns()
|
|
65
64
|
|
|
66
65
|
if state.device == ReplState.C:
|
|
66
|
+
ss = StatefulSets.list_sts_name_and_ns()
|
|
67
67
|
if not ss:
|
|
68
68
|
raise Exception("no Cassandra clusters found")
|
|
69
|
-
elif len(ss) == 1 and Config().get('repl.auto-enter-only-cluster', True):
|
|
69
|
+
elif not state.sts and len(ss) == 1 and Config().get('repl.auto-enter-only-cluster', True):
|
|
70
70
|
cluster = ss[0]
|
|
71
71
|
state.sts = cluster[0]
|
|
72
72
|
state.namespace = cluster[1]
|
|
73
|
-
|
|
73
|
+
if KubeContext().in_cluster_namespace:
|
|
74
|
+
Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}...')
|
|
75
|
+
else:
|
|
76
|
+
Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}@{state.namespace}...')
|
|
74
77
|
elif state.device == ReplState.A:
|
|
75
|
-
if
|
|
76
|
-
if app
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
if not state.app_env:
|
|
79
|
+
if app := Config().get('repl.auto-enter-app', 'c3/c3'):
|
|
80
|
+
if app != 'no':
|
|
81
|
+
ea = app.split('/')
|
|
82
|
+
state.app_env = ea[0]
|
|
83
|
+
if len(ea) > 1:
|
|
84
|
+
state.app_app = ea[1]
|
|
85
|
+
Config().wait_log(f'Moving to {state.app_env}/{state.app_app}...')
|
|
86
|
+
else:
|
|
87
|
+
Config().wait_log(f'Moving to {state.app_env}...')
|
|
84
88
|
|
|
85
89
|
kb = KeyBindings()
|
|
86
90
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
from enum import Enum
|
|
3
|
+
import re
|
|
3
4
|
|
|
4
5
|
from adam.commands.postgres.postgres_session import PostgresSession
|
|
5
6
|
from adam.k8s_utils.cassandra_clusters import CassandraClusters
|
|
@@ -128,8 +129,30 @@ class ReplState:
|
|
|
128
129
|
if index < 6:
|
|
129
130
|
state = copy.copy(state)
|
|
130
131
|
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
groups = re.match(r'^([a|c|p]):(.*)$', arg)
|
|
133
|
+
if groups:
|
|
134
|
+
if groups[1] == 'p':
|
|
135
|
+
state.device = 'p'
|
|
136
|
+
state.pg_path = groups[2]
|
|
137
|
+
elif groups[1] == 'c':
|
|
138
|
+
state.device = 'c'
|
|
139
|
+
if path := groups[2]:
|
|
140
|
+
p_and_ns = path.split('@')
|
|
141
|
+
sts_and_pod = p_and_ns[0].split('/')
|
|
142
|
+
state.sts = sts_and_pod[0]
|
|
143
|
+
if len(sts_and_pod) > 1:
|
|
144
|
+
state.pod = sts_and_pod[1]
|
|
145
|
+
if len(p_and_ns) > 1:
|
|
146
|
+
state.namespace = p_and_ns[1]
|
|
147
|
+
elif ns := KubeContext.in_cluster_namespace():
|
|
148
|
+
state.namespace = ns
|
|
149
|
+
else:
|
|
150
|
+
state.device = 'a'
|
|
151
|
+
if path := groups[2]:
|
|
152
|
+
env_and_app = path.split('/')
|
|
153
|
+
state.app_env = env_and_app[0]
|
|
154
|
+
if len(env_and_app) > 1:
|
|
155
|
+
state.app_app = env_and_app[1]
|
|
133
156
|
else:
|
|
134
157
|
new_args.append(arg)
|
|
135
158
|
else:
|