Files
py-ailbl-user-avatar/apps/helpers.py

36 lines
927 B
Python
Raw Permalink Normal View History

2025-11-18 12:40:34 +07:00
import logging
2025-12-02 04:38:34 +00:00
import boto3
2025-11-20 15:41:36 +07:00
SECRET_NAME = "fission-ailbl-user-avatar-env"
2025-11-18 12:40:34 +07:00
K8S_NAMESPACE = "default"
2025-12-02 04:38:34 +00:00
def get_current_namespace() -> str:
2025-11-18 12:40:34 +07:00
try:
with open("/var/run/secrets/kubernetes.io/serviceaccount/namespace", "r") as f:
namespace = f.read()
2025-12-02 04:38:34 +00:00
except:
2025-11-18 12:40:34 +07:00
namespace = K8S_NAMESPACE
return str(namespace)
2025-12-02 04:38:34 +00:00
def get_secret(key: str, default=None) -> str:
2025-11-18 12:40:34 +07:00
namespace = get_current_namespace()
path = f"/secrets/{namespace}/{SECRET_NAME}/{key}"
try:
with open(path, "r") as f:
return f.read()
2025-12-02 04:38:34 +00:00
except:
2025-11-18 12:40:34 +07:00
return default
2025-12-02 04:38:34 +00:00
S3_BUCKET = get_secret("S3_BUCKET")
S3_PREFIX = get_secret("S3_PREFIX")
s3_client = boto3.client(
"s3",
endpoint_url=get_secret("S3_ENDPOINT_URL"),
aws_access_key_id=get_secret("S3_ACCESS_KEY_ID"),
aws_secret_access_key=get_secret("S3_SECRET_ACCESS_KEY"),
config=boto3.session.Config(signature_version="s3v4"),
)