File size: 2,012 Bytes
f74bce1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fc9f64b
f74bce1
 
 
74ee21a
347a4d6
f74bce1
 
74ee21a
347a4d6
f74bce1
 
 
347a4d6
 
 
 
f74bce1
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env python3
"""Report integration readiness without printing secrets."""

from __future__ import annotations

import importlib.util
import json

from proofframe.config import Settings


def available(module: str) -> bool:
    return importlib.util.find_spec(module) is not None


def main() -> None:
    settings = Settings.from_env()
    report = {
        "storage_backend": settings.storage_backend,
        "generation_backend": settings.generation_backend,
        "b2": {
            "configured": bool(
                settings.b2_endpoint_url
                and settings.b2_bucket
                and settings.b2_key_id
                and settings.b2_application_key
            ),
            "has_endpoint": bool(settings.b2_endpoint_url),
            "has_bucket": bool(settings.b2_bucket),
            "has_key_id": bool(settings.b2_key_id),
            "has_application_key": bool(settings.b2_application_key),
            "has_region_for_genblaze_sink": bool(settings.b2_region_for_backblaze()),
            "boto3_available": available("boto3"),
        },
        "genblaze": {
            "configured": settings.genblaze_configured(),
            "provider": settings.genblaze_provider,
            "has_base_url_override": bool(settings.genblaze_base_url),
            "has_model": bool(settings.genblaze_image_model),
            "requires_api_key": settings.genblaze_provider_requires_key(),
            "has_api_key": bool(settings.genblaze_provider_key()),
            "genblaze_core_available": available("genblaze_core"),
            "genblaze_s3_available": available("genblaze_s3"),
            "genblaze_gmicloud_available": available("genblaze_gmicloud"),
            "genblaze_openai_available": available("genblaze_openai"),
            "provider_modules_available": all(
                available(module) for module in settings.genblaze_provider_modules()
            ),
        },
    }
    print(json.dumps(report, indent=2))


if __name__ == "__main__":
    main()