kaqing 2.0.11__py3-none-any.whl → 2.0.12__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.
@@ -1,6 +1,7 @@
1
1
  import click
2
2
 
3
3
  from adam.commands.command import Command
4
+ from adam.commands.deploy.deploy_pg_agent import DeployPgAgent
4
5
  from adam.commands.deploy.deploy_pod import DeployPod
5
6
  from .deploy_frontend import DeployFrontend
6
7
  from adam.repl_state import ReplState
@@ -40,7 +41,7 @@ class Deploy(Command):
40
41
  Command.display_help()
41
42
 
42
43
  def cmd_list():
43
- return [DeployFrontend(), DeployPod()]
44
+ return [DeployFrontend(), DeployPod(), DeployPgAgent()]
44
45
 
45
46
  def completion(self, state: ReplState):
46
47
  if state.sts:
@@ -0,0 +1,49 @@
1
+ from kubernetes import client
2
+ import yaml
3
+
4
+ from adam.commands.command import Command
5
+ from adam.commands.deploy.deploy_utils import creating, deploy_frontend, gen_labels
6
+ from adam.commands.postgres.postgres_session import PostgresSession
7
+ from adam.config import Config
8
+ from adam.k8s_utils.config_maps import ConfigMaps
9
+ from adam.k8s_utils.deployment import Deployments
10
+ from adam.k8s_utils.kube_context import KubeContext
11
+ from adam.k8s_utils.pods import Pods
12
+ from adam.k8s_utils.service_accounts import ServiceAccounts
13
+ from adam.k8s_utils.volumes import ConfigMapMount
14
+ from adam.repl_state import ReplState, RequiredState
15
+ from adam.utils import log2
16
+
17
+ class DeployPgAgent(Command):
18
+ COMMAND = 'deploy pg-agent'
19
+
20
+ # the singleton pattern
21
+ def __new__(cls, *args, **kwargs):
22
+ if not hasattr(cls, 'instance'): cls.instance = super(DeployPgAgent, cls).__new__(cls)
23
+
24
+ return cls.instance
25
+
26
+ def __init__(self, successor: Command=None):
27
+ super().__init__(successor)
28
+
29
+ def command(self):
30
+ return DeployPgAgent.COMMAND
31
+
32
+ def required(self):
33
+ return RequiredState.NAMESPACE
34
+
35
+ def run(self, cmd: str, state: ReplState):
36
+ if not(args := self.args(cmd)):
37
+ return super().run(cmd, state)
38
+
39
+ state, args = self.apply_state(args, state)
40
+ if not self.validate_state(state):
41
+ return state
42
+
43
+ PostgresSession.deploy_pg_agent(Config().get('pg.agent.name', 'ops-pg-agent'), state.namespace)
44
+
45
+ def completion(self, state: ReplState):
46
+ return super().completion(state)
47
+
48
+ def help(self, _: ReplState):
49
+ return f'{DeployPgAgent.COMMAND}\t deploy postgres agent'
@@ -2,6 +2,7 @@ import click
2
2
 
3
3
  from adam.commands.command import Command
4
4
  from adam.commands.deploy.undeploy_frontend import UndeployFrontend
5
+ from adam.commands.deploy.undeploy_pg_agent import UndeployPgAgent
5
6
  from adam.commands.deploy.undeploy_pod import UndeployPod
6
7
  from adam.repl_state import ReplState
7
8
  from adam.utils import lines_to_tabular, log, log2
@@ -40,7 +41,7 @@ class Undeploy(Command):
40
41
  Command.display_help()
41
42
 
42
43
  def cmd_list():
43
- return [UndeployFrontend(), UndeployPod()]
44
+ return [UndeployFrontend(), UndeployPod(), UndeployPgAgent()]
44
45
 
45
46
  def completion(self, state: ReplState):
46
47
  if state.sts:
