{
  "name": "adaptive-server-api",
  "version": "0.0.0",
  "description": "Monitor Server Performance.",
  "config": {
    "INFLUX_HOST": {
      "description": "The hostname (or IPAddress) of the InfluxDB server used to store performance metrics.",
      "type": "string"
    },
    "INFLUX_PORT": {
      "description": "The port of the InfluxDB server used to store performance metrics.",
      "type": "integer"
    },
    "INFLUX_DBNAME": {
      "description": "The name of the database used to store performance metrics.",
      "type": "string"
    },
    "MONGO_HOST": {
      "description": "The hostname of the MongoDB database used to store User, Server, and Metrics data.",
      "type": "string"
    },
    "MONGO_PORT": {
      "description": "The port of the MongoDB database used to store User, Server, and Metrics data.",
      "type": "integer"
    }
  },
  "services": {
    "api": {
      "provider": "interfaces/rest-api",
      "basePath": "/api",
      "versioned": false,
      "port": 8080,
      "container": {
        "ports": [8080],
        "loadBalance": true
      },
      "endpoints": [
        {
          "method": "GET",
          "path": "auth/login",
          "handler": "./auth/login.js"
        },
        {
          "method": "GET",
          "path": "auth/register",
          "handler": "./auth/register.js"
        },
        {
          "method": "GET",
          "path": "charts",
          "handler": "./charts/list.js"
        },
        {
          "method": "GET",
          "path": "charts/:id",
          "handler": "./charts/get.js"
        },
        {
          "method": "GET",
          "path": "servers",
          "handler": "./servers/list.js"
        },
        {
          "method": "PUT",
          "path": "servers/create",
          "handler": "./servers/create.js"
        },
        {
          "method": "GET",
          "path": "servers/:id",
          "handler": "./servers/get.js"
        },
        {
          "method": "GET",
          "path": "servers/:id/stats",
          "handler": "./servers/stats.js"
        },
        {
          "method": "GET",
          "path": "servers/:id/apps",
          "handler": "./servers/apps.js"
        },
        {
          "method": "GET",
          "path": "dashboards/server",
          "handler": "./dashboards/server.js"
        },
        {
          "method": "GET",
          "path": "clusters",
          "handler": "./clusters/list.js"
        },
        {
          "method": "PUT",
          "path": "clusters/create",
          "handler": "./clusters/create.js"
        },
        {
          "method": "SUBSCRIBE",
          "path": "servers/deploy",
          "handler": "./servers/deploy.js"
        },
        {
          "method": "SUBSCRIBE",
          "path": "servers/destroy",
          "handler": "./servers/destroy.js"
        },
        {
          "method": "SUBSCRIBE",
          "path": "servers/install",
          "handler": "./servers/install-endpoint.js"
        }
      ]
    }
  }
}

