kaqing 1.98.80__py3-none-any.whl → 1.98.82__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/embedded_params.py +1 -1
- adam/sso/authn_ad.py +3 -56
- adam/sso/idp.py +10 -9
- adam/version.py +1 -1
- {kaqing-1.98.80.dist-info → kaqing-1.98.82.dist-info}/METADATA +1 -1
- {kaqing-1.98.80.dist-info → kaqing-1.98.82.dist-info}/RECORD +9 -9
- {kaqing-1.98.80.dist-info → kaqing-1.98.82.dist-info}/WHEEL +0 -0
- {kaqing-1.98.80.dist-info → kaqing-1.98.82.dist-info}/entry_points.txt +0 -0
- {kaqing-1.98.80.dist-info → kaqing-1.98.82.dist-info}/top_level.txt +0 -0
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/
|
|
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'}}, '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': {'image': 'seanahnsf/kaqing', 'name': 'kaqing-agent', 'timeout': 86400}, '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'}}, '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/sso/authn_ad.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import base64
|
|
2
1
|
import json
|
|
3
2
|
import re
|
|
3
|
+
import traceback
|
|
4
4
|
import jwt
|
|
5
5
|
import requests
|
|
6
6
|
from urllib.parse import urlparse, parse_qs
|
|
@@ -8,7 +8,6 @@ from urllib.parse import urlparse, parse_qs
|
|
|
8
8
|
from adam.log import Log
|
|
9
9
|
from adam.sso.authenticator import Authenticator
|
|
10
10
|
from adam.sso.id_token import IdToken
|
|
11
|
-
|
|
12
11
|
from .idp_login import IdpLogin
|
|
13
12
|
from adam.config import Config
|
|
14
13
|
|
|
@@ -162,58 +161,6 @@ class AdAuthenticator(Authenticator):
|
|
|
162
161
|
exp=data['exp'] if 'exp' in data else 0
|
|
163
162
|
)
|
|
164
163
|
except:
|
|
165
|
-
|
|
164
|
+
Config().debug(traceback.format_exc())
|
|
166
165
|
|
|
167
|
-
|
|
168
|
-
# missing_padding = len(encoded_part) % 4
|
|
169
|
-
# if missing_padding:
|
|
170
|
-
# encoded_part += '=' * (4 - missing_padding)
|
|
171
|
-
# decoded_bytes = base64.urlsafe_b64decode(encoded_part)
|
|
172
|
-
# return json.loads(decoded_bytes.decode('utf-8'))
|
|
173
|
-
|
|
174
|
-
# parts = id_token.split('.')
|
|
175
|
-
# # header = decode_jwt_part(parts[0])
|
|
176
|
-
# data = decode_jwt_part(parts[1])
|
|
177
|
-
# print('SEAN', payload)
|
|
178
|
-
# {
|
|
179
|
-
# 'aud': '00ff94a8-6b0a-4715-98e0-95490012d818',
|
|
180
|
-
# 'iss': 'https://login.microsoftonline.com/53ad779a-93e7-485c-ba20-ac8290d7252b/v2.0',
|
|
181
|
-
# 'iat': 1756138348,
|
|
182
|
-
# 'nbf': 1756138348,
|
|
183
|
-
# 'exp': 1756142248,
|
|
184
|
-
# 'cc': 'CmCuOndNgXFbP/Vor0kv9fqd32LOv7kSHKStVrGPTXXnlPlSET3g4z23XjVZJW37F2Yy8d45MzZ6xA/XNbYGE3BHYAZFhfDKOp0ZbWZysqa2zqD3lpyXxnlEpzWkFY1SlDgSBWMzLmFpGhIKEFbS9ukejKFBi0QKCcPHh6MiEgoQb7gHorgqqEOuuPDIcSgHATICTkE4AUIJCQDvjjtx391I',
|
|
185
|
-
# 'email': 'sean.ahn@c3.ai',
|
|
186
|
-
# 'groups': [
|
|
187
|
-
# 'e58ef97f-8622-47cc-93cd-0ec8e3df2b4e',
|
|
188
|
-
# '290214ec-2eaa-47bb-802c-70c2535bb7e7',
|
|
189
|
-
# '55cd2e92-c40d-4646-b837-c6fb6406013b',
|
|
190
|
-
# '9b715aa3-ec6c-44ad-be0c-a1d95045526d',
|
|
191
|
-
# '19a38c19-e4c3-4d7b-8bb0-4afe7f502a51',
|
|
192
|
-
# '5d891ce3-02d8-4d34-9748-9e711a3d54c5',
|
|
193
|
-
# '0626cb36-106c-4ab3-adcf-7ee8e3f05584',
|
|
194
|
-
# '6dfdfa3e-b225-4a74-a534-1cc963f78e08',
|
|
195
|
-
# 'bfdcca4e-7212-4e73-9b8a-eecfd3a7797d',
|
|
196
|
-
# '6d050845-61c4-4072-acb1-9662d0c9faa0',
|
|
197
|
-
# 'c4fbb32c-9892-4eb3-a829-b4eaaf71b4ef'
|
|
198
|
-
# ],
|
|
199
|
-
# 'name': 'Sean Ahn',
|
|
200
|
-
# 'nonce': 'V7DzmHtmhu3X3tzZmC55vMQ2WJtqXnW6wJpYb3Kfud8',
|
|
201
|
-
# 'oid': '380029a1-0643-4764-b3b8-9bc02630af41',
|
|
202
|
-
# 'preferred_username': 'sean.ahn@c3.ai',
|
|
203
|
-
# 'rh': '1.ATcAmnetU-eTXEi6IKyCkNclK6iU_wAKaxVHmOCVSQAS2Bj1AJU3AA.',
|
|
204
|
-
# 'sid': '007dea79-a65c-7911-5142-8ea1b9faa41a',
|
|
205
|
-
# 'sub': 'd-iCznXBDo3HEV7UCGalCVFIG47dQl_SFCaQtN2yVQI',
|
|
206
|
-
# 'tid': '53ad779a-93e7-485c-ba20-ac8290d7252b',
|
|
207
|
-
# 'uti': 'b7gHorgqqEOuuPDIcSgHAQ',
|
|
208
|
-
# 'ver': '2.0'
|
|
209
|
-
# }
|
|
210
|
-
|
|
211
|
-
return IdToken(
|
|
212
|
-
data,
|
|
213
|
-
data['email'],
|
|
214
|
-
data['name'],
|
|
215
|
-
groups=data['groups'] if 'groups' in data else [],
|
|
216
|
-
iat=data['iat'] if 'iat' in data else 0,
|
|
217
|
-
nbf=data['nbf'] if 'nbf' in data else 0,
|
|
218
|
-
exp=data['exp'] if 'exp' in data else 0
|
|
219
|
-
)
|
|
166
|
+
return None
|
adam/sso/idp.py
CHANGED
|
@@ -34,15 +34,16 @@ class Idp:
|
|
|
34
34
|
if use_token_from_env:
|
|
35
35
|
if l0 := session.login_from_env_var():
|
|
36
36
|
return l0
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
|
|
38
|
+
if port := os.getenv("SERVER_PORT"):
|
|
39
|
+
token_server = Config().get('app.login.token-server-url', 'http://localhost:{port}').replace('{port}', port)
|
|
40
|
+
res: requests.Response = requests.get(token_server)
|
|
41
|
+
if res.status_code == 200 and res.text:
|
|
42
|
+
try:
|
|
43
|
+
# may fail if the idp token is not complete
|
|
44
|
+
return session.login_from_token(res.text)
|
|
45
|
+
except:
|
|
46
|
+
pass
|
|
46
47
|
|
|
47
48
|
r: IdpLogin = None
|
|
48
49
|
try:
|
adam/version.py
CHANGED
|
@@ -6,7 +6,7 @@ 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=
|
|
9
|
+
adam/embedded_params.py,sha256=mcx-WHsc_JEotPXBiHYbG_z2eNuSxZjgsqGxdIZi2To,4114
|
|
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=wEzkXaFaT1PWWYI3AZ32j01efN7HpL2xvMfGLEmYIL4,7036
|
|
@@ -14,7 +14,7 @@ adam/repl_commands.py,sha256=WCiM3AEDZjxlJNUj0LNkxuvH0I4GuptZfi3oj3ih4SY,3620
|
|
|
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=j7p7iruLuV11swa0z9ZLBgoJHu_nkTSVKtQe0q71gmk,7025
|
|
17
|
-
adam/version.py,sha256=
|
|
17
|
+
adam/version.py,sha256=Uj31BUc92pCkkq7KPCbe4yH6-IgAWBQKANktfEBKEwM,140
|
|
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
|
|
@@ -144,16 +144,16 @@ adam/k8s_utils/statefulsets.py,sha256=PZDEhy34aXxLkbW1-RsOC0E4D0w0pHyoIQGHvcAzSA
|
|
|
144
144
|
adam/k8s_utils/volumes.py,sha256=MzYeH80NqKlhdadx6d0tW-j8vTOCUYWx7wRURIZWKZ8,843
|
|
145
145
|
adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
146
146
|
adam/sso/authenticator.py,sha256=WD89YfWWt0qCqqm2q1LQ5UxbJnTJIm15WT1xXx4ArX8,594
|
|
147
|
-
adam/sso/authn_ad.py,sha256=
|
|
147
|
+
adam/sso/authn_ad.py,sha256=lnpH4jOyAw22leYzbuu7GstNLUOvf77FJOKuzgwB6HU,5746
|
|
148
148
|
adam/sso/authn_okta.py,sha256=gvW-EcQxn_5UsbVqyUpJZ_7lBBuzY6gceXukU4uLIJs,5387
|
|
149
149
|
adam/sso/cred_cache.py,sha256=7WA5rIy1wlr_GCF-Z6xRb6LzRu-Cvou-IkY7hWC3Zpc,2099
|
|
150
150
|
adam/sso/id_token.py,sha256=wmVZ8S0sjScnOxmSvOKlIEKgnvdWqhsgq9XjFe355O4,744
|
|
151
|
-
adam/sso/idp.py,sha256=
|
|
151
|
+
adam/sso/idp.py,sha256=wpGOK7axYM-m9_tsQf2p6lYewoYUl_qUD1kqrk4d8Ko,5765
|
|
152
152
|
adam/sso/idp_login.py,sha256=t49CRlMyHA76BAj_kKq0Wa9URIYlzBsUCSmn7Jf5o6I,1721
|
|
153
153
|
adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
|
|
154
154
|
adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
|
|
155
|
-
kaqing-1.98.
|
|
156
|
-
kaqing-1.98.
|
|
157
|
-
kaqing-1.98.
|
|
158
|
-
kaqing-1.98.
|
|
159
|
-
kaqing-1.98.
|
|
155
|
+
kaqing-1.98.82.dist-info/METADATA,sha256=5uudb7WZVeKWNBzBcm_x5IRglciF517v_nkx_0TsuEA,133
|
|
156
|
+
kaqing-1.98.82.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
157
|
+
kaqing-1.98.82.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
|
|
158
|
+
kaqing-1.98.82.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
|
|
159
|
+
kaqing-1.98.82.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|