@@ -0,0 +1,45 @@
1
+ from adam.commands.command import Command
2
+ from adam.commands.deploy.deploy_utils import undeploy_frontend, deleting
3
+ from adam.commands.postgres.postgres_session import PostgresSession
4
+ from adam.config import Config
5
+ from adam.k8s_utils.config_maps import ConfigMaps
6
+ from adam.k8s_utils.deployment import Deployments
7
+ from adam.k8s_utils.pods import Pods
8
+ from adam.k8s_utils.service_accounts import ServiceAccounts
9
+ from adam.repl_state import ReplState, RequiredState
10
+
11
+ class UndeployPgAgent(Command):
12
+ COMMAND = 'undeploy pg-agent'
13
+
14
+ # the singleton pattern
15
+ def __new__(cls, *args, **kwargs):
16
+ if not hasattr(cls, 'instance'): cls.instance = super(UndeployPgAgent, cls).__new__(cls)
17
+
18
+ return cls.instance
19
+
20
+ def __init__(self, successor: Command=None):
21
+ super().__init__(successor)
22
+
23
+ def command(self):
24
+ return UndeployPgAgent.COMMAND
25
+
26
+ def required(self):
27
+ return RequiredState.NAMESPACE
28
+
29
+ def run(self, cmd: str, state: ReplState):
30
+ if not(args := self.args(cmd)):
31
+ return super().run(cmd, state)
32
+
33
+ state, args = self.apply_state(args, state)
34
+ if not self.validate_state(state):
35
+ return state
36
+
37
+ PostgresSession.undeploy_pg_agent(Config().get('pg.agent.name', 'ops-pg-agent'), state.namespace)
38
+
39
+ return state
40
+
41
+ def completion(self, state: ReplState):
42
+ return super().completion(state)
43
+
44
+ def help(self, _: ReplState):
45
+ return f'{UndeployPgAgent.COMMAND}\t undeploy postgres agent'
@@ -156,29 +156,11 @@ class PostgresSession:
156
156
  return r
157
157
  else:
158
158
  ns = self.namespace
159
- pod_name = Config().get('pg.agent.name', 'ops')
159
+ pod_name = Config().get('pg.agent.name', 'ops-pg-agent')
160
160
 
161
161
  if Config().get('pg.agent.just-in-time', False):
162
- image = Config().get('pg.agent.image', 'seanahnsf/kaqing')
163
- timeout = Config().get('pg.agent.timeout', 3600)
164
- try:
165
- Pods.create(ns, pod_name, image, ['sleep', f'{timeout}'], env={'NAMESPACE': ns}, sa_name='c3')
166
- except Exception as e:
167
- if e.status == 409:
168
- if Pods.completed(ns, pod_name):
169
- try:
170
- Pods.delete(pod_name, ns)
171
- Pods.create(ns, pod_name, image, ['sleep', f'{timeout}'], env={'NAMESPACE': ns}, sa_name='c3')
172
- except Exception as e2:
173
- log2("Exception when calling BatchV1Api->create_pod: %s\n" % e2)
174
-
175
- return
176
- else:
177
- log2("Exception when calling BatchV1Api->create_pod: %s\n" % e)
178
-
179
- return
180
-
181
- Pods.wait_for_running(ns, pod_name)
162
+ if not PostgresSession.deploy_pg_agent(pod_name, ns):
163
+ return
182
164
 
183
165
  real_pod_name = pod_name
184
166
  try:
@@ -196,6 +178,33 @@ class PostgresSession:
196
178
 
197
179
  return Pods.exec(real_pod_name, pod_name, ns, cmd, show_out=show_out)
198
180
 
181
+ def deploy_pg_agent(pod_name: str, ns: str) -> str:
182
+ image = Config().get('pg.agent.image', 'seanahnsf/kaqing')
183
+ timeout = Config().get('pg.agent.timeout', 3600)
184
+ try:
185
+ Pods.create(ns, pod_name, image, ['sleep', f'{timeout}'], env={'NAMESPACE': ns}, sa_name='c3')
186
+ except Exception as e:
187
+ if e.status == 409:
188
+ if Pods.completed(ns, pod_name):
189
+ try:
190
+ Pods.delete(pod_name, ns)
191
+ Pods.create(ns, pod_name, image, ['sleep', f'{timeout}'], env={'NAMESPACE': ns}, sa_name='c3')
192
+ except Exception as e2:
193
+ log2("Exception when calling BatchV1Api->create_pod: %s\n" % e2)
194
+
195
+ return
196
+ else:
197
+ log2("Exception when calling BatchV1Api->create_pod: %s\n" % e)
198
+
199
+ return
200
+
201
+ Pods.wait_for_running(ns, pod_name)
202
+
203
+ return pod_name
204
+
205
+ def undeploy_pg_agent(pod_name: str, ns: str):
206
+ Pods.delete(pod_name, ns, grace_period_seconds=0)
207
+
199
208
  def endpoint(self):
