import json
import shutil
import subprocess
from pathlib import Path
import os

os.umask(0o077)
def run(args):
    return subprocess.check_output(args, text=True, timeout=20)
data = json.loads(run(['docker', 'inspect', 'contextra-analytics-1']))[0]
free = shutil.disk_usage('/').free
summary = dict(root_free_bytes=free, required_bytes=25*1024**3,
               build_allowed=free >= 25*1024**3, analytics_state=data['State']['Status'],
               analytics_image=data['Image'], restarts=data['RestartCount'], oom=data['State']['OOMKilled'])
assert summary['analytics_state'] == 'exited'
assert summary['analytics_image'] == 'sha256:92a87856fcb5a541dd1c630e49eb7ded3a2ac36eb93da6a346638ac9d0441e12'
Path(__file__).with_name('gate.json').write_text(json.dumps(summary, indent=2))
print(json.dumps(summary))
