import os import sys import importlib def check_structure(): print("🐳 Simulating Docker Build Context...") # 1. Check Root Files required = ["app", "requirements.txt", "Dockerfile", ".dockerignore"] missing = [f for f in required if not os.path.exists(f)] if missing: print(f"āŒ MISSING FILES: {missing}") return False else: print("āœ… Root structure verified.") # 2. Check App Directory if not os.path.exists("app/main.py"): print("āŒ app/main.py not found! Uvicorn will fail.") return False print("āœ… app/main.py exists.") # 3. Check Dependencies (Top-Level) print("šŸ” Checking critical imports...") try: import fastapi import uvicorn import pydantic import tenacity import requests print("āœ… Core dependencies installed.") except ImportError as e: print(f"āš ļø WARNING: Local environment missing dependency: {e}") print(" (This might be fine if Docker installs them, but ensure strict versioning in requirements.txt)") return True if __name__ == "__main__": if check_structure(): print("\nšŸš€ Ready for 'docker build -t sentinel-honeypot .'") else: print("\nšŸ›‘ Build pre-check FAILED.") sys.exit(1)