200
209
  if not self.conn_details:
201
210
  self.conn_details = Secrets.get_data(self.namespace, self.host)
adam/embedded_params.py CHANGED
@@ -1,2 +1,2 @@
1
1
  def config():
2
- return {'app': {'console-endpoint': 'https://{host}/{env}/{app}/static/console/index.html', 'cr': {'cluster-regex': '(.*?-.*?)-.*', 'group': 'ops.c3.ai', 'v': 'v2', 'plural': 'c3cassandras'}, 'label': 'c3__app_id-0', 'login': {'admin-group': '{host}/C3.ClusterAdmin', 'ingress': '{app_id}-k8singr-appleader-001', 'timeout': 5, 'session-check-url': 'https://{host}/{env}/{app}/api/8/C3/userSessionToken', 'cache-creds': True, 'cache-username': True, 'url': 'https://{host}/{env}/{app}', 'another': "You're logged in to {has}. However, for this app, you need to log in to {need}.", 'token-server-url': 'http://localhost:{port}', 'password-max-length': 128}, 'strip': '0'}, 'bash': {'workers': 32}, 'cassandra': {'service-name': 'all-pods-service'}, 'cql': {'workers': 32, 'samples': 3, 'secret': {'cluster-regex': '(.*?-.*?)-.*', 'name': '{cluster}-superuser', 'password-item': 'password'}}, 'checks': {'compactions-threshold': 250, 'cpu-busy-threshold': 98.0, 'cpu-threshold': 0.0, 'cassandra-data-path': '/c3/cassandra', 'root-disk-threshold': 50, 'cassandra-disk-threshold': 50, 'snapshot-size-cmd': "ls /c3/cassandra/data/data/*/*/snapshots | grep snapshots | sed 's/:$//g' | xargs -I {} du -sk {} | awk '{print $1}' | awk '{s+=$1} END {print s}'", 'snapshot-size-threshold': '40G', 'table-sizes-cmd': "ls -Al /c3/cassandra/data/data/ | awk '{print $9}' | sed 's/\\^r//g' | xargs -I {} du -sk /c3/cassandra/data/data/{}"}, 'get-host-id': {'workers': 32}, 'idps': {'ad': {'email-pattern': '.*@c3.ai', 'uri': 'https://login.microsoftonline.com/53ad779a-93e7-485c-ba20-ac8290d7252b/oauth2/v2.0/authorize?response_type=id_token&response_mode=form_post&client_id=00ff94a8-6b0a-4715-98e0-95490012d818&scope=openid+email+profile&redirect_uri=https%3A%2F%2Fplat.c3ci.cloud%2Fc3%2Fc3%2Foidc%2Flogin&nonce={nonce}&state=EMPTY', 'jwks-uri': 'https://login.microsoftonline.com/common/discovery/keys', 'contact': 'Please contact ted.tran@c3.ai.', 'whitelist-file': '/kaqing/members'}, 'okta': {'default': True, 'email-pattern': '.*@c3iot.com', 'uri': 'https://c3energy.okta.com/oauth2/v1/authorize?response_type=id_token&response_mode=form_post&client_id={client_id}&scope=openid+email+profile+groups&redirect_uri=https%3A%2F%2F{host}%2Fc3%2Fc3%2Foidc%2Flogin&nonce={nonce}&state=EMPTY', 'jwks-uri': 'https://c3energy.okta.com/oauth2/v1/keys'}}, 'issues': {'workers': 32}, 'logs': {'path': '/c3/cassandra/logs/system.log'}, 'medusa': {'restore-auto-complete': False}, 'nodetool': {'workers': 32, 'samples': 3, 'commands_in_line': 40}, 'pg': {'name-pattern': '^{namespace}.*-k8spg-.*', 'excludes': '.helm., -admin-secret', 'agent': {'name': 'ops', 'just-in-time': False, 'timeout': 86400, 'image': 'seanahnsf/kaqing'}, 'default-db': 'postgres', 'default-schema': 'postgres', 'secret': {'endpoint-key': 'postgres-db-endpoint', 'port-key': 'postgres-db-port', 'username-key': 'postgres-admin-username', 'password-key': 'postgres-admin-password'}}, 'pod': {'name': 'ops', 'image': 'seanahnsf/kaqing-cloud', 'sa': {'name': 'ops', 'proto': 'c3', 'additional-cluster-roles': 'c3aiops-k8ssandra-operator'}, 'label-selector': 'run=ops'}, 'preview': {'rows': 10}, 'processes': {'columns': 'pod,cpu,mem', 'header': 'POD_NAME,CPU,MEM/LIMIT'}, 'reaper': {'service-name': 'reaper-service', 'port-forward': {'timeout': 86400, 'local-port': 9001}, 'abort-runs-batch': 10, 'show-runs-batch': 100, 'pod': {'cluster-regex': '(.*?-.*?-.*?-.*?)-.*', 'label-selector': 'k8ssandra.io/reaper={cluster}-reaper'}, 'secret': {'cluster-regex': '(.*?-.*?)-.*', 'name': '{cluster}-reaper-ui', 'password-item': 'password'}}, 'repair': {'log-path': '/home/cassrepair/logs/', 'image': 'ci-registry.c3iot.io/cloudops/cassrepair:2.0.13', 'secret': 'ciregistryc3iotio', 'env': {'interval': 24, 'timeout': 60, 'pr': False, 'runs': 1}}, 'repl': {'start-drive': 'a', 'auto-enter-app': 'c3/c3', 'auto-enter-only-cluster': True}, 'status': {'columns': 'status,address,load,tokens,owns,host_id,gossip,compactions', 'header': '--,Address,Load,Tokens,Owns,Host ID,GOSSIP,COMPACTIONS'}, 'storage': {'columns': 'pod,volume_root,volume_cassandra,snapshots,data,compactions', 'header': 'POD_NAME,VOLUME /,VOLUME CASS,SNAPSHOTS,DATA,COMPACTIONS'}, 'watch': {'auto': 'rollout', 'timeout': 3600, 'interval': 10}, 'debug': {'timings': False, 'exit-on-error': False, 'show-parallelism': False, 'show-out': False}}
2
+ return {'app': {'console-endpoint': 'https://{host}/{env}/{app}/static/console/index.html', 'cr': {'cluster-regex': '(.*?-.*?)-.*', 'group': 'ops.c3.ai', 'v': 'v2', 'plural': 'c3cassandras'}, 'label': 'c3__app_id-0', 'login': {'admin-group': '{host}/C3.ClusterAdmin', 'ingress': '{app_id}-k8singr-appleader-001', 'timeout': 5, 'session-check-url': 'https://{host}/{env}/{app}/api/8/C3/userSessionToken', 'cache-creds': True, 'cache-username': True, 'url': 'https://{host}/{env}/{app}', 'another': "You're logged in to {has}. However, for this app, you need to log in to {need}.", 'token-server-url': 'http://localhost:{port}', 'password-max-length': 128}, 'strip': '0'}, 'bash': {'workers': 32}, 'cassandra': {'service-name': 'all-pods-service'}, 'cql': {'workers': 32, 'samples': 3, 'secret': {'cluster-regex': '(.*?-.*?)-.*', 'name': '{cluster}-superuser', 'password-item': 'password'}}, 'checks': {'compactions-threshold': 250, 'cpu-busy-threshold': 98.0, 'cpu-threshold': 0.0, 'cassandra-data-path': '/c3/cassandra', 'root-disk-threshold': 50, 'cassandra-disk-threshold': 50, 'snapshot-size-cmd': "ls /c3/cassandra/data/data/*/*/snapshots | grep snapshots | sed 's/:$//g' | xargs -I {} du -sk {} | awk '{print $1}' | awk '{s+=$1} END {print s}'", 'snapshot-size-threshold': '40G', 'table-sizes-cmd': "ls -Al /c3/cassandra/data/data/ | awk '{print $9}' | sed 's/\\^r//g' | xargs -I {} du -sk /c3/cassandra/data/data/{}"}, 'get-host-id': {'workers': 32}, 'idps': {'ad': {'email-pattern': '.*@c3.ai', 'uri': 'https://login.microsoftonline.com/53ad779a-93e7-485c-ba20-ac8290d7252b/oauth2/v2.0/authorize?response_type=id_token&response_mode=form_post&client_id=00ff94a8-6b0a-4715-98e0-95490012d818&scope=openid+email+profile&redirect_uri=https%3A%2F%2Fplat.c3ci.cloud%2Fc3%2Fc3%2Foidc%2Flogin&nonce={nonce}&state=EMPTY', 'jwks-uri': 'https://login.microsoftonline.com/common/discovery/keys', 'contact': 'Please contact ted.tran@c3.ai.', 'whitelist-file': '/kaqing/members'}, 'okta': {'default': True, 'email-pattern': '.*@c3iot.com', 'uri': 'https://c3energy.okta.com/oauth2/v1/authorize?response_type=id_token&response_mode=form_post&client_id={client_id}&scope=openid+email+profile+groups&redirect_uri=https%3A%2F%2F{host}%2Fc3%2Fc3%2Foidc%2Flogin&nonce={nonce}&state=EMPTY', 'jwks-uri': 'https://c3energy.okta.com/oauth2/v1/keys'}}, 'issues': {'workers': 32}, 'logs': {'path': '/c3/cassandra/logs/system.log'}, 'medusa': {'restore-auto-complete': False}, 'nodetool': {'workers': 32, 'samples': 3, 'commands_in_line': 40}, 'pg': {'name-pattern': '^{namespace}.*-k8spg-.*', 'excludes': '.helm., -admin-secret', 'agent': {'name': 'ops-pg-agent', 'just-in-time': False, 'timeout': 86400, 'image': 'seanahnsf/kaqing'}, 'default-db': 'postgres', 'default-schema': 'postgres', 'secret': {'endpoint-key': 'postgres-db-endpoint', 'port-key': 'postgres-db-port', 'username-key': 'postgres-admin-username', 'password-key': 'postgres-admin-password'}}, 'pod': {'name': 'ops', 'image': 'seanahnsf/kaqing-cloud', 'sa': {'name': 'ops', 'proto': 'c3', 'additional-cluster-roles': 'c3aiops-k8ssandra-operator'}, 'label-selector': 'run=ops'}, 'preview': {'rows': 10}, 'processes': {'columns': 'pod,cpu,mem', 'header': 'POD_NAME,CPU,MEM/LIMIT'}, 'reaper': {'service-name': 'reaper-service', 'port-forward': {'timeout': 86400, 'local-port': 9001}, 'abort-runs-batch': 10, 'show-runs-batch': 100, 'pod': {'cluster-regex': '(.*?-.*?-.*?-.*?)-.*', 'label-selector': 'k8ssandra.io/reaper={cluster}-reaper'}, 'secret': {'cluster-regex': '(.*?-.*?)-.*', 'name': '{cluster}-reaper-ui', 'password-item': 'password'}}, 'repair': {'log-path': '/home/cassrepair/logs/', 'image': 'ci-registry.c3iot.io/cloudops/cassrepair:2.0.13', 'secret': 'ciregistryc3iotio', 'env': {'interval': 24, 'timeout': 60, 'pr': False, 'runs': 1}}, 'repl': {'start-drive': 'a', 'auto-enter-app': 'c3/c3', 'auto-enter-only-cluster': True}, 'status': {'columns': 'status,address,load,tokens,owns,host_id,gossip,compactions', 'header': '--,Address,Load,Tokens,Owns,Host ID,GOSSIP,COMPACTIONS'}, 'storage': {'columns': 'pod,volume_root,volume_cassandra,snapshots,data,compactions', 'header': 'POD_NAME,VOLUME /,VOLUME CASS,SNAPSHOTS,DATA,COMPACTIONS'}, 'watch': {'auto': 'rollout', 'timeout': 3600, 'interval': 10}, 'debug': {'timings': False, 'exit-on-error': False, 'show-parallelism': False, 'show-out': False}}
adam/k8s_utils/pods.py CHANGED
@@ -24,10 +24,10 @@ class Pods:
24
24
 
