activity-core/scripts/check_gitops_promotion.py
tegwick 22935955cc
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 3s
Build and Publish Container Image / build-and-push (push) Successful in 1m32s
Implement signed release admission and durable rollback coordinator
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e241-8285-7a63-8c0c-51c9cb824dc3
2026-09-27 16:39:29 +02:00

19 lines
774 B
Python

"""Compatibility CLI for the shared image-only release admission policy."""
import argparse
import json
from pathlib import Path
import yaml
from activity_core.gitops_policy import validate
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("before", type=Path)
parser.add_argument("after", type=Path)
parser.add_argument("evidence", type=Path)
args = parser.parse_args()
try:
print(json.dumps(validate(list(yaml.safe_load_all(args.before.read_text())),
list(yaml.safe_load_all(args.after.read_text())),
json.loads(args.evidence.read_text()))))
except (ValueError, KeyError, TypeError) as exc:
raise SystemExit(f"refused: {exc}")