{
  "type": "object",
  "properties": {
    "buildkit": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "BuildKit daemon address (e.g. tcp://127.0.0.1:8502)"
        }
      },
      "description": "BuildKit daemon configuration",
      "required": [
        "address"
      ],
      "additionalProperties": false
    },
    "cache": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "type": {
          "type": "string",
          "description": "Cache type (s3, registry),required"
        },
        "endpoint": {
          "type": "string",
          "description": "S3 endpoint URL"
        },
        "bucket": {
          "type": "string",
          "description": "S3 bucket name"
        },
        "region": {
          "type": "string",
          "description": "S3 region"
        },
        "access_key_id": {
          "type": "string",
          "description": "S3 access key ID"
        },
        "secret_access_key": {
          "type": "string",
          "description": "S3 secret access key"
        },
        "use_path_style": {
          "type": "boolean",
          "description": "Use path-style S3 URLs"
        },
        "ref": {
          "type": "string",
          "description": "Registry cache ref (e.g. registry:5000/cache)"
        },
        "insecure": {
          "type": "boolean",
          "description": "Allow insecure registry connections"
        }
      },
      "description": "Build cache configuration",
      "required": [
        "type"
      ],
      "additionalProperties": false
    },
    "registry": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "address": {
          "type": "string",
          "description": "Container registry address"
        }
      },
      "description": "Container registry configuration",
      "required": [
        "address"
      ],
      "additionalProperties": false
    },
    "platforms": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "string"
      },
      "description": "Default target platforms for all images (e.g. linux/amd64)"
    },
    "template_options": {
      "type": "object",
      "description": "Custom template variables available via the option function in CI and custom templates",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "$id": "https://container-hive.timo-reymann.de/schemas/project.schema.json",
  "title": "Project configuration",
  "description": "Project-level configuration schema for ContainerHive.",
  "additionalProperties": false
}