25
25
  return _TEST_POD_EXEC_OUTS
26
26
 
27
- def delete(pod_name: str, namespace: str):
27
+ def delete(pod_name: str, namespace: str, grace_period_seconds: int = None):
28
28
  try:
29
29
  v1 = client.CoreV1Api()
30
- api_response = v1.delete_namespaced_pod(pod_name, namespace)
30
+ api_response = v1.delete_namespaced_pod(pod_name, namespace, grace_period_seconds=grace_period_seconds)
31
31
  except Exception as e:
32
32
  log2("Exception when calling CoreV1Api->delete_namespaced_pod: %s\n" % e)
33
33
 
adam/repl_commands.py CHANGED
@@ -4,9 +4,11 @@ from adam.commands.deploy.code_start import CodeStart
4
4
  from adam.commands.deploy.code_stop import CodeStop
5
5
  from adam.commands.deploy.deploy import Deploy
6
6
  from adam.commands.deploy.deploy_frontend import DeployFrontend
7
+ from adam.commands.deploy.deploy_pg_agent import DeployPgAgent
7
8
  from adam.commands.deploy.deploy_pod import DeployPod
8
9
  from adam.commands.deploy.undeploy import Undeploy
9
10
  from adam.commands.deploy.undeploy_frontend import UndeployFrontend
