content: {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "description": "Schema for .rultor.yml file.",
    "properties": {
      "architect": {
        "description": "Project's architects.",
        "examples": [
          "urn:github:8086956"
        ],
        "type": "array"
      },
      "assets": {
        "additionalProperties": true,
        "description": "Additional resources, typically some secrets.",
        "type": "object"
      },
      "decrypt": {
        "additionalProperties": true,
        "description": "Files that should be decrypted.",
        "type": "object"
      },
      "deploy": {
        "properties": {
          "commanders": {
            "description": "Additional users who can perform this action.",
            "examples": [
              "urn:github:8086956"
            ],
            "type": "array"
          },
          "env": {
            "additionalProperties": true,
            "description": "Additional environment variables for deploy operation.",
            "type": "object"
          },
          "script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          }
        },
        "required": [
          "script"
        ],
        "type": "object"
      },
      "docker": {
        "description": "Docker image to be used in merge and release.",
        "properties": {
          "as_root": {
            "default": false,
            "description": "Flag to create a user inside a docker or use a default one (root), default value is false.",
            "type": "boolean"
          },
          "image": {
            "description": "Docker url for the image, default value is yegor256/rultor-image.",
            "examples": [
              "yegor256/rultor-image:1.9.1"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "env": {
        "additionalProperties": true,
        "description": "Additional environment variables for all operations.",
        "type": "object"
      },
      "friends": {
        "description": "List of the projects that can use your secrets.",
        "examples": [
          "yegor256/rultor",
          "jcabi/*"
        ],
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "install": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        ],
        "description": "Common script to be used in merge and deploy."
      },
      "merge": {
        "properties": {
          "commanders": {
            "description": "Additional users who can perform this action.",
            "examples": [
              "urn:github:8086956"
            ],
            "type": "array"
          },
          "env": {
            "additionalProperties": true,
            "description": "Additional environment variables for merge operation.",
            "type": "object"
          },
          "fast-forward": {
            "description": "May be either default (--ff argument for Git), only (--ff-only) or no (--no-ff).",
            "enum": [
              "default",
              "only",
              "no"
            ],
            "type": "string"
          },
          "rebase": {
            "default": false,
            "description": "Flag to perform rebase from origin, default is false.",
            "type": "boolean"
          },
          "script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          },
          "squash": {
            "default": false,
            "description": "Flag to squash commits or not, default is false.",
            "type": "boolean"
          }
        },
        "required": [
          "script"
        ],
        "type": "object"
      },
      "readers": {
        "description": "Github user allowed to read logs (should be defined for private repos).",
        "examples": [
          "urn:github:8086956"
        ],
        "type": "array"
      },
      "release": {
        "properties": {
          "commanders": {
            "description": "Additional users who can perform this action.",
            "examples": [
              "urn:github:8086956"
            ],
            "type": "array"
          },
          "env": {
            "additionalProperties": true,
            "description": "Additional environment variables for release operation.",
            "type": "object"
          },
          "pre": {
            "default": true,
            "description": "Flag to make it prerelease or latest release, default is true.",
            "type": "boolean"
          },
          "script": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          },
          "sensitive": {
            "description": "Files with sensitive information.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "script"
        ],
        "type": "object"
      },
      "ssh": {
        "properties": {
          "host": {
            "description": "Host of your custom server.",
            "type": "string"
          },
          "key": {
            "description": "Key to connect.",
            "examples": [
              "./keys/id_rsa"
            ],
            "type": "string"
          },
          "login": {
            "description": "Login.",
            "type": "string"
          },
          "port": {
            "description": "Port to connect ssh.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "uninstall": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        ],
        "description": "Common script to be used after operation is completed."
      }
    },
    "type": "object"
  }