{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/kubri-configuration/latest.json",
  "x-lintel": {
    "source": "https://kubri.dev/schema.json",
    "sourceSha256": "daf8a3d760bf8090db3ecb7282d2fce392a7bb5914f428d9ff11fcdd811dbfa8",
    "fileMatch": [
      ".kubri.yaml",
      ".kubri.yml",
      "kubri.yaml",
      "kubri.yml"
    ],
    "parsers": [
      "yaml"
    ]
  },
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "prerelease": {
      "type": "boolean"
    },
    "upload-packages": {
      "type": "boolean"
    },
    "source": {
      "oneOf": [
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "azureblob"
            },
            "bucket": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "bucket"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "gcs"
            },
            "bucket": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "bucket"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "s3"
            },
            "bucket": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "bucket"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "file"
            },
            "path": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "path"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "github"
            },
            "owner": {
              "type": "string"
            },
            "repo": {
              "type": "string"
            }
          },
          "required": [
            "owner",
            "repo"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "gitlab"
            },
            "owner": {
              "type": "string"
            },
            "repo": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "owner",
            "repo"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "local"
            },
            "path": {
              "type": "string"
            },
            "version": {
              "type": "string"
            }
          },
          "required": [
            "path",
            "version"
          ],
          "type": "object",
          "additionalProperties": false
        }
      ]
    },
    "target": {
      "oneOf": [
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "azureblob"
            },
            "bucket": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "bucket"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "gcs"
            },
            "bucket": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "bucket"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "s3"
            },
            "bucket": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "bucket"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "file"
            },
            "path": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "path"
          ],
          "type": "object",
          "additionalProperties": false
        },
        {
          "properties": {
            "type": {
              "type": "string",
              "const": "github"
            },
            "owner": {
              "type": "string"
            },
            "repo": {
              "type": "string"
            },
            "branch": {
              "type": "string"
            },
            "folder": {
              "type": "string"
            }
          },
          "required": [
            "owner",
            "repo"
          ],
          "type": "object",
          "additionalProperties": false
        }
      ]
    },
    "apk": {
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "folder": {
          "type": "string"
        },
        "key-name": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "apt": {
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "folder": {
          "type": "string"
        },
        "compress": {
          "items": {
            "type": "string",
            "enum": [
              "none",
              "gzip",
              "bzip2",
              "xz",
              "lzma",
              "lz4",
              "zstd"
            ]
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "arch": {
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "folder": {
          "type": "string"
        },
        "repo-name": {
          "type": "string"
        }
      },
      "required": [
        "repo-name"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "yum": {
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "folder": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "sparkle": {
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "folder": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "filename": {
          "type": "string"
        },
        "detect-os": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "params": {
          "items": {
            "properties": {
              "os": {
                "type": "string",
                "enum": [
                  "macos",
                  "windows",
                  "windows-x86",
                  "windows-x64"
                ]
              },
              "version": {
                "type": "string"
              },
              "installer-arguments": {
                "type": "string"
              },
              "minimum-system-version": {
                "type": "string"
              },
              "minimum-autoupdate-version": {
                "type": "string"
              },
              "ignore-skipped-upgrades-below-version": {
                "type": "string"
              },
              "critical-update": {
                "type": "boolean"
              },
              "critical-update-below-version": {
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "appinstaller": {
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "folder": {
          "type": "string"
        },
        "on-launch": {
          "properties": {
            "hours-between-update-checks": {
              "type": "integer",
              "maximum": 255,
              "minimum": 0
            },
            "show-prompt": {
              "type": "boolean"
            },
            "update-blocks-activation": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "automatic-background-task": {
          "type": "boolean"
        },
        "force-update-from-any-version": {
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "required": [
    "source",
    "target"
  ],
  "additionalProperties": false
}