11
+ from adam.commands.deploy.undeploy_pg_agent import UndeployPgAgent
10
12
  from adam.commands.deploy.undeploy_pod import UndeployPod
11
13
  from adam.commands.shell import Shell
12
14
  from adam.commands.show.show_app_queues import ShowAppQueues
@@ -78,7 +80,7 @@ class ReplCommands:
78
80
  return Medusa.cmd_list() + [Restart(), RollOut(), Watch()] + Reaper.cmd_list() + Repair.cmd_list()
79
81
 
80
82
  def tools() -> list[Command]:
81
- return [Cqlsh(), Postgres(), Bash(), Shell(), CodeStart(), CodeStop(), DeployFrontend(), UndeployFrontend(), DeployPod(), UndeployPod()]
83
+ return [Cqlsh(), Postgres(), Bash(), Shell(), CodeStart(), CodeStop(), DeployFrontend(), UndeployFrontend(), DeployPod(), UndeployPod(), DeployPgAgent(), UndeployPgAgent()]
82
84
 
83
85
  def app() -> list[Command]:
84
86
  return [ShowAppActions(), ShowAppId(), ShowAppQueues(), AppPing(), App()]
adam/version.py CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- __version__ = "2.0.11" #: the working version
4
+ __version__ = "2.0.12" #: the working version
5
5
  __release__ = "1.0.0" #: the release version
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kaqing
3
- Version: 2.0.11
3
+ Version: 2.0.12
4
4
  Summary: UNKNOWN
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -6,15 +6,15 @@ adam/cli.py,sha256=03pIZdomAu7IL-GSP6Eun_PKwwISShRAmfx6eVRPGC0,458
6
6
  adam/cli_group.py,sha256=W3zy1BghCtVcEXizq8fBH-93ZRVVwgAyGPzy0sHno1Y,593
