{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "images": {
          "items": {
            "properties": {
              "name": {
                "example": "all",
                "type": "string"
              },
              "repository": {
                "example": "my-registry/my-org",
                "type": "string"
              },
              "tag": {
                "type": "string"
              }
            },
            "required": [
              "name"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "providers": {
          "items": {
            "properties": {
              "name": {
                "type": "string"
              },
              "type": {
                "example": "InfrastructureProvider",
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "type",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  },
  "type": "object",
  "x-kubernetes-validations": [
    {
      "message": "Clusterctl Config should be named clusterctl-config.",
      "rule": "self.metadata.name == 'clusterctl-config'"
    }
  ]
}
