{
  "name": "proof-nginx-debian-trixie-20260809-r2",
  "description": "Flagship proof: nginx installs, boots, serves HTTP, and is enabled on Debian 13 (Trixie)",
  "base_image": "debian-trixie",
  "features": [
    "headless",
    "nginx"
  ],
  "packages": [
    "curl"
  ],
  "services": [
    {
      "name": "nginx",
      "enabled": true,
      "config": {
        "port-http": "80"
      }
    }
  ],
  "users": [],
  "networking": {
    "firewall": false
  },
  "security": {
    "hardening_level": "minimal"
  },
  "test_config": {
    "enabled": true,
    "tests": [
      "boot",
      "packages",
      "network"
    ],
    "memory_mb": 4096,
    "vcpus": 4,
    "custom_tests": [
      {
        "description": "Verify nginx is installed, enabled, active, listening, and serving after the first boot",
        "category": "cross-distro-nginx-proof",
        "category_label": "Cross-distro nginx proof",
        "assertions": [
          {
            "type": "package_installed",
            "description": "nginx is installed",
            "params": {
              "package": "nginx"
            },
            "expected": "installed"
          },
          {
            "type": "service_enabled",
            "description": "nginx is enabled for future boots",
            "params": {
              "service": "nginx"
            },
            "expected": "enabled"
          },
          {
            "type": "service_running",
            "description": "nginx is active on the first boot",
            "params": {
              "service": "nginx"
            },
            "expected": "active"
          },
          {
            "type": "port_listening",
            "description": "nginx listens on TCP port 80",
            "params": {
              "port": 80,
              "protocol": "tcp"
            },
            "expected": "listening"
          },
          {
            "type": "http_responds",
            "description": "nginx returns HTTP 200 locally",
            "params": {
              "url": "http://127.0.0.1/",
              "expected_status": 200
            },
            "expected": 200
          },
          {
            "type": "command_output",
            "description": "nginx reports its installed version",
            "params": {
              "command": "nginx -v 2>&1",
              "expected_pattern": "nginx version: nginx/[0-9]+"
            },
            "expected": "version reported"
          }
        ]
      }
    ]
  }
}