7
7
  adam/config.py,sha256=38UcmYRxf-Kq4iPbKS7tNPQqN64fam1bWNy6jhWREd0,2552
8
8
  adam/embedded_apps.py,sha256=lKPx63mKzJbNmwz0rgL4gF76M9fDGxraYTtNAIGnZ_s,419
9
- adam/embedded_params.py,sha256=e0ewr-cd2z9efkSKRhzPvxCBD3j3hjrujXjwaauFN0w,4368
9
+ adam/embedded_params.py,sha256=cQuD1eMNEIDqFdBz7lzosvO40YB2tdfO0oj2qY4ZESA,4377
10
10
  adam/log.py,sha256=gg5DK52wLPc9cjykeh0WFHyAk1qI3HEpGaAK8W2dzXY,1146
11
11
  adam/pod_exec_result.py,sha256=nq0xnCNOpUGBSijGF0H-YNrwBc9vUQs4DkvLMIFS5LQ,951
12
12
  adam/repl.py,sha256=5uGsu24qVAfATHIRdLJ4er44_9uUnVZ14pr-VXCILI0,7224
13
- adam/repl_commands.py,sha256=ionPWjPhzrzm59zbhO1WsGGcLVba3bnPl6uPjvQ4C34,4093
13
+ adam/repl_commands.py,sha256=h5l-xLfB85qiaU71yyunhoTy2743zsC4ElQ0ZvHqo_k,4259
14
14
  adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
