Files
certd/sdk/python/get_cert.py
T
xiaojunnuo 639756dfcd chore: sdk
2026-05-14 18:31:25 +08:00

54 lines
1.3 KiB
Python

#!/usr/bin/env python3
import os
import sys
from certd_client import CertdClient
def require_env(name: str) -> str:
value = os.getenv(name)
if not value:
raise RuntimeError(f"Missing environment variable: {name}")
return value
def bool_env(name: str, default: bool = False) -> bool:
value = os.getenv(name)
if value is None or value == "":
return default
return value.lower() in ("1", "true", "yes", "y")
def main() -> None:
client = CertdClient(
require_env("CERTD_KEY_ID"),
require_env("CERTD_KEY_SECRET"),
base_url=os.getenv("CERTD_BASE_URL", "http://127.0.0.1:7001"),
encrypt=bool_env("CERTD_ENCRYPT"),
)
params = {"autoApply": bool_env("CERTD_AUTO_APPLY")}
cert_id = os.getenv("CERTD_CERT_ID")
domains = os.getenv("CERTD_DOMAINS")
cert_format = os.getenv("CERTD_FORMAT")
if cert_id:
params["certId"] = int(cert_id)
if domains:
params["domains"] = domains
if cert_format:
params["format"] = cert_format
if "certId" not in params and "domains" not in params:
raise RuntimeError("Set CERTD_CERT_ID or CERTD_DOMAINS")
print(client.get_cert(params))
if __name__ == "__main__":
try:
main()
except Exception as exc:
print(str(exc), file=sys.stderr)
sys.exit(1)