23 lines
661 B
Python
23 lines
661 B
Python
|
|
from typing import List
|
|
from kubernetes import client, config
|
|
import os
|
|
|
|
OIDC_USERS_NAMESPACE = os.getenv("OIDC_USERS_NAMESPACE")
|
|
|
|
def users_with_group(group: str) -> List[str]:
|
|
config.load_incluster_config()
|
|
api_instance = client.CustomObjectsApi()
|
|
|
|
users = List[str]
|
|
|
|
ret = api_instance.list_namespaced_custom_object("codemowers.cloud", "v1beta1", OIDC_USERS_NAMESPACE, "oidcusers")
|
|
for item in ret["items"]:
|
|
if group not in item.get("status", {}).get("groups", []):
|
|
continue
|
|
|
|
users.append(item['metadata']['name'])
|
|
|
|
print(f"INFO: {len(users)} users in group {group}")
|
|
return users
|