15
15
  adam/repl_state.py,sha256=QarrUAwYWOz3YTemtaf2opbHLa5a3LEsyuonNwhvOhk,7131
16
16
  adam/utils.py,sha256=-O47UmVG8S5N2LHAOE-UTMBHJOS_mXufU8ncupeNCHc,7043
17
- adam/version.py,sha256=hBl12ee57RQcSlFtWSEqN_a2Me2C7OZ92TJTmo2RiV0,139
17
+ adam/version.py,sha256=jHnDnqIeuutPIOLc0hrOnkwI4wj7JxIIQ0zgmOj2fcI,139
18
18
  adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
20
20
  adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
@@ -81,12 +81,14 @@ adam/commands/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
81
81
  adam/commands/deploy/code_start.py,sha256=-iH8HThTNM83IfBxT_LqTByuHVatV9d-Il4OYOfrwLI,1370
82
82
  adam/commands/deploy/code_stop.py,sha256=ch7ZMgosvTHsGaIcDwQY5XYh_5HYrUjBkZFOI-d2gOU,1696
83
83
  adam/commands/deploy/code_utils.py,sha256=5Gp4U8HzKpPkbkHDU7whlvGOK-wWaAbCIIGzVoN9hio,3296
84
- adam/commands/deploy/deploy.py,sha256=_y_pSBHIEVMTgjDqEZwvmGfLQBirHBH4sCnsl0CKOM8,1792
84
+ adam/commands/deploy/deploy.py,sha256=R1m_bM81WU9X1YJJz9gkT5u8JMPDzPaYUDBm9PXscJQ,1872
85
85
  adam/commands/deploy/deploy_frontend.py,sha256=TSvMTy6uUfOBIV96hKFy-M1hNCE6OeRW9M_dj1ZJsv0,1700
86
+ adam/commands/deploy/deploy_pg_agent.py,sha256=07kzg44ujiOtRgH1Pw6Fu5hAYZ_BNPLIA5ZRKViaVI8,1657
86
87
  adam/commands/deploy/deploy_pod.py,sha256=epK2FSnO4jqm7VHNID6gETvlhOs9CWVlTj1I_htDA_g,4403
87
88
  adam/commands/deploy/deploy_utils.py,sha256=daJhX2kCg5aGt4ZLQdz5AbR-AS7q2y-bZNVxHzP708c,1524
88
- adam/commands/deploy/undeploy.py,sha256=CNgbB00TR1YRgX0xGgdGAT8YNPlcLssMsRX-pSby-Ao,1842
89
+ adam/commands/deploy/undeploy.py,sha256=mKywl7mHDoxRjWTx1Wo3PS_T8W6ibJBzXk_dEmEQ9bY,1928
89
90
  adam/commands/deploy/undeploy_frontend.py,sha256=mbHlWb5UHUVpR1trfflCS_TDip7eAqxqoZ47RzRZcno,1257
91
+ adam/commands/deploy/undeploy_pg_agent.py,sha256=2QyJrJKE_ma0YuK-oP7FoAagTabd0bvdFhSvkL1iN5k,1510
90
92
  adam/commands/deploy/undeploy_pod.py,sha256=k4O0JuVsY4h2jT_mZPM6Q8GqfSz02VAQLAYmd0FCVT8,1901
91
93
  adam/commands/medusa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
