{
    "type": "object",
    "additionalProperties": false,
    "required": [
        "schema_version",
        "workloads"
    ],
    "properties": {
        "schema_version": {
            "type": "integer"
        },
        "workloads": {
            "type": "array",
            "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                    "name",
                    "version"
                ],
                "properties": {
                    "name": {
                        "anyOf": [
                            { "type": "number" },
                            { "type": "string" }
                        ]
                    },
                    "version": {
                        "anyOf": [
                            { "type": "number" },
                            { "type": "string" }
                        ]
                    },
                    "hash": {
                        "type": "string"
                    },
                    "compose_env": {
                        "type": "string"
                    }
                }
            }
        },
        "metadata": {
          "type": "array",
          "maxItems": 100,
          "items": {
            "type": "object",
            "minProperties": 1,
            "maxProperties": 1,
            "propertyNames": {
              "pattern": "^[a-zA-Z0-9_-]{1,40}$"
            },
            "additionalProperties": {
              "type": "string",
              "pattern": "^[^\\s']{1,40}$"
            }
          }
        }
    }
}