{
  "type": "object",
  "$id": "https://fluence.dev/schemas/app.yaml",
  "title": "app.yaml",
  "description": "Defines what exactly is already deployed and where. This config is automatically generated by Fluence CLI after you deploy services defined in [fluence.yaml](./fluence.md) using `fluence deploy` or remove previously deployed services using `fluence remove`. In most of the cases you are not expected to modify this by hand",
  "properties": {
    "services": {
      "type": "object",
      "title": "Services",
      "description": "A map of the deployed services",
      "additionalProperties": {
        "type": "object",
        "title": "Deployment results",
        "description": "Service names as keys and Deployment results as values",
        "additionalProperties": {
          "title": "A list of deployed services",
          "type": "array",
          "items": {
            "type": "object",
            "title": "Deployed service info",
            "properties": {
              "peerId": {
                "type": "string"
              },
              "serviceId": {
                "type": "string"
              },
              "blueprintId": {
                "type": "string"
              },
              "keyPairName": {
                "type": "string"
              }
            },
            "required": [
              "peerId",
              "serviceId",
              "blueprintId",
              "keyPairName"
            ]
          }
        },
        "required": []
      },
      "required": []
    },
    "timestamp": {
      "type": "string",
      "description": "ISO timestamp of the time when the services were deployed"
    },
    "relays": {
      "title": "Relays",
      "description": "Relays that you can connect to to find the peers where services are deployed",
      "type": [
        "string",
        "array",
        "null"
      ],
      "oneOf": [
        {
          "type": "string",
          "title": "Network name",
          "enum": [
            "kras",
            "stage",
            "testnet"
          ]
        },
        {
          "type": "array",
          "title": "Multi addresses",
          "items": {
            "type": "string"
          }
        }
      ],
      "nullable": true
    },
    "version": {
      "type": "number",
      "const": 3
    }
  },
  "required": [
    "version",
    "services",
    "timestamp"
  ]
}