94
  adam/commands/medusa/medusa.py,sha256=Y_yyOZRb6u45wfTVBRp3kuklyYDTSlaAJQdAiymP_8M,2185
@@ -98,7 +100,7 @@ adam/commands/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
98
100
  adam/commands/postgres/postgres.py,sha256=ugnQulU6h3pSySYRwU801raxqsC8W5DcFLSbqnk7SPo,3597
99
101
  adam/commands/postgres/postgres_ls.py,sha256=HwZTgwGKXUqHX33S8aQPF6FqCrLqtoz4cLyJV2SpoE0,1186
100
102
  adam/commands/postgres/postgres_preview.py,sha256=OhnWe6SKf2Z8rBW7_NJEvJFlLqPUKMr528VPVtoT0yw,1306
101
- adam/commands/postgres/postgres_session.py,sha256=WhaSZQVTuAp8s_smkCQwL9zP1Mw56Zx50PhjG1PdJLY,9278
103
+ adam/commands/postgres/postgres_session.py,sha256=QFHSmixaI9_MxgzYj-UwvaOOaHLudx1bp821LB0dSSw,9440
102
104
  adam/commands/reaper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
105
  adam/commands/reaper/reaper.py,sha256=SbxXgJ6b4wdXx5a1Fps71iEa1hmycWbArh1oC5bS83M,2677
104
106
  adam/commands/reaper/reaper_forward.py,sha256=mUp409MzT91cVXGxoPfBGceaR3qZ0rVdWKGdyzPNzSA,3177
@@ -142,7 +144,7 @@ adam/k8s_utils/deployment.py,sha256=3oZPfPgQfqtAQaxEFL4daUfRSieRAhysmuaWMzUYgXk,
142
144
  adam/k8s_utils/ingresses.py,sha256=ul3Z6fDGc_Cxcn-ExP0vXhZatoShCUZFtpwtCY4Qx7o,3460
143
145
  adam/k8s_utils/jobs.py,sha256=P7j3JiZ33TRnkjkPLLrGlypAPxK1BZQHvVpF8s7eHA8,2604
144
146
  adam/k8s_utils/kube_context.py,sha256=nocEyVNjXWG-N-GNnEYHDvnot7H5LQUFmpZIwIyE7As,3310
145
- adam/k8s_utils/pods.py,sha256=yfiWeqERQGVkhWbcDA5w4jzjiwcwczkQ-z_8ogfbB8Y,9897
147
+ adam/k8s_utils/pods.py,sha256=BmBi74N4Meq6uKoU7v4A1nQK8Jk4mo5CaRz2mAVoCbU,9974
146
148
  adam/k8s_utils/secrets.py,sha256=pYaVKXTpx3-QgFtBjznWFq0N6ZcBdxnx21FRe5nBCCo,2305
147
149
  adam/k8s_utils/service_accounts.py,sha256=v2oQSqCrNvt2uRnKlNwR3fjtpUG7oF5nqgzEB7NnT-U,6349
148
150
  adam/k8s_utils/services.py,sha256=EOJJGACVbbRvu5T3rMKqIJqgYic1_MSJ17EA0TJ6UOk,3156
@@ -158,8 +160,8 @@ adam/sso/idp.py,sha256=fvcwUw_URTgsO6ySaqTIw0zQT2qRO1IPSGhf6rPtybo,5804
158
160
  adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
159
161
  adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
160
162
  adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
161
- kaqing-2.0.11.dist-info/METADATA,sha256=DTEh7pZ1FhzuGyCH0oS104e6D2UeyYqFka7pmuTNdRs,132
162
- kaqing-2.0.11.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
163
- kaqing-2.0.11.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
164
- kaqing-2.0.11.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
165
- kaqing-2.0.11.dist-info/RECORD,,
163
+ kaqing-2.0.12.dist-info/METADATA,sha256=5rXLoc5r_XuBINVjNE36MiClmIOcXqJ8bMJj7IWOmck,132
164
+ kaqing-2.0.12.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
165
+ kaqing-2.0.12.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
166
+ kaqing-2.0.12.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
167
+ kaqing-2.0.12.dist-info/RECORD,,