fix slack-kube auth

1. reorder slack auth methods
2. refactor + fix kube slack lookup
This commit is contained in:
2026-06-11 23:03:05 +03:00
parent 973c6ac390
commit c5d4f603e2
3 changed files with 33 additions and 27 deletions

View File

@@ -5,6 +5,15 @@ from kubernetes import client, config
OIDC_USERS_NAMESPACE = os.environ["OIDC_USERS_NAMESPACE"]
def groupsToFullName(groups) -> List[str]:
fullName: List[str] = []
for group in groups:
fullName.append(
group.get("prefix", "") + ":" + group.get("name", "")
)
return fullName
def users_with_group(requiredGroup: str) -> List[str]:
config.load_incluster_config()
@@ -17,16 +26,14 @@ def users_with_group(requiredGroup: str) -> List[str]:
)
for item in ret["items"]:
for group in item.get("status", {}).get("groups", []):
groupName = group.get("prefix", "") + ":" + group.get("name", "")
if groupName == requiredGroup:
for group in groupsToFullName(item.get("status", {}).get("groups", [])):
if group == requiredGroup:
users.append(item["metadata"]["name"])
continue
print(f"INFO: {len(users)} users in group {requiredGroup}")
return users
# -> (groups[], username)
def by_slackid(slack_id: str) -> Tuple[List[str], str]:
config.load_incluster_config()
@@ -37,8 +44,6 @@ def by_slackid(slack_id: str) -> Tuple[List[str], str]:
)
for item in ret["items"]:
if slack_id == item.get("status", {}).get("slackId", None):
return item.get("status", {}).get("groups", []), item.get(
"metadata", {}
).get("name", "")
return groupsToFullName(item.get("status", {}).get("groups", [])), item.get("metadata", {}).get("name", "")
return [], ""