Controller

All requests are authenticated using basic auth where the username is blank and the password is your controller key. You may alternatively use the key URL parameter with the controller key for event streams (this allows using them via JavaScript in the browser). You can retrieve your controller key by running flynn -a controller env get AUTH_KEY.

The API root URL is the controller domain, by default https://controller.$CLUSTER_DOMAIN.

§ App

An app is a namespace for process formations and their dependencies and metadata.

https://flynn.io/schema/controller/app#
Property Type Description
id uuid string unique identifier
name string matching ^[a-z\d]+(-[a-z\d]+)*$ app name
protected boolean if true, app is protected from deletion and scaling to zero
meta object client-specified metadata
strategy string all-at-once one-by-one sirenia discoverd-meta
release uuid string unique identifier
deploy_timeout integer deployment timeout (default 120s)
created_at date-time string object creation timestamp
updated_at date-time string object last updated timestamp

§ Create app

 

 

Request

POST /apps HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "name": "my-app-1450232456657062340",
  "meta": null
}

Response

Content-Type: application/json
{
  "id": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "name": "my-app-1450232456657062340",
  "meta": {

  },
  "strategy": "all-at-once",
  "deploy_timeout": 30,
  "created_at": "2015-12-16T02:20:56.657428Z",
  "updated_at": "2015-12-16T02:20:56.657428Z"
}

§ Get app

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "name": "my-app-1450232456657062340",
  "meta": {

  },
  "strategy": "all-at-once",
  "deploy_timeout": 30,
  "created_at": "2015-12-16T02:20:56.657428Z",
  "updated_at": "2015-12-16T02:20:56.657428Z"
}

§ List apps

 

 

Request

GET /apps HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "name": "my-app-1450232456657062340",
    "meta": {

    },
    "strategy": "all-at-once",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:56.657428Z",
    "updated_at": "2015-12-16T02:20:56.657428Z"
  },
  {
    "id": "28a8aed1-a50d-446e-b4ad-38ca3e95fb8f",
    "name": "status",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "all-at-once",
    "release": "fff9dd4b-9f38-4f71-b3c5-5cd5fc19d31a",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:50.496685Z",
    "updated_at": "2015-12-16T02:20:50.522611Z"
  },
  {
    "id": "52e4cac9-3e4a-42ab-8b87-b714403aafc6",
    "name": "dashboard",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "all-at-once",
    "release": "93f1f03e-30c4-4c1f-8c4b-7c0c7e295421",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:50.455672Z",
    "updated_at": "2015-12-16T02:20:50.479616Z"
  },
  {
    "id": "cbd68d2a-4667-46b2-af0c-74939e2173d0",
    "name": "taffy",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "all-at-once",
    "release": "385aa7f3-9a8a-461f-bba6-890520823eff",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:50.4116Z",
    "updated_at": "2015-12-16T02:20:50.446458Z"
  },
  {
    "id": "3ccdfb02-1dfb-4148-9ade-caa9ac918947",
    "name": "logaggregator",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "all-at-once",
    "release": "d755489a-89ce-4c8c-b717-73d5589bab41",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:50.378626Z",
    "updated_at": "2015-12-16T02:20:50.400571Z"
  },
  {
    "id": "86750e3a-927f-4146-8651-4c8b7cc2de01",
    "name": "gitreceive",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "all-at-once",
    "release": "ea333a70-5971-467a-ba92-1d2e724db07f",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:47.059359Z",
    "updated_at": "2015-12-16T02:20:47.076812Z"
  },
  {
    "id": "aaae4e4b-dc79-4753-bc99-71e40c7d24dd",
    "name": "router",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "all-at-once",
    "release": "c8268dcf-8f16-48e5-9c40-797a399dac99",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:46.62186Z",
    "updated_at": "2015-12-16T02:20:47.043713Z"
  },
  {
    "id": "0b5fb9b4-af2b-462e-aaca-cc64591573e5",
    "name": "blobstore",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "all-at-once",
    "release": "53815de9-8a78-4ab1-909e-a465242f57e7",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:46.147317Z",
    "updated_at": "2015-12-16T02:20:46.614339Z"
  },
  {
    "id": "4940a4fe-3acc-4be7-aa97-7c3f982ba552",
    "name": "discoverd",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "discoverd-meta",
    "release": "dd6a3a63-a920-4954-8a0b-7f6e9e4e1b79",
    "deploy_timeout": 120,
    "created_at": "2015-12-16T02:20:44.179151Z",
    "updated_at": "2015-12-16T02:20:44.197362Z"
  },
  {
    "id": "291b591e-ea67-4393-9dd8-f8b8f79ea34c",
    "name": "flannel",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "one-by-one",
    "release": "ce17ef61-be09-4f60-b12d-d8aa87eb0a82",
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:20:44.160316Z",
    "updated_at": "2015-12-16T02:20:44.17542Z"
  },
  {
    "id": "2b18fac0-cb75-4243-ba0e-1a96d5e2ddda",
    "name": "postgres",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "postgres",
    "release": "6244ff18-44a3-4db1-a0d4-ceab0abded24",
    "deploy_timeout": 120,
    "created_at": "2015-12-16T02:20:44.136811Z",
    "updated_at": "2015-12-16T02:20:44.155991Z"
  },
  {
    "id": "f7064b9f-c968-4f16-be0e-f2efd1b2c7b7",
    "name": "controller",
    "meta": {
      "flynn-system-app": "true"
    },
    "strategy": "one-by-one",
    "release": "9afcffd7-6278-47c9-a2f0-1326b42b4a03",
    "deploy_timeout": 120,
    "created_at": "2015-12-16T02:20:44.100788Z",
    "updated_at": "2015-12-16T02:20:44.131968Z"
  }
]

§ Update app

 

 

Request

POST /apps/adcccdb4-b1a4-4209-a03a-762f4e021632 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "id": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "meta": {
    "bread": "with hemp"
  }
}

Response

Content-Type: application/json
{
  "id": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "name": "my-app-1450232456657062340",
  "meta": {
    "bread": "with hemp"
  },
  "strategy": "all-at-once",
  "deploy_timeout": 30,
  "created_at": "2015-12-16T02:20:56.657428Z",
  "updated_at": "2015-12-16T02:20:56.657428Z"
}

§ Delete app

 

 

Request

DELETE /apps/adcccdb4-b1a4-4209-a03a-762f4e021632 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/plain; charset=utf-8

§ Get app log

Params

Property Type Description
follow boolean Send new log lines as they come in
job_id uuid string unique identifier
lines integer Number of lines from buffer to return
process_type string Only return log lines for given process type

Returns JSON for each log entry per line.

 

Request

GET /apps/f7064b9f-c968-4f16-be0e-f2efd1b2c7b7/log?lines=10 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/plain
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=344d4b61-d437-437c-a3c4-e4aa015647cd status=200 duration=6.151899ms","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.663589985Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" component=controller req_id=312895c5-4b45-4e65-b906-a46ee9bf3599 method=GET path=/apps/gitreceive/release client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.664482277Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=312895c5-4b45-4e65-b906-a46ee9bf3599 status=200 duration=1.274184ms","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.66574836Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" component=controller req_id=cea0a133-93c9-4ff6-b532-cd719c888eb6 method=GET path=/apps/adcccdb4-b1a4-4209-a03a-762f4e021632 client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.667514227Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=cea0a133-93c9-4ff6-b532-cd719c888eb6 status=200 duration=1.132266ms","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.66782991Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" req_id=7cce8772-bdad-485e-ac35-320465d70b6e component=controller method=GET path=/apps client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.668616602Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" req_id=7cce8772-bdad-485e-ac35-320465d70b6e component=controller status=200 duration=750.095µs","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.669398265Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" component=controller req_id=99c6ab06-b4be-4996-8321-9f41847ac50c method=GET path=/apps/controller client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.670213173Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=99c6ab06-b4be-4996-8321-9f41847ac50c status=200 duration=492.8µs","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.670729161Z"}
{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" component=controller req_id=0738164d-2c09-41ae-a391-b550c0710fae method=GET path=/apps/f7064b9f-c968-4f16-be0e-f2efd1b2c7b7/log client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.671577593Z"}

§ Stream app log

Params

Property Type Description
follow boolean Send new log lines as they come in
job_id uuid string unique identifier
lines integer Number of lines from buffer to return
process_type string Only return log lines for given process type

Opens an SSE stream of log entries.

 

Request

GET /apps/f7064b9f-c968-4f16-be0e-f2efd1b2c7b7/log?lines=10 HTTP/1.1
Accept: text/event-stream
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/event-stream; charset=utf-8
data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=312895c5-4b45-4e65-b906-a46ee9bf3599 status=200 duration=1.274184ms","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.66574836Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" component=controller req_id=cea0a133-93c9-4ff6-b532-cd719c888eb6 method=GET path=/apps/adcccdb4-b1a4-4209-a03a-762f4e021632 client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.667514227Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=cea0a133-93c9-4ff6-b532-cd719c888eb6 status=200 duration=1.132266ms","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.66782991Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" req_id=7cce8772-bdad-485e-ac35-320465d70b6e component=controller method=GET path=/apps client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.668616602Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" req_id=7cce8772-bdad-485e-ac35-320465d70b6e component=controller status=200 duration=750.095µs","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.669398265Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" component=controller req_id=99c6ab06-b4be-4996-8321-9f41847ac50c method=GET path=/apps/controller client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.670213173Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=99c6ab06-b4be-4996-8321-9f41847ac50c status=200 duration=492.8µs","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.670729161Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" component=controller req_id=0738164d-2c09-41ae-a391-b550c0710fae method=GET path=/apps/f7064b9f-c968-4f16-be0e-f2efd1b2c7b7/log client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.671577593Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request completed\" component=controller req_id=0738164d-2c09-41ae-a391-b550c0710fae status=200 duration=7.132192ms","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.678703917Z"}}

data: {"event":"message","data":{"host_id":"host","job_id":"host-9869a97a-ef83-4c39-91a2-ca3110f91079","msg":"t=2015-12-16T02:20:56+0000 lvl=info msg=\"request started\" req_id=2809d7e8-dcc6-4457-971e-307ebb5919e5 component=controller method=GET path=/apps/f7064b9f-c968-4f16-be0e-f2efd1b2c7b7/log client_ip=100.100.45.12","process_type":"web","source":"app","stream":"stdout","timestamp":"2015-12-16T02:20:56.679319917Z"}}

data: {"event":"eof"}


§ Artifact

An artifact is an immutable reference to a image used by a job.

https://flynn.io/schema/controller/artifact#
Property Type Description
id uuid string unique identifier
type string docker file flynn
uri uri string URI used to retrieve the artifact
manifest object Image manifest
hashes object Cryptographic hashes of the content stored at URI
size integer Size of the content stored at URI
layer_url_template string Layer URL Template
meta object client-specified metadata
created_at date-time string object creation timestamp

§ Create artifact

 

 

Request

POST /artifacts HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "type": "docker",
  "uri": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"
}

Response

Content-Type: application/json
{
  "id": "c1889f55-c244-43ce-af70-ead357daa6ec",
  "type": "docker",
  "uri": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97",
  "created_at": "2015-12-16T02:21:06.727191Z"
}

§ List artifacts

 

 

Request

GET /artifacts HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "c1889f55-c244-43ce-af70-ead357daa6ec",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97",
    "created_at": "2015-12-16T02:21:06.727191Z"
  },
  {
    "id": "e88714df-27b5-40aa-900e-717384fddcdd",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/status&id=33c003b37b2919a841d6e14a6335ff440607957efeb2e9022dce05a36f86203f",
    "created_at": "2015-12-16T02:20:50.502993Z"
  },
  {
    "id": "ec791440-fa5b-4d8e-903a-94999f634ea1",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/dashboard&id=d602235982d4d3e4a75253aae15f5ced25d2a6b3585518b644788ac5f0f943ec",
    "created_at": "2015-12-16T02:20:50.461296Z"
  },
  {
    "id": "340ac2cf-60fa-473a-ab76-b7f779c8e063",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/taffy&id=f276ff66937e238fb665a0b6ee6b73b01fb6e1c4102a90bf1e92f7ed229c4844",
    "created_at": "2015-12-16T02:20:50.419331Z"
  },
  {
    "id": "08d14942-65c0-456e-b1ef-e7d46717dcd4",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/logaggregator&id=cd30beb1606288f61eae7a4fe83ad3652689e644d9bb3e8bc10ca22d8ca0652b",
    "created_at": "2015-12-16T02:20:50.382881Z"
  },
  {
    "id": "1a5bf802-3337-48b3-b812-b994f1cde371",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/gitreceive&id=426e13b19a91af29a373f59d7edae7e54fe9d035961738d342e4b2c001027cde",
    "created_at": "2015-12-16T02:20:47.063164Z"
  },
  {
    "id": "48953db6-1c0a-4af2-b687-7fe6971fcf84",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/router&id=35dd76cf940ed67fdb4f373f79fc79dda327a0fb36d3dffb3894cb5f981b4a21",
    "created_at": "2015-12-16T02:20:47.024437Z"
  },
  {
    "id": "a436a3d6-a2c5-430e-961d-96518dacddff",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/blobstore&id=8b27756a551d5dd5e29181209b842c71288494d2fd7aded04fe7608c74bf4f9c",
    "created_at": "2015-12-16T02:20:46.599272Z"
  },
  {
    "id": "b2b4c646-aef0-4b3b-a501-cd282c31299e",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/discoverd&id=da0bd1401a6df09efb904a852992cd3a19b657223347bad6b427350e52c254a4",
    "created_at": "2015-12-16T02:20:44.182397Z"
  },
  {
    "id": "172410eb-4e75-4597-a366-efe596b0af27",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/flannel&id=7d6c9acf4dc854210cc753c6a8c889899200b35fd45f50fb35d1bb9189c92510",
    "created_at": "2015-12-16T02:20:44.163461Z"
  },
  {
    "id": "e3e69c33-dd0c-4381-b9a9-30cf0c417ce7",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/postgresql&id=7447010d0a300f45d6785bb6cef4858500821d7afcb8febaabefbe55bf03fd0f",
    "created_at": "2015-12-16T02:20:44.141156Z"
  },
  {
    "id": "c8400666-26d9-493f-9630-3d34045f8498",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/controller&id=38242063cc75f2f6e3cfc15ce44899d103191c0be9b11403e44ee4bf4749db72",
    "created_at": "2015-12-16T02:20:44.108802Z"
  }
]

§ Formation

A formation is a running release.

https://flynn.io/schema/controller/formation#
Property Type Description
app uuid string unique identifier
release uuid string unique identifier
processes object count of processes to run for each process type
tags object process tags
created_at date-time string object creation timestamp
updated_at date-time string object last updated timestamp

§ Update formation

 

 

Request

PUT /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/formations/47154f8c-a604-469d-ae6a-e431990ddee8 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
  "processes": {
    "foo": 1
  }
}

Response

Content-Type: application/json
{
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
  "processes": {
    "foo": 1
  },
  "created_at": "2015-12-16T02:21:06.748757Z",
  "updated_at": "2015-12-16T02:21:06.748757Z"
}

§ Get formation

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/formations/47154f8c-a604-469d-ae6a-e431990ddee8 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
  "processes": {
    "foo": 1
  },
  "created_at": "2015-12-16T02:21:06.748757Z",
  "updated_at": "2015-12-16T02:21:06.748757Z"
}

§ List formations

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/formations HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
    "processes": {
      "foo": 1
    },
    "created_at": "2015-12-16T02:21:06.748757Z",
    "updated_at": "2015-12-16T02:21:06.748757Z"
  }
]

§ Delete formation

 

 

Request

DELETE /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/formations/77e9e956-ecf9-427f-a031-222c2f394fb8 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/plain; charset=utf-8

§ Expanded Formation

https://flynn.io/schema/controller/expanded_formation#
Property Type Description
app object An app is a namespace for process formations and their dependencies and metadata.
app.id uuid string unique identifier
app.name string matching ^[a-z\d]+(-[a-z\d]+)*$ app name
app.protected boolean if true, app is protected from deletion and scaling to zero
app.meta object client-specified metadata
app.strategy string all-at-once one-by-one sirenia discoverd-meta
app.release uuid string unique identifier
app.deploy_timeout integer deployment timeout (default 120s)
app.created_at date-time string object creation timestamp
app.updated_at date-time string object last updated timestamp
release object
release.id uuid string unique identifier
release.app_id uuid string unique identifier
release.artifact uuid string unique identifier
release.artifacts array of uuid strings
release.meta object client-specified metadata
release.env object environment variables
release.processes object
release.created_at date-time string object creation timestamp
artifacts array of objects
artifacts[].id uuid string unique identifier
artifacts[].type string docker file flynn
artifacts[].uri uri string URI used to retrieve the artifact
artifacts[].manifest object Image manifest
artifacts[].hashes object Cryptographic hashes of the content stored at URI
artifacts[].size integer Size of the content stored at URI
artifacts[].layer_url_template string Layer URL Template
artifacts[].meta object client-specified metadata
artifacts[].created_at date-time string object creation timestamp
processes object count of processes to run for each process type
tags object process tags
updated_at date-time string object last updated timestamp

§ Get expanded formation

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/formations/47154f8c-a604-469d-ae6a-e431990ddee8?expand=true HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "app": {
    "id": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "name": "my-app-1450232456657062340",
    "meta": null
  },
  "release": {
    "id": "47154f8c-a604-469d-ae6a-e431990ddee8",
    "artifact": "c1889f55-c244-43ce-af70-ead357daa6ec",
    "env": {
      "some": "info"
    },
    "processes": {
      "foo": {
        "cmd": [
          "ls",
          "-l"
        ],
        "env": {
          "BAR": "baz"
        },
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    }
  },
  "artifact": {
    "id": "c1889f55-c244-43ce-af70-ead357daa6ec",
    "type": "docker",
    "uri": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"
  },
  "processes": {
    "foo": 1
  },
  "updated_at": "2015-12-16T02:21:06.748757Z"
}

§ List all active formations

 

 

Request

GET /formations?active=true HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "app": {
      "id": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "name": "my-app-1450232456657062340",
      "meta": null
    },
    "release": {
      "id": "47154f8c-a604-469d-ae6a-e431990ddee8",
      "artifact": "c1889f55-c244-43ce-af70-ead357daa6ec",
      "env": {
        "some": "info"
      },
      "processes": {
        "foo": {
          "cmd": [
            "ls",
            "-l"
          ],
          "env": {
            "BAR": "baz"
          },
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "c1889f55-c244-43ce-af70-ead357daa6ec",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"
    },
    "processes": {
      "foo": 1
    },
    "updated_at": "2015-12-16T02:21:06.748757Z"
  },
  {
    "app": {
      "id": "28a8aed1-a50d-446e-b4ad-38ca3e95fb8f",
      "name": "status",
      "meta": null
    },
    "release": {
      "id": "fff9dd4b-9f38-4f71-b3c5-5cd5fc19d31a",
      "artifact": "e88714df-27b5-40aa-900e-717384fddcdd",
      "env": {
        "AUTH_KEY": "44335767c99fb93b23c9a1500bf1ebeb"
      },
      "processes": {
        "web": {
          "ports": [
            {
              "port": 80,
              "proto": "tcp",
              "service": {
                "name": "status-web",
                "create": true
              }
            }
          ],
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "e88714df-27b5-40aa-900e-717384fddcdd",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/status&id=33c003b37b2919a841d6e14a6335ff440607957efeb2e9022dce05a36f86203f"
    },
    "processes": {
      "web": 1
    },
    "updated_at": "2015-12-16T02:20:50.513318Z"
  },
  {
    "app": {
      "id": "52e4cac9-3e4a-42ab-8b87-b714403aafc6",
      "name": "dashboard",
      "meta": null
    },
    "release": {
      "id": "93f1f03e-30c4-4c1f-8c4b-7c0c7e295421",
      "artifact": "ec791440-fa5b-4d8e-903a-94999f634ea1",
      "env": {
        "APP_NAME": "dashboard",
        "CA_CERT": "-----BEGIN CERTIFICATE-----\nMIIDBDCCAe6gAwIBAgIRAP6BP9TQKrq0l1CCcSI4gb4wCwYJKoZIhvcNAQELMC0x\nDjAMBgNVBAoTBUZseW5uMRswGQYDVQQLExJGbHlubiBFcGhlbWVyYWwgQ0EwHhcN\nMTUxMjE2MDIyMDQxWhcNMjAxMjE0MDIyMDQxWjAtMQ4wDAYDVQQKEwVGbHlubjEb\nMBkGA1UECxMSRmx5bm4gRXBoZW1lcmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAn+KUccUSVeWoJZTlOxqaiXacGECGAPETxfmnL9ep1rA/4DWi\n2OTpZoeSFdyL1yV5KJxPkq6XMNyl/BR72SOomCmoFRnZzDih//+gfuJAFVGaF1j9\nFOIX+VyO8jyFzqk2vZg9R+ncRyFgjEgpHn0gDdt4WLWDxPpfFMClEZU6Mpu02ngj\n1kmlNgzajl71qhhKtrv3W7ACKh6O3fMSBg4n/ZiVnVQjdkejHskV5R43FH4bpZzP\nhb82rI6FNBNOCKqwbQ/AdGGVvJSzXPypvzCMkGghhx8pckoZw7DONXhSojfIO6Kt\nlxUYO1Odmnb+nyJjxGyidSperhfm+CuSFPn2BwIDAQABoyMwITAOBgNVHQ8BAf8E\nBAMCAAYwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQsDggEBAGvEqq1ko+pE\nS5RBHmTWW6mJom9rA+aii9n88lMhbdjikeVFkQkH6Qi8zR5O4hCdDUC4qYUp+rIF\nZ4XZ9Ogl4CcR1gEPGu1KX2EnjVKloS1LThugCuP5YJgQ5qoMsQs681s1ZpPd/0gh\ntjASQy1Y72wY1SxVWqJzkuzf8mMDg52I4wwD9Eif2zq1/+sJa9mdilhvd0Wp+hDV\n6qN6xbH65V2VKwDrkD2p7CIn3NmknYhmw+obezqRkSl6N5Is/QPVg59bOu0evWfS\nDyaOehm1EmmRVehNj8IR0noFwUMbIASnpTescLd4Nz9pEjbgHQ+m6Swe8hnaZ3dd\n1TvxABm/4VY=\n-----END CERTIFICATE-----\n",
        "CONTROLLER_DOMAIN": "controller.dev.localflynn.com",
        "CONTROLLER_KEY": "s3cr3t",
        "DEFAULT_ROUTE_DOMAIN": "dev.localflynn.com",
        "LOGIN_TOKEN": "c8414bceb41bd679535c76f87472a8c2",
        "SECURE_COOKIES": "true",
        "SESSION_SECRET": "f180d52702a70f23a5eb6b1d87d5ab3a",
        "URL": "https://dashboard.dev.localflynn.com"
      },
      "processes": {
        "web": {
          "ports": [
            {
              "port": 80,
              "proto": "tcp",
              "service": {
                "name": "dashboard-web",
                "create": true,
                "check": {
                  "type": "http",
                  "status.omitempty": 0
                }
              }
            }
          ],
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "ec791440-fa5b-4d8e-903a-94999f634ea1",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/dashboard&id=d602235982d4d3e4a75253aae15f5ced25d2a6b3585518b644788ac5f0f943ec"
    },
    "processes": {
      "web": 1
    },
    "updated_at": "2015-12-16T02:20:50.47223Z"
  },
  {
    "app": {
      "id": "3ccdfb02-1dfb-4148-9ade-caa9ac918947",
      "name": "logaggregator",
      "meta": null
    },
    "release": {
      "id": "d755489a-89ce-4c8c-b717-73d5589bab41",
      "artifact": "08d14942-65c0-456e-b1ef-e7d46717dcd4",
      "processes": {
        "app": {
          "cmd": [
            "-logaddr",
            ":514",
            "-apiaddr",
            ":80"
          ],
          "ports": [
            {
              "port": 80,
              "proto": "tcp"
            },
            {
              "port": 514,
              "proto": "tcp"
            }
          ],
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "08d14942-65c0-456e-b1ef-e7d46717dcd4",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/logaggregator&id=cd30beb1606288f61eae7a4fe83ad3652689e644d9bb3e8bc10ca22d8ca0652b"
    },
    "processes": {
      "app": 1
    },
    "updated_at": "2015-12-16T02:20:50.392915Z"
  },
  {
    "app": {
      "id": "86750e3a-927f-4146-8651-4c8b7cc2de01",
      "name": "gitreceive",
      "meta": null
    },
    "release": {
      "id": "ea333a70-5971-467a-ba92-1d2e724db07f",
      "artifact": "1a5bf802-3337-48b3-b812-b994f1cde371",
      "env": {
        "CONTROLLER_KEY": "s3cr3t",
        "SLUGBUILDER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugbuilder&id=304a939ca74764b7e356133d7559cc245207deca8c65e782d4a043f14a566cae",
        "SLUGRUNNER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"
      },
      "processes": {
        "app": {
          "ports": [
            {
              "port": 0,
              "proto": "tcp",
              "service": {
                "name": "gitreceive",
                "create": true
              }
            }
          ],
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "1a5bf802-3337-48b3-b812-b994f1cde371",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/gitreceive&id=426e13b19a91af29a373f59d7edae7e54fe9d035961738d342e4b2c001027cde"
    },
    "processes": {
      "app": 1
    },
    "updated_at": "2015-12-16T02:20:47.071423Z"
  },
  {
    "app": {
      "id": "aaae4e4b-dc79-4753-bc99-71e40c7d24dd",
      "name": "router",
      "meta": null
    },
    "release": {
      "id": "c8268dcf-8f16-48e5-9c40-797a399dac99",
      "artifact": "48953db6-1c0a-4af2-b687-7fe6971fcf84",
      "env": {
        "COOKIE_KEY": "7AaXi7KZDeWu4FotDN+7wi6RbHWywW6ClN2qap78cSg=",
        "DATABASE_URL": "postgres://975487bc5a45fc80ade5765db668d873:46aabd4df6f39a1a23e63d9a76dece78@leader.postgres.discoverd:5432/6e63ce03061c8788f766994d9a9be92a",
        "FLYNN_POSTGRES": "postgres",
        "PGDATABASE": "6e63ce03061c8788f766994d9a9be92a",
        "PGHOST": "leader.postgres.discoverd",
        "PGPASSWORD": "46aabd4df6f39a1a23e63d9a76dece78",
        "PGUSER": "975487bc5a45fc80ade5765db668d873",
        "TLSCERT": "-----BEGIN CERTIFICATE-----\nMIIDSjCCAjSgAwIBAgIQDH8zACle7B+pqJB3QfwthDALBgkqhkiG9w0BAQswLTEO\nMAwGA1UEChMFRmx5bm4xGzAZBgNVBAsTEkZseW5uIEVwaGVtZXJhbCBDQTAeFw0x\nNTEyMTYwMjIwNDJaFw0yMDEyMTQwMjIwNDJaMC0xDjAMBgNVBAoTBUZseW5uMRsw\nGQYDVQQDExJkZXYubG9jYWxmbHlubi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQC3NsEp+fYsbgr94cOBVnSK3ZcHBobwcCdzNvNqh6y1V9wn7x4C\nS6Rk0pn1Zz/FS1F+uA8KMVUzwWCCSl/jW4BNAqbLbVi4I5oap8mCDQDt+MDPZyn5\noOCn6vj5OCJXva3RmhJRocF88oXcH4lXWUyfKMOb+0/+tRC7lg5gqBxnvkiJrW7D\nyq0+FoZViBgrN3JcxAgWFx9FK8sITzWpgPqJvJiS4Ry54o8hBTQCKyFCHTwdoufd\nKyBwm6tNn/KLhUXcAEsBD3qvdI0AEX9rssGxVErCualgPaBAvDCFz2H+wwvKnHpK\nCcwIflE04YYOjCHphq9j7FIzd5/+fp0Ng53pAgMBAAGjajBoMA4GA1UdDwEB/wQE\nAwIAoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMDMGA1UdEQQs\nMCqCEmRldi5sb2NhbGZseW5uLmNvbYIUKi5kZXYubG9jYWxmbHlubi5jb20wCwYJ\nKoZIhvcNAQELA4IBAQAIR7k3teJZ5c2eLUlcfLSZiigz+RaZeqxHHt6fZXA9P9XS\n+m8NSIUffdfOXaXjokYTYc91RqGhxVGUUopEA7P64QkEJRpu4qcfq6CXxDoExyf5\ncumrzrBZmTvExqlGBbyviz7T4c7IZAe0U3zYCoaVd1Ss84mY8DA37oqM2Y1pH7Tc\nzwBprXDqAfwt70xoYFWQZoK6SbS+qCQkc+0K9HW0ZzGRwqMTbAoPOTn9D2c9f9o5\nuM9KkiTuvY3T1Kimb848IVvhBfEofeHXZspc9HWqfLJM8wIpMJCaDwcDBN+yFku6\nqqaRa9SXkZLNrB+eCqsVOUzBsmK+sgUL6jmM+Pfc\n-----END CERTIFICATE-----\n",
        "TLSKEY": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAtzbBKfn2LG4K/eHDgVZ0it2XBwaG8HAnczbzaoestVfcJ+8e\nAkukZNKZ9Wc/xUtRfrgPCjFVM8Fggkpf41uATQKmy21YuCOaGqfJgg0A7fjAz2cp\n+aDgp+r4+TgiV72t0ZoSUaHBfPKF3B+JV1lMnyjDm/tP/rUQu5YOYKgcZ75Iia1u\nw8qtPhaGVYgYKzdyXMQIFhcfRSvLCE81qYD6ibyYkuEcueKPIQU0AishQh08HaLn\n3SsgcJurTZ/yi4VF3ABLAQ96r3SNABF/a7LBsVRKwrmpYD2gQLwwhc9h/sMLypx6\nSgnMCH5RNOGGDowh6YavY+xSM3ef/n6dDYOd6QIDAQABAoIBAGEZTsRdal9frsmg\n1gl89WUHTVx21BsnhXDlZZpG73xoZRBxBPl4d1bL2raZks2QPk+nYqknPh2g1fIX\nUrxfKR8nUZisigGFNM39sKkRFTYJyL3i0fcvkQDNYkhKvMC9kRptylmjHbWHnvPr\nbtFxTU9ovkqzpVC7S3Pvcg0961f7NgUqM5bfzWlgZYDATtNTpngc6/8bUgG8xhdL\nLsfd84FJcC/0k09Gxu5GPuwvcws1Iag39+Rkz2G9KmOEnN8dywLLedWPQ8A6fIjP\ngSSYTPWRBEF7V6/yRb7a0z1M+SJUrA0vDYJsa2P2ry0YslJi1O9ipOeBmmCddVjN\n21SywoECgYEA45mlj46ySdKhB7iRDaD+M1Ffo9vaCniGjZxEH+sPWXet3gr/hTGN\nmsQngU66v/Gj6clTSOlkOImQHT7Q0/GeHTDEAVEXJNTX8NllElJe6LjOUyqc7kUN\n/zASp3YOHWVC8y3cNy8ScydUhO5hkaVJcpqO0RWxnWnqV6m2OOtcyvkCgYEAzhNA\ntxEpP/7qMz2/Kx7LflRXtMAIfecIlLmq4mw0pnMCebCCXOp7/Lw7VOLIz1JfzGtW\n2b6BTspzbTW16rjedA65+Pj/EdmXxtL7KIfDlnmab7cSQ3Vi/Tmbza4Z+etZ8Yy2\nRwA2Ni8IPS2y8NukcAJH+fGjIAbS/FqgR6KJtnECgYB955scpRWfnPMTsFgdr/ev\nL862eIJP1Iiqgc110rS1C22VLYRYjCcHfIdWEtVgJS5Fv+dgqCuW0xJz+zHObRTI\nlRd4mwEwkMW8KKau0f5KwyDwBNy3OmAZ0OAg3z/Dpya4G6B8rn+IUDODLdOvnD3b\nNgDXTSbqK5NFV07Egf7dEQKBgHdthvrRckOJW3dY2JqH3U0YWkABbqpwo3N16sgQ\nB69TReL6XYK1zidZe1UlnVUxmx1gM9Q7aLsd7ykikIw4mYtPIY5d140juqdajH4f\nuEVTsiH+ShJYTIcOxPG9bYZ+VAD+GIEraT+boD28Z1DZKgJUABylYnFkIxBnAS6i\nzwaxAoGAa3TWYsK0VUrn1EwlI9zzCLW8myjzyPLgpEQ6264ETNSw4K42M2fthcS4\nzlVMrPJ5yhftxCkxbXNFp74lt5Nhryv9K3RWdnL6aXoxR4juhfXBPUBPK+bk/g6F\nohfHj/PeDJFBe0MWC1Q4x7jbeHgqXQ9q7mun+9xH8ZziMdknHc4=\n-----END RSA PRIVATE KEY-----\n"
      },
      "processes": {
        "app": {
          "cmd": [
            "-http-port",
            "80",
            "-https-port",
            "443",
            "-tcp-range-start",
            "3000",
            "-tcp-range-end",
            "3500"
          ],
          "omni": true,
          "host_network": true,
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "48953db6-1c0a-4af2-b687-7fe6971fcf84",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/router&id=35dd76cf940ed67fdb4f373f79fc79dda327a0fb36d3dffb3894cb5f981b4a21"
    },
    "processes": {
      "app": 1
    },
    "updated_at": "2015-12-16T02:20:47.037485Z"
  },
  {
    "app": {
      "id": "0b5fb9b4-af2b-462e-aaca-cc64591573e5",
      "name": "blobstore",
      "meta": null
    },
    "release": {
      "id": "53815de9-8a78-4ab1-909e-a465242f57e7",
      "artifact": "a436a3d6-a2c5-430e-961d-96518dacddff",
      "env": {
        "DATABASE_URL": "postgres://8a4906b3587c5faabef321d34936ac3a:6ac0c933a4abba2a2f8ec0e87ccb8f68@leader.postgres.discoverd:5432/d2f1b01c72f997dc2dbc0e1bc6c4c6ec",
        "FLYNN_POSTGRES": "postgres",
        "PGDATABASE": "d2f1b01c72f997dc2dbc0e1bc6c4c6ec",
        "PGHOST": "leader.postgres.discoverd",
        "PGPASSWORD": "6ac0c933a4abba2a2f8ec0e87ccb8f68",
        "PGUSER": "8a4906b3587c5faabef321d34936ac3a"
      },
      "processes": {
        "web": {
          "ports": [
            {
              "port": 80,
              "proto": "tcp"
            }
          ],
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "a436a3d6-a2c5-430e-961d-96518dacddff",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/blobstore&id=8b27756a551d5dd5e29181209b842c71288494d2fd7aded04fe7608c74bf4f9c"
    },
    "processes": {
      "web": 1
    },
    "updated_at": "2015-12-16T02:20:46.608041Z"
  },
  {
    "app": {
      "id": "f7064b9f-c968-4f16-be0e-f2efd1b2c7b7",
      "name": "controller",
      "meta": null
    },
    "release": {
      "id": "9afcffd7-6278-47c9-a2f0-1326b42b4a03",
      "artifact": "c8400666-26d9-493f-9630-3d34045f8498",
      "env": {
        "AUTH_KEY": "s3cr3t",
        "CA_CERT": "-----BEGIN CERTIFICATE-----\nMIIDBDCCAe6gAwIBAgIRAP6BP9TQKrq0l1CCcSI4gb4wCwYJKoZIhvcNAQELMC0x\nDjAMBgNVBAoTBUZseW5uMRswGQYDVQQLExJGbHlubiBFcGhlbWVyYWwgQ0EwHhcN\nMTUxMjE2MDIyMDQxWhcNMjAxMjE0MDIyMDQxWjAtMQ4wDAYDVQQKEwVGbHlubjEb\nMBkGA1UECxMSRmx5bm4gRXBoZW1lcmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAn+KUccUSVeWoJZTlOxqaiXacGECGAPETxfmnL9ep1rA/4DWi\n2OTpZoeSFdyL1yV5KJxPkq6XMNyl/BR72SOomCmoFRnZzDih//+gfuJAFVGaF1j9\nFOIX+VyO8jyFzqk2vZg9R+ncRyFgjEgpHn0gDdt4WLWDxPpfFMClEZU6Mpu02ngj\n1kmlNgzajl71qhhKtrv3W7ACKh6O3fMSBg4n/ZiVnVQjdkejHskV5R43FH4bpZzP\nhb82rI6FNBNOCKqwbQ/AdGGVvJSzXPypvzCMkGghhx8pckoZw7DONXhSojfIO6Kt\nlxUYO1Odmnb+nyJjxGyidSperhfm+CuSFPn2BwIDAQABoyMwITAOBgNVHQ8BAf8E\nBAMCAAYwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQsDggEBAGvEqq1ko+pE\nS5RBHmTWW6mJom9rA+aii9n88lMhbdjikeVFkQkH6Qi8zR5O4hCdDUC4qYUp+rIF\nZ4XZ9Ogl4CcR1gEPGu1KX2EnjVKloS1LThugCuP5YJgQ5qoMsQs681s1ZpPd/0gh\ntjASQy1Y72wY1SxVWqJzkuzf8mMDg52I4wwD9Eif2zq1/+sJa9mdilhvd0Wp+hDV\n6qN6xbH65V2VKwDrkD2p7CIn3NmknYhmw+obezqRkSl6N5Is/QPVg59bOu0evWfS\nDyaOehm1EmmRVehNj8IR0noFwUMbIASnpTescLd4Nz9pEjbgHQ+m6Swe8hnaZ3dd\n1TvxABm/4VY=\n-----END CERTIFICATE-----\n",
        "DATABASE_URL": "postgres://df60a79e03b92c3157aaad47dab10278:623f1831ed89cd811ea1da0fb985bd81@leader.postgres.discoverd:5432/33c5b220c9eed7307d65a2b367236d10",
        "DEFAULT_ROUTE_DOMAIN": "dev.localflynn.com",
        "FLYNN_POSTGRES": "postgres",
        "NAME_SEED": "e53b1785be43a8569707",
        "PGDATABASE": "33c5b220c9eed7307d65a2b367236d10",
        "PGHOST": "leader.postgres.discoverd",
        "PGPASSWORD": "623f1831ed89cd811ea1da0fb985bd81",
        "PGUSER": "df60a79e03b92c3157aaad47dab10278"
      },
      "processes": {
        "scheduler": {
          "cmd": [
            "scheduler"
          ],
          "ports": [
            {
              "port": 0,
              "proto": "tcp"
            }
          ],
          "omni": true,
          "service": "controller-scheduler",
          "resurrect": true,
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        },
        "web": {
          "cmd": [
            "controller"
          ],
          "ports": [
            {
              "port": 80,
              "proto": "tcp"
            }
          ],
          "resurrect": true,
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        },
        "worker": {
          "cmd": [
            "worker"
          ],
          "ports": [
            {
              "port": 0,
              "proto": "tcp"
            }
          ],
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "c8400666-26d9-493f-9630-3d34045f8498",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/controller&id=38242063cc75f2f6e3cfc15ce44899d103191c0be9b11403e44ee4bf4749db72"
    },
    "processes": {
      "scheduler": 1,
      "web": 1,
      "worker": 1
    },
    "updated_at": "2015-12-16T02:20:44.205169Z"
  },
  {
    "app": {
      "id": "4940a4fe-3acc-4be7-aa97-7c3f982ba552",
      "name": "discoverd",
      "meta": null
    },
    "release": {
      "id": "dd6a3a63-a920-4954-8a0b-7f6e9e4e1b79",
      "artifact": "b2b4c646-aef0-4b3b-a501-cd282c31299e",
      "env": {
        "DISCOVERD": "none",
        "DISCOVERD_PEERS": "10.0.2.15:1111,"
      },
      "processes": {
        "app": {
          "ports": [
            {
              "port": 1111,
              "proto": "tcp"
            },
            {
              "port": 53,
              "proto": "tcp"
            }
          ],
          "data": true,
          "omni": true,
          "host_network": true,
          "service": "discoverd",
          "resurrect": true,
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "b2b4c646-aef0-4b3b-a501-cd282c31299e",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/discoverd&id=da0bd1401a6df09efb904a852992cd3a19b657223347bad6b427350e52c254a4"
    },
    "processes": {
      "app": 1
    },
    "updated_at": "2015-12-16T02:20:44.193653Z"
  },
  {
    "app": {
      "id": "291b591e-ea67-4393-9dd8-f8b8f79ea34c",
      "name": "flannel",
      "meta": null
    },
    "release": {
      "id": "ce17ef61-be09-4f60-b12d-d8aa87eb0a82",
      "artifact": "172410eb-4e75-4597-a366-efe596b0af27",
      "env": {
        "DISCOVERD": "none"
      },
      "processes": {
        "app": {
          "ports": [
            {
              "port": 5002,
              "proto": "tcp"
            }
          ],
          "omni": true,
          "host_network": true,
          "resurrect": true,
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "172410eb-4e75-4597-a366-efe596b0af27",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/flannel&id=7d6c9acf4dc854210cc753c6a8c889899200b35fd45f50fb35d1bb9189c92510"
    },
    "processes": {
      "app": 1
    },
    "updated_at": "2015-12-16T02:20:44.170687Z"
  },
  {
    "app": {
      "id": "2b18fac0-cb75-4243-ba0e-1a96d5e2ddda",
      "name": "postgres",
      "meta": null
    },
    "release": {
      "id": "6244ff18-44a3-4db1-a0d4-ceab0abded24",
      "artifact": "e3e69c33-dd0c-4381-b9a9-30cf0c417ce7",
      "env": {
        "FLYNN_POSTGRES": "postgres",
        "PGDATABASE": "postgres",
        "PGHOST": "leader.postgres.discoverd",
        "PGPASSWORD": "2b12bf3d5a0bfae0ed5723947e21af7b",
        "PGUSER": "flynn"
      },
      "processes": {
        "postgres": {
          "cmd": [
            "postgres"
          ],
          "env": {
            "SINGLETON": "true"
          },
          "ports": [
            {
              "port": 5432,
              "proto": "tcp"
            }
          ],
          "data": true,
          "service": "postgres",
          "resurrect": true,
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        },
        "web": {
          "cmd": [
            "api"
          ],
          "ports": [
            {
              "port": 80,
              "proto": "tcp"
            }
          ],
          "resources": {
            "max_fd": {
              "request": 10000,
              "limit": 10000
            },
            "memory": {
              "request": 1073741824,
              "limit": 1073741824
            }
          }
        }
      }
    },
    "artifact": {
      "id": "e3e69c33-dd0c-4381-b9a9-30cf0c417ce7",
      "type": "docker",
      "uri": "https://dl.flynn.io/tuf?name=flynn/postgresql&id=7447010d0a300f45d6785bb6cef4858500821d7afcb8febaabefbe55bf03fd0f"
    },
    "processes": {
      "postgres": 1,
      "web": 1
    },
    "updated_at": "2015-12-16T02:20:44.152134Z"
  }
]

§ Stream formations

Params

Property Type Description
since string RFC3339 timestamp to stream formations since

 

 

Request

GET /formations?since=1970-01-01T00:00:00Z HTTP/1.1
Accept: text/event-stream
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/event-stream; charset=utf-8
data: {"app":{"id":"adcccdb4-b1a4-4209-a03a-762f4e021632","name":"my-app-1450232456657062340","meta":{"bread":"with hemp"},"strategy":"all-at-once","release":"47154f8c-a604-469d-ae6a-e431990ddee8","deploy_timeout":30,"created_at":"2015-12-16T02:20:56.657428Z","updated_at":"2015-12-16T02:21:06.740041Z"},"release":{"id":"47154f8c-a604-469d-ae6a-e431990ddee8","artifact":"c1889f55-c244-43ce-af70-ead357daa6ec","env":{"some":"info"},"processes":{"foo":{"cmd":["ls","-l"],"env":{"BAR":"baz"},"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:21:06.731551Z"},"artifact":{"id":"c1889f55-c244-43ce-af70-ead357daa6ec","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/slugrunner\u0026id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97","created_at":"2015-12-16T02:21:06.727191Z"},"processes":{"foo":1},"updated_at":"2015-12-16T02:21:06.748757Z"}

data: {"app":{"id":"28a8aed1-a50d-446e-b4ad-38ca3e95fb8f","name":"status","meta":{"flynn-system-app":"true"},"strategy":"all-at-once","release":"fff9dd4b-9f38-4f71-b3c5-5cd5fc19d31a","deploy_timeout":30,"created_at":"2015-12-16T02:20:50.496685Z","updated_at":"2015-12-16T02:20:50.522611Z"},"release":{"id":"fff9dd4b-9f38-4f71-b3c5-5cd5fc19d31a","artifact":"e88714df-27b5-40aa-900e-717384fddcdd","env":{"AUTH_KEY":"44335767c99fb93b23c9a1500bf1ebeb"},"processes":{"web":{"ports":[{"port":80,"proto":"tcp","service":{"name":"status-web","create":true}}],"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:50.507274Z"},"artifact":{"id":"e88714df-27b5-40aa-900e-717384fddcdd","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/status\u0026id=33c003b37b2919a841d6e14a6335ff440607957efeb2e9022dce05a36f86203f","created_at":"2015-12-16T02:20:50.502993Z"},"processes":{"web":1},"updated_at":"2015-12-16T02:20:50.513318Z"}

data: {"app":{"id":"52e4cac9-3e4a-42ab-8b87-b714403aafc6","name":"dashboard","meta":{"flynn-system-app":"true"},"strategy":"all-at-once","release":"93f1f03e-30c4-4c1f-8c4b-7c0c7e295421","deploy_timeout":30,"created_at":"2015-12-16T02:20:50.455672Z","updated_at":"2015-12-16T02:20:50.479616Z"},"release":{"id":"93f1f03e-30c4-4c1f-8c4b-7c0c7e295421","artifact":"ec791440-fa5b-4d8e-903a-94999f634ea1","env":{"APP_NAME":"dashboard","CA_CERT":"-----BEGIN CERTIFICATE-----\nMIIDBDCCAe6gAwIBAgIRAP6BP9TQKrq0l1CCcSI4gb4wCwYJKoZIhvcNAQELMC0x\nDjAMBgNVBAoTBUZseW5uMRswGQYDVQQLExJGbHlubiBFcGhlbWVyYWwgQ0EwHhcN\nMTUxMjE2MDIyMDQxWhcNMjAxMjE0MDIyMDQxWjAtMQ4wDAYDVQQKEwVGbHlubjEb\nMBkGA1UECxMSRmx5bm4gRXBoZW1lcmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAn+KUccUSVeWoJZTlOxqaiXacGECGAPETxfmnL9ep1rA/4DWi\n2OTpZoeSFdyL1yV5KJxPkq6XMNyl/BR72SOomCmoFRnZzDih//+gfuJAFVGaF1j9\nFOIX+VyO8jyFzqk2vZg9R+ncRyFgjEgpHn0gDdt4WLWDxPpfFMClEZU6Mpu02ngj\n1kmlNgzajl71qhhKtrv3W7ACKh6O3fMSBg4n/ZiVnVQjdkejHskV5R43FH4bpZzP\nhb82rI6FNBNOCKqwbQ/AdGGVvJSzXPypvzCMkGghhx8pckoZw7DONXhSojfIO6Kt\nlxUYO1Odmnb+nyJjxGyidSperhfm+CuSFPn2BwIDAQABoyMwITAOBgNVHQ8BAf8E\nBAMCAAYwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQsDggEBAGvEqq1ko+pE\nS5RBHmTWW6mJom9rA+aii9n88lMhbdjikeVFkQkH6Qi8zR5O4hCdDUC4qYUp+rIF\nZ4XZ9Ogl4CcR1gEPGu1KX2EnjVKloS1LThugCuP5YJgQ5qoMsQs681s1ZpPd/0gh\ntjASQy1Y72wY1SxVWqJzkuzf8mMDg52I4wwD9Eif2zq1/+sJa9mdilhvd0Wp+hDV\n6qN6xbH65V2VKwDrkD2p7CIn3NmknYhmw+obezqRkSl6N5Is/QPVg59bOu0evWfS\nDyaOehm1EmmRVehNj8IR0noFwUMbIASnpTescLd4Nz9pEjbgHQ+m6Swe8hnaZ3dd\n1TvxABm/4VY=\n-----END CERTIFICATE-----\n","CONTROLLER_DOMAIN":"controller.dev.localflynn.com","CONTROLLER_KEY":"s3cr3t","DEFAULT_ROUTE_DOMAIN":"dev.localflynn.com","LOGIN_TOKEN":"c8414bceb41bd679535c76f87472a8c2","SECURE_COOKIES":"true","SESSION_SECRET":"f180d52702a70f23a5eb6b1d87d5ab3a","URL":"https://dashboard.dev.localflynn.com"},"processes":{"web":{"ports":[{"port":80,"proto":"tcp","service":{"name":"dashboard-web","create":true,"check":{"type":"http","status.omitempty":0}}}],"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:50.46672Z"},"artifact":{"id":"ec791440-fa5b-4d8e-903a-94999f634ea1","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/dashboard\u0026id=d602235982d4d3e4a75253aae15f5ced25d2a6b3585518b644788ac5f0f943ec","created_at":"2015-12-16T02:20:50.461296Z"},"processes":{"web":1},"updated_at":"2015-12-16T02:20:50.47223Z"}

data: {"app":{"id":"cbd68d2a-4667-46b2-af0c-74939e2173d0","name":"taffy","meta":{"flynn-system-app":"true"},"strategy":"all-at-once","release":"385aa7f3-9a8a-461f-bba6-890520823eff","deploy_timeout":30,"created_at":"2015-12-16T02:20:50.4116Z","updated_at":"2015-12-16T02:20:50.446458Z"},"release":{"id":"385aa7f3-9a8a-461f-bba6-890520823eff","artifact":"340ac2cf-60fa-473a-ab76-b7f779c8e063","env":{"CONTROLLER_KEY":"s3cr3t","SLUGBUILDER_IMAGE_URI":"https://dl.flynn.io/tuf?name=flynn/slugbuilder\u0026id=304a939ca74764b7e356133d7559cc245207deca8c65e782d4a043f14a566cae","SLUGRUNNER_IMAGE_URI":"https://dl.flynn.io/tuf?name=flynn/slugrunner\u0026id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"},"created_at":"2015-12-16T02:20:50.425846Z"},"artifact":{"id":"340ac2cf-60fa-473a-ab76-b7f779c8e063","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/taffy\u0026id=f276ff66937e238fb665a0b6ee6b73b01fb6e1c4102a90bf1e92f7ed229c4844","created_at":"2015-12-16T02:20:50.419331Z"},"updated_at":"2015-12-16T02:20:50.432108Z"}

data: {"app":{"id":"3ccdfb02-1dfb-4148-9ade-caa9ac918947","name":"logaggregator","meta":{"flynn-system-app":"true"},"strategy":"all-at-once","release":"d755489a-89ce-4c8c-b717-73d5589bab41","deploy_timeout":30,"created_at":"2015-12-16T02:20:50.378626Z","updated_at":"2015-12-16T02:20:50.400571Z"},"release":{"id":"d755489a-89ce-4c8c-b717-73d5589bab41","artifact":"08d14942-65c0-456e-b1ef-e7d46717dcd4","processes":{"app":{"cmd":["-logaddr",":514","-apiaddr",":80"],"ports":[{"port":80,"proto":"tcp"},{"port":514,"proto":"tcp"}],"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:50.387399Z"},"artifact":{"id":"08d14942-65c0-456e-b1ef-e7d46717dcd4","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/logaggregator\u0026id=cd30beb1606288f61eae7a4fe83ad3652689e644d9bb3e8bc10ca22d8ca0652b","created_at":"2015-12-16T02:20:50.382881Z"},"processes":{"app":1},"updated_at":"2015-12-16T02:20:50.392915Z"}

data: {"app":{"id":"86750e3a-927f-4146-8651-4c8b7cc2de01","name":"gitreceive","meta":{"flynn-system-app":"true"},"strategy":"all-at-once","release":"ea333a70-5971-467a-ba92-1d2e724db07f","deploy_timeout":30,"created_at":"2015-12-16T02:20:47.059359Z","updated_at":"2015-12-16T02:20:47.076812Z"},"release":{"id":"ea333a70-5971-467a-ba92-1d2e724db07f","artifact":"1a5bf802-3337-48b3-b812-b994f1cde371","env":{"CONTROLLER_KEY":"s3cr3t","SLUGBUILDER_IMAGE_URI":"https://dl.flynn.io/tuf?name=flynn/slugbuilder\u0026id=304a939ca74764b7e356133d7559cc245207deca8c65e782d4a043f14a566cae","SLUGRUNNER_IMAGE_URI":"https://dl.flynn.io/tuf?name=flynn/slugrunner\u0026id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"},"processes":{"app":{"ports":[{"port":0,"proto":"tcp","service":{"name":"gitreceive","create":true}}],"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:47.066763Z"},"artifact":{"id":"1a5bf802-3337-48b3-b812-b994f1cde371","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/gitreceive\u0026id=426e13b19a91af29a373f59d7edae7e54fe9d035961738d342e4b2c001027cde","created_at":"2015-12-16T02:20:47.063164Z"},"processes":{"app":1},"updated_at":"2015-12-16T02:20:47.071423Z"}

data: {"app":{"id":"aaae4e4b-dc79-4753-bc99-71e40c7d24dd","name":"router","meta":{"flynn-system-app":"true"},"strategy":"all-at-once","release":"c8268dcf-8f16-48e5-9c40-797a399dac99","deploy_timeout":30,"created_at":"2015-12-16T02:20:46.62186Z","updated_at":"2015-12-16T02:20:47.043713Z"},"release":{"id":"c8268dcf-8f16-48e5-9c40-797a399dac99","artifact":"48953db6-1c0a-4af2-b687-7fe6971fcf84","env":{"COOKIE_KEY":"7AaXi7KZDeWu4FotDN+7wi6RbHWywW6ClN2qap78cSg=","DATABASE_URL":"postgres://975487bc5a45fc80ade5765db668d873:46aabd4df6f39a1a23e63d9a76dece78@leader.postgres.discoverd:5432/6e63ce03061c8788f766994d9a9be92a","FLYNN_POSTGRES":"postgres","PGDATABASE":"6e63ce03061c8788f766994d9a9be92a","PGHOST":"leader.postgres.discoverd","PGPASSWORD":"46aabd4df6f39a1a23e63d9a76dece78","PGUSER":"975487bc5a45fc80ade5765db668d873","TLSCERT":"-----BEGIN CERTIFICATE-----\nMIIDSjCCAjSgAwIBAgIQDH8zACle7B+pqJB3QfwthDALBgkqhkiG9w0BAQswLTEO\nMAwGA1UEChMFRmx5bm4xGzAZBgNVBAsTEkZseW5uIEVwaGVtZXJhbCBDQTAeFw0x\nNTEyMTYwMjIwNDJaFw0yMDEyMTQwMjIwNDJaMC0xDjAMBgNVBAoTBUZseW5uMRsw\nGQYDVQQDExJkZXYubG9jYWxmbHlubi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQC3NsEp+fYsbgr94cOBVnSK3ZcHBobwcCdzNvNqh6y1V9wn7x4C\nS6Rk0pn1Zz/FS1F+uA8KMVUzwWCCSl/jW4BNAqbLbVi4I5oap8mCDQDt+MDPZyn5\noOCn6vj5OCJXva3RmhJRocF88oXcH4lXWUyfKMOb+0/+tRC7lg5gqBxnvkiJrW7D\nyq0+FoZViBgrN3JcxAgWFx9FK8sITzWpgPqJvJiS4Ry54o8hBTQCKyFCHTwdoufd\nKyBwm6tNn/KLhUXcAEsBD3qvdI0AEX9rssGxVErCualgPaBAvDCFz2H+wwvKnHpK\nCcwIflE04YYOjCHphq9j7FIzd5/+fp0Ng53pAgMBAAGjajBoMA4GA1UdDwEB/wQE\nAwIAoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMDMGA1UdEQQs\nMCqCEmRldi5sb2NhbGZseW5uLmNvbYIUKi5kZXYubG9jYWxmbHlubi5jb20wCwYJ\nKoZIhvcNAQELA4IBAQAIR7k3teJZ5c2eLUlcfLSZiigz+RaZeqxHHt6fZXA9P9XS\n+m8NSIUffdfOXaXjokYTYc91RqGhxVGUUopEA7P64QkEJRpu4qcfq6CXxDoExyf5\ncumrzrBZmTvExqlGBbyviz7T4c7IZAe0U3zYCoaVd1Ss84mY8DA37oqM2Y1pH7Tc\nzwBprXDqAfwt70xoYFWQZoK6SbS+qCQkc+0K9HW0ZzGRwqMTbAoPOTn9D2c9f9o5\nuM9KkiTuvY3T1Kimb848IVvhBfEofeHXZspc9HWqfLJM8wIpMJCaDwcDBN+yFku6\nqqaRa9SXkZLNrB+eCqsVOUzBsmK+sgUL6jmM+Pfc\n-----END CERTIFICATE-----\n","TLSKEY":"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAtzbBKfn2LG4K/eHDgVZ0it2XBwaG8HAnczbzaoestVfcJ+8e\nAkukZNKZ9Wc/xUtRfrgPCjFVM8Fggkpf41uATQKmy21YuCOaGqfJgg0A7fjAz2cp\n+aDgp+r4+TgiV72t0ZoSUaHBfPKF3B+JV1lMnyjDm/tP/rUQu5YOYKgcZ75Iia1u\nw8qtPhaGVYgYKzdyXMQIFhcfRSvLCE81qYD6ibyYkuEcueKPIQU0AishQh08HaLn\n3SsgcJurTZ/yi4VF3ABLAQ96r3SNABF/a7LBsVRKwrmpYD2gQLwwhc9h/sMLypx6\nSgnMCH5RNOGGDowh6YavY+xSM3ef/n6dDYOd6QIDAQABAoIBAGEZTsRdal9frsmg\n1gl89WUHTVx21BsnhXDlZZpG73xoZRBxBPl4d1bL2raZks2QPk+nYqknPh2g1fIX\nUrxfKR8nUZisigGFNM39sKkRFTYJyL3i0fcvkQDNYkhKvMC9kRptylmjHbWHnvPr\nbtFxTU9ovkqzpVC7S3Pvcg0961f7NgUqM5bfzWlgZYDATtNTpngc6/8bUgG8xhdL\nLsfd84FJcC/0k09Gxu5GPuwvcws1Iag39+Rkz2G9KmOEnN8dywLLedWPQ8A6fIjP\ngSSYTPWRBEF7V6/yRb7a0z1M+SJUrA0vDYJsa2P2ry0YslJi1O9ipOeBmmCddVjN\n21SywoECgYEA45mlj46ySdKhB7iRDaD+M1Ffo9vaCniGjZxEH+sPWXet3gr/hTGN\nmsQngU66v/Gj6clTSOlkOImQHT7Q0/GeHTDEAVEXJNTX8NllElJe6LjOUyqc7kUN\n/zASp3YOHWVC8y3cNy8ScydUhO5hkaVJcpqO0RWxnWnqV6m2OOtcyvkCgYEAzhNA\ntxEpP/7qMz2/Kx7LflRXtMAIfecIlLmq4mw0pnMCebCCXOp7/Lw7VOLIz1JfzGtW\n2b6BTspzbTW16rjedA65+Pj/EdmXxtL7KIfDlnmab7cSQ3Vi/Tmbza4Z+etZ8Yy2\nRwA2Ni8IPS2y8NukcAJH+fGjIAbS/FqgR6KJtnECgYB955scpRWfnPMTsFgdr/ev\nL862eIJP1Iiqgc110rS1C22VLYRYjCcHfIdWEtVgJS5Fv+dgqCuW0xJz+zHObRTI\nlRd4mwEwkMW8KKau0f5KwyDwBNy3OmAZ0OAg3z/Dpya4G6B8rn+IUDODLdOvnD3b\nNgDXTSbqK5NFV07Egf7dEQKBgHdthvrRckOJW3dY2JqH3U0YWkABbqpwo3N16sgQ\nB69TReL6XYK1zidZe1UlnVUxmx1gM9Q7aLsd7ykikIw4mYtPIY5d140juqdajH4f\nuEVTsiH+ShJYTIcOxPG9bYZ+VAD+GIEraT+boD28Z1DZKgJUABylYnFkIxBnAS6i\nzwaxAoGAa3TWYsK0VUrn1EwlI9zzCLW8myjzyPLgpEQ6264ETNSw4K42M2fthcS4\nzlVMrPJ5yhftxCkxbXNFp74lt5Nhryv9K3RWdnL6aXoxR4juhfXBPUBPK+bk/g6F\nohfHj/PeDJFBe0MWC1Q4x7jbeHgqXQ9q7mun+9xH8ZziMdknHc4=\n-----END RSA PRIVATE KEY-----\n"},"processes":{"app":{"cmd":["-http-port","80","-https-port","443","-tcp-range-start","3000","-tcp-range-end","3500"],"omni":true,"host_network":true,"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:47.029321Z"},"artifact":{"id":"48953db6-1c0a-4af2-b687-7fe6971fcf84","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/router\u0026id=35dd76cf940ed67fdb4f373f79fc79dda327a0fb36d3dffb3894cb5f981b4a21","created_at":"2015-12-16T02:20:47.024437Z"},"processes":{"app":1},"updated_at":"2015-12-16T02:20:47.037485Z"}

data: {"app":{"id":"0b5fb9b4-af2b-462e-aaca-cc64591573e5","name":"blobstore","meta":{"flynn-system-app":"true"},"strategy":"all-at-once","release":"53815de9-8a78-4ab1-909e-a465242f57e7","deploy_timeout":30,"created_at":"2015-12-16T02:20:46.147317Z","updated_at":"2015-12-16T02:20:46.614339Z"},"release":{"id":"53815de9-8a78-4ab1-909e-a465242f57e7","artifact":"a436a3d6-a2c5-430e-961d-96518dacddff","env":{"DATABASE_URL":"postgres://8a4906b3587c5faabef321d34936ac3a:6ac0c933a4abba2a2f8ec0e87ccb8f68@leader.postgres.discoverd:5432/d2f1b01c72f997dc2dbc0e1bc6c4c6ec","FLYNN_POSTGRES":"postgres","PGDATABASE":"d2f1b01c72f997dc2dbc0e1bc6c4c6ec","PGHOST":"leader.postgres.discoverd","PGPASSWORD":"6ac0c933a4abba2a2f8ec0e87ccb8f68","PGUSER":"8a4906b3587c5faabef321d34936ac3a"},"processes":{"web":{"ports":[{"port":80,"proto":"tcp"}],"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:46.602952Z"},"artifact":{"id":"a436a3d6-a2c5-430e-961d-96518dacddff","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/blobstore\u0026id=8b27756a551d5dd5e29181209b842c71288494d2fd7aded04fe7608c74bf4f9c","created_at":"2015-12-16T02:20:46.599272Z"},"processes":{"web":1},"updated_at":"2015-12-16T02:20:46.608041Z"}

data: {"app":{"id":"f7064b9f-c968-4f16-be0e-f2efd1b2c7b7","name":"controller","meta":{"flynn-system-app":"true"},"strategy":"one-by-one","release":"9afcffd7-6278-47c9-a2f0-1326b42b4a03","deploy_timeout":120,"created_at":"2015-12-16T02:20:44.100788Z","updated_at":"2015-12-16T02:20:44.131968Z"},"release":{"id":"9afcffd7-6278-47c9-a2f0-1326b42b4a03","artifact":"c8400666-26d9-493f-9630-3d34045f8498","env":{"AUTH_KEY":"s3cr3t","CA_CERT":"-----BEGIN CERTIFICATE-----\nMIIDBDCCAe6gAwIBAgIRAP6BP9TQKrq0l1CCcSI4gb4wCwYJKoZIhvcNAQELMC0x\nDjAMBgNVBAoTBUZseW5uMRswGQYDVQQLExJGbHlubiBFcGhlbWVyYWwgQ0EwHhcN\nMTUxMjE2MDIyMDQxWhcNMjAxMjE0MDIyMDQxWjAtMQ4wDAYDVQQKEwVGbHlubjEb\nMBkGA1UECxMSRmx5bm4gRXBoZW1lcmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAn+KUccUSVeWoJZTlOxqaiXacGECGAPETxfmnL9ep1rA/4DWi\n2OTpZoeSFdyL1yV5KJxPkq6XMNyl/BR72SOomCmoFRnZzDih//+gfuJAFVGaF1j9\nFOIX+VyO8jyFzqk2vZg9R+ncRyFgjEgpHn0gDdt4WLWDxPpfFMClEZU6Mpu02ngj\n1kmlNgzajl71qhhKtrv3W7ACKh6O3fMSBg4n/ZiVnVQjdkejHskV5R43FH4bpZzP\nhb82rI6FNBNOCKqwbQ/AdGGVvJSzXPypvzCMkGghhx8pckoZw7DONXhSojfIO6Kt\nlxUYO1Odmnb+nyJjxGyidSperhfm+CuSFPn2BwIDAQABoyMwITAOBgNVHQ8BAf8E\nBAMCAAYwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQsDggEBAGvEqq1ko+pE\nS5RBHmTWW6mJom9rA+aii9n88lMhbdjikeVFkQkH6Qi8zR5O4hCdDUC4qYUp+rIF\nZ4XZ9Ogl4CcR1gEPGu1KX2EnjVKloS1LThugCuP5YJgQ5qoMsQs681s1ZpPd/0gh\ntjASQy1Y72wY1SxVWqJzkuzf8mMDg52I4wwD9Eif2zq1/+sJa9mdilhvd0Wp+hDV\n6qN6xbH65V2VKwDrkD2p7CIn3NmknYhmw+obezqRkSl6N5Is/QPVg59bOu0evWfS\nDyaOehm1EmmRVehNj8IR0noFwUMbIASnpTescLd4Nz9pEjbgHQ+m6Swe8hnaZ3dd\n1TvxABm/4VY=\n-----END CERTIFICATE-----\n","DATABASE_URL":"postgres://df60a79e03b92c3157aaad47dab10278:623f1831ed89cd811ea1da0fb985bd81@leader.postgres.discoverd:5432/33c5b220c9eed7307d65a2b367236d10","DEFAULT_ROUTE_DOMAIN":"dev.localflynn.com","FLYNN_POSTGRES":"postgres","NAME_SEED":"e53b1785be43a8569707","PGDATABASE":"33c5b220c9eed7307d65a2b367236d10","PGHOST":"leader.postgres.discoverd","PGPASSWORD":"623f1831ed89cd811ea1da0fb985bd81","PGUSER":"df60a79e03b92c3157aaad47dab10278"},"processes":{"scheduler":{"cmd":["scheduler"],"ports":[{"port":0,"proto":"tcp"}],"omni":true,"service":"controller-scheduler","resurrect":true,"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}},"web":{"cmd":["controller"],"ports":[{"port":80,"proto":"tcp"}],"resurrect":true,"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}},"worker":{"cmd":["worker"],"ports":[{"port":0,"proto":"tcp"}],"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:44.112693Z"},"artifact":{"id":"c8400666-26d9-493f-9630-3d34045f8498","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/controller\u0026id=38242063cc75f2f6e3cfc15ce44899d103191c0be9b11403e44ee4bf4749db72","created_at":"2015-12-16T02:20:44.108802Z"},"processes":{"scheduler":1,"web":1,"worker":1},"updated_at":"2015-12-16T02:20:44.205169Z"}

data: {"app":{"id":"4940a4fe-3acc-4be7-aa97-7c3f982ba552","name":"discoverd","meta":{"flynn-system-app":"true"},"strategy":"discoverd-meta","release":"dd6a3a63-a920-4954-8a0b-7f6e9e4e1b79","deploy_timeout":120,"created_at":"2015-12-16T02:20:44.179151Z","updated_at":"2015-12-16T02:20:44.197362Z"},"release":{"id":"dd6a3a63-a920-4954-8a0b-7f6e9e4e1b79","artifact":"b2b4c646-aef0-4b3b-a501-cd282c31299e","env":{"DISCOVERD":"none","DISCOVERD_PEERS":"10.0.2.15:1111,"},"processes":{"app":{"ports":[{"port":1111,"proto":"tcp"},{"port":53,"proto":"tcp"}],"data":true,"omni":true,"host_network":true,"service":"discoverd","resurrect":true,"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:44.186154Z"},"artifact":{"id":"b2b4c646-aef0-4b3b-a501-cd282c31299e","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/discoverd\u0026id=da0bd1401a6df09efb904a852992cd3a19b657223347bad6b427350e52c254a4","created_at":"2015-12-16T02:20:44.182397Z"},"processes":{"app":1},"updated_at":"2015-12-16T02:20:44.193653Z"}

data: {"app":{"id":"291b591e-ea67-4393-9dd8-f8b8f79ea34c","name":"flannel","meta":{"flynn-system-app":"true"},"strategy":"one-by-one","release":"ce17ef61-be09-4f60-b12d-d8aa87eb0a82","deploy_timeout":30,"created_at":"2015-12-16T02:20:44.160316Z","updated_at":"2015-12-16T02:20:44.17542Z"},"release":{"id":"ce17ef61-be09-4f60-b12d-d8aa87eb0a82","artifact":"172410eb-4e75-4597-a366-efe596b0af27","env":{"DISCOVERD":"none"},"processes":{"app":{"ports":[{"port":5002,"proto":"tcp"}],"omni":true,"host_network":true,"resurrect":true,"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:44.166269Z"},"artifact":{"id":"172410eb-4e75-4597-a366-efe596b0af27","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/flannel\u0026id=7d6c9acf4dc854210cc753c6a8c889899200b35fd45f50fb35d1bb9189c92510","created_at":"2015-12-16T02:20:44.163461Z"},"processes":{"app":1},"updated_at":"2015-12-16T02:20:44.170687Z"}

data: {"app":{"id":"2b18fac0-cb75-4243-ba0e-1a96d5e2ddda","name":"postgres","meta":{"flynn-system-app":"true"},"strategy":"postgres","release":"6244ff18-44a3-4db1-a0d4-ceab0abded24","deploy_timeout":120,"created_at":"2015-12-16T02:20:44.136811Z","updated_at":"2015-12-16T02:20:44.155991Z"},"release":{"id":"6244ff18-44a3-4db1-a0d4-ceab0abded24","artifact":"e3e69c33-dd0c-4381-b9a9-30cf0c417ce7","env":{"FLYNN_POSTGRES":"postgres","PGDATABASE":"postgres","PGHOST":"leader.postgres.discoverd","PGPASSWORD":"2b12bf3d5a0bfae0ed5723947e21af7b","PGUSER":"flynn"},"processes":{"postgres":{"cmd":["postgres"],"env":{"SINGLETON":"true"},"ports":[{"port":5432,"proto":"tcp"}],"data":true,"service":"postgres","resurrect":true,"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}},"web":{"cmd":["api"],"ports":[{"port":80,"proto":"tcp"}],"resources":{"max_fd":{"request":10000,"limit":10000},"memory":{"request":1073741824,"limit":1073741824}}}},"created_at":"2015-12-16T02:20:44.146289Z"},"artifact":{"id":"e3e69c33-dd0c-4381-b9a9-30cf0c417ce7","type":"docker","uri":"https://dl.flynn.io/tuf?name=flynn/postgresql\u0026id=7447010d0a300f45d6785bb6cef4858500821d7afcb8febaabefbe55bf03fd0f","created_at":"2015-12-16T02:20:44.141156Z"},"processes":{"postgres":1,"web":1},"updated_at":"2015-12-16T02:20:44.152134Z"}

data: {"updated_at":"0001-01-01T00:00:00Z"}


§ Deployment

https://flynn.io/schema/controller/deployment#
Property Type Description
id uuid string unique identifier
app uuid string unique identifier
old_release uuid string unique identifier
new_release uuid string unique identifier
status string pending running complete failed
strategy string all-at-once one-by-one sirenia discoverd-meta
processes object count of processes to run for each process type
tags object process tags
deploy_timeout integer deployment timeout (default 120s)
created_at date-time string object creation timestamp
finished_at date-time string
name string
url uri string

§ Create deployment

 

 

Request

POST /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/deploy HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "id": "77e9e956-ecf9-427f-a031-222c2f394fb8"
}

Response

Content-Type: application/json
{
  "id": "aab1ee14-776d-4ba4-979b-1b4bda2d9b35",
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "old_release": "47154f8c-a604-469d-ae6a-e431990ddee8",
  "new_release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
  "strategy": "all-at-once",
  "status": "pending",
  "processes": {
    "foo": 1
  },
  "deploy_timeout": 30,
  "created_at": "2015-12-16T02:21:16.782263Z"
}

§ Get deployment

 

 

Request

GET /deployments/aab1ee14-776d-4ba4-979b-1b4bda2d9b35 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": "aab1ee14-776d-4ba4-979b-1b4bda2d9b35",
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "old_release": "47154f8c-a604-469d-ae6a-e431990ddee8",
  "new_release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
  "strategy": "all-at-once",
  "status": "pending",
  "processes": {
    "foo": 1
  },
  "deploy_timeout": 30,
  "created_at": "2015-12-16T02:21:16.782263Z"
}

§ List deployments

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/deployments HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "aab1ee14-776d-4ba4-979b-1b4bda2d9b35",
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "old_release": "47154f8c-a604-469d-ae6a-e431990ddee8",
    "new_release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
    "strategy": "all-at-once",
    "status": "pending",
    "processes": {
      "foo": 1
    },
    "deploy_timeout": 30,
    "created_at": "2015-12-16T02:21:16.782263Z"
  }
]

§ New Job

A new job describes a desired process configuration.

https://flynn.io/schema/controller/new_job#
Property Type Description
release uuid string unique identifier
artifacts array of uuid strings
artifact uuid string unique identifier
cmd array of strings DEPRECATED (use args instead): shell command
entrypoint array of strings DEPRECATED (use args instead)
args array of strings command line arguments
env object environment variables
meta object client-specified metadata
tty boolean initialize a tty session
tty_columns integer number of columns in tty
tty_lines integer number of lines/rows in tty
release_env boolean include the release environment
disable_log boolean don’t copy stdout/stdin to log stream
resources object resource request and limits
data boolean
partition string background user system

§ Run job

 

 

Request

POST /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/jobs HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
  "cmd": [
    "echo",
    "$BODY"
  ],
  "env": {
    "BODY": "Hello!"
  }
}

Response

Content-Type: application/json
{
  "id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
  "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
  "cmd": [
    "echo",
    "$BODY"
  ]
}

§ Job

A job is a single process in a container.

https://flynn.io/schema/controller/job#
Property Type Description
id string the job’s cluster ID
uuid uuid string unique identifier
host_id string the ID of the host the job is running on
app uuid string unique identifier
release uuid string unique identifier
type string process type name from the release
state string pending starting up stopping down crashed failed
cmd array of strings DEPRECATED (use args instead): shell command
args array of strings command line arguments
meta object client-specified metadata
exit_status integer job exit status
host_error string host error if job failed to start
run_at date-time string time a pending job will be started
restarts integer number of times this job has been restarted
created_at date-time string object creation timestamp
updated_at date-time string object last updated timestamp

§ List jobs

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/jobs HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
    "state": "starting",
    "created_at": "2015-12-16T02:21:16.799294Z",
    "updated_at": "2015-12-16T02:21:16.799294Z"
  },
  {
    "id": "host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c",
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
    "type": "foo",
    "state": "down",
    "meta": {
      "bread": "with hemp"
    },
    "exit_status": 2,
    "created_at": "2015-12-16T02:21:07.710312Z",
    "updated_at": "2015-12-16T02:21:08.534753Z"
  },
  {
    "id": "host-26c0ea34-e655-40d2-8d5e-c5694470af6c",
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
    "type": "foo",
    "state": "down",
    "meta": {
      "bread": "with hemp"
    },
    "exit_status": 2,
    "created_at": "2015-12-16T02:21:06.765744Z",
    "updated_at": "2015-12-16T02:21:07.704057Z"
  }
]

§ Update job

 

 

Request

PUT /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/jobs/host-40cc2d07-7a48-4fda-9790-ba9768a3f616 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
  "state": "down"
}

Response

Content-Type: application/json
{
  "id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
  "state": "down",
  "created_at": "2015-12-16T02:21:16.799294Z",
  "updated_at": "2015-12-16T02:21:16.811094Z"
}

§ Get job

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/jobs/host-40cc2d07-7a48-4fda-9790-ba9768a3f616 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
  "state": "down",
  "created_at": "2015-12-16T02:21:16.799294Z",
  "updated_at": "2015-12-16T02:21:16.811094Z"
}

§ Delete job

 

 

Request

DELETE /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/jobs/host-40cc2d07-7a48-4fda-9790-ba9768a3f616 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/plain; charset=utf-8

§ Port

https://flynn.io/schema/controller/port#
Property Type Description
port integer
proto string tcp udp

§ Process Type

https://flynn.io/schema/controller/process_type#
Property Type Description
args array of strings command line arguments
cmd array of strings DEPRECATED (use args instead): shell command
env object environment variables
entrypoint array of strings DEPRECATED (use args instead)
ports array of objects
ports[].port integer
ports[].proto string tcp udp
volumes array of objects
volumes[].path string
data boolean DEPRECATED (use volumes instead)
omni boolean

§ Provider

https://flynn.io/schema/controller/provider#
Property Type Description
id uuid string unique identifier
created_at date-time string object creation timestamp
updated_at date-time string object last updated timestamp
name string
url uri string

§ Create provider

 

 

Request

POST /providers HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "url": "http://example-provider-1450232456645115570.discoverd:12345/providers/1450232456645115570",
  "name": "example-provider-1450232456645115570"
}

Response

Content-Type: application/json
{
  "id": "0952f692-2667-4be0-a159-9d68382a262c",
  "url": "http://example-provider-1450232456645115570.discoverd:12345/providers/1450232456645115570",
  "name": "example-provider-1450232456645115570",
  "created_at": "2015-12-16T02:20:56.647653Z",
  "updated_at": "2015-12-16T02:20:56.647653Z"
}

§ Get provider

 

 

Request

GET /providers/0952f692-2667-4be0-a159-9d68382a262c HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": "0952f692-2667-4be0-a159-9d68382a262c",
  "url": "http://example-provider-1450232456645115570.discoverd:12345/providers/1450232456645115570",
  "name": "example-provider-1450232456645115570",
  "created_at": "2015-12-16T02:20:56.647653Z",
  "updated_at": "2015-12-16T02:20:56.647653Z"
}

§ List providers

 

 

Request

GET /providers HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "0952f692-2667-4be0-a159-9d68382a262c",
    "url": "http://example-provider-1450232456645115570.discoverd:12345/providers/1450232456645115570",
    "name": "example-provider-1450232456645115570",
    "created_at": "2015-12-16T02:20:56.647653Z",
    "updated_at": "2015-12-16T02:20:56.647653Z"
  },
  {
    "id": "9884b81d-0c3c-4191-acba-c753ef50cc00",
    "url": "http://postgres-api.discoverd/databases",
    "name": "postgres",
    "created_at": "2015-12-16T02:20:44.116667Z",
    "updated_at": "2015-12-16T02:20:44.116667Z"
  }
]

§ Release

https://flynn.io/schema/controller/release#
Property Type Description
id uuid string unique identifier
app_id uuid string unique identifier
artifact uuid string unique identifier
artifacts array of uuid strings
meta object client-specified metadata
env object environment variables
processes object
created_at date-time string object creation timestamp

§ Get initial app release

 

 

Request

GET /apps/gitreceive/release HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": "ea333a70-5971-467a-ba92-1d2e724db07f",
  "artifact": "1a5bf802-3337-48b3-b812-b994f1cde371",
  "env": {
    "CONTROLLER_KEY": "s3cr3t",
    "SLUGBUILDER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugbuilder&id=304a939ca74764b7e356133d7559cc245207deca8c65e782d4a043f14a566cae",
    "SLUGRUNNER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"
  },
  "processes": {
    "app": {
      "ports": [
        {
          "port": 0,
          "proto": "tcp",
          "service": {
            "name": "gitreceive",
            "create": true
          }
        }
      ],
      "resources": {
        "max_fd": {
          "request": 10000,
          "limit": 10000
        },
        "memory": {
          "request": 1073741824,
          "limit": 1073741824
        }
      }
    }
  },
  "created_at": "2015-12-16T02:20:47.066763Z"
}

§ Set app release

 

 

Request

PUT /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/release HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "id": "47154f8c-a604-469d-ae6a-e431990ddee8"
}

Response

Content-Type: application/json

§ Get app release

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/release HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": "47154f8c-a604-469d-ae6a-e431990ddee8",
  "artifact": "c1889f55-c244-43ce-af70-ead357daa6ec",
  "env": {
    "some": "info"
  },
  "processes": {
    "foo": {
      "cmd": [
        "ls",
        "-l"
      ],
      "env": {
        "BAR": "baz"
      },
      "resources": {
        "max_fd": {
          "request": 10000,
          "limit": 10000
        },
        "memory": {
          "request": 1073741824,
          "limit": 1073741824
        }
      }
    }
  },
  "created_at": "2015-12-16T02:21:06.731551Z"
}

§ Create release

 

 

Request

POST /releases HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "artifact": "c1889f55-c244-43ce-af70-ead357daa6ec",
  "env": {
    "some": "info"
  },
  "processes": {
    "foo": {
      "cmd": [
        "ls",
        "-l"
      ],
      "env": {
        "BAR": "baz"
      }
    }
  }
}

Response

Content-Type: application/json
{
  "id": "47154f8c-a604-469d-ae6a-e431990ddee8",
  "artifact": "c1889f55-c244-43ce-af70-ead357daa6ec",
  "env": {
    "some": "info"
  },
  "processes": {
    "foo": {
      "cmd": [
        "ls",
        "-l"
      ],
      "env": {
        "BAR": "baz"
      },
      "resources": {
        "max_fd": {
          "request": 10000,
          "limit": 10000
        },
        "memory": {
          "request": 1073741824,
          "limit": 1073741824
        }
      }
    }
  },
  "created_at": "2015-12-16T02:21:06.731551Z"
}

§ List releases

 

 

Request

GET /releases HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "47154f8c-a604-469d-ae6a-e431990ddee8",
    "artifact": "c1889f55-c244-43ce-af70-ead357daa6ec",
    "env": {
      "some": "info"
    },
    "processes": {
      "foo": {
        "cmd": [
          "ls",
          "-l"
        ],
        "env": {
          "BAR": "baz"
        },
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:21:06.731551Z"
  },
  {
    "id": "fff9dd4b-9f38-4f71-b3c5-5cd5fc19d31a",
    "artifact": "e88714df-27b5-40aa-900e-717384fddcdd",
    "env": {
      "AUTH_KEY": "44335767c99fb93b23c9a1500bf1ebeb"
    },
    "processes": {
      "web": {
        "ports": [
          {
            "port": 80,
            "proto": "tcp",
            "service": {
              "name": "status-web",
              "create": true
            }
          }
        ],
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:50.507274Z"
  },
  {
    "id": "93f1f03e-30c4-4c1f-8c4b-7c0c7e295421",
    "artifact": "ec791440-fa5b-4d8e-903a-94999f634ea1",
    "env": {
      "APP_NAME": "dashboard",
      "CA_CERT": "-----BEGIN CERTIFICATE-----\nMIIDBDCCAe6gAwIBAgIRAP6BP9TQKrq0l1CCcSI4gb4wCwYJKoZIhvcNAQELMC0x\nDjAMBgNVBAoTBUZseW5uMRswGQYDVQQLExJGbHlubiBFcGhlbWVyYWwgQ0EwHhcN\nMTUxMjE2MDIyMDQxWhcNMjAxMjE0MDIyMDQxWjAtMQ4wDAYDVQQKEwVGbHlubjEb\nMBkGA1UECxMSRmx5bm4gRXBoZW1lcmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAn+KUccUSVeWoJZTlOxqaiXacGECGAPETxfmnL9ep1rA/4DWi\n2OTpZoeSFdyL1yV5KJxPkq6XMNyl/BR72SOomCmoFRnZzDih//+gfuJAFVGaF1j9\nFOIX+VyO8jyFzqk2vZg9R+ncRyFgjEgpHn0gDdt4WLWDxPpfFMClEZU6Mpu02ngj\n1kmlNgzajl71qhhKtrv3W7ACKh6O3fMSBg4n/ZiVnVQjdkejHskV5R43FH4bpZzP\nhb82rI6FNBNOCKqwbQ/AdGGVvJSzXPypvzCMkGghhx8pckoZw7DONXhSojfIO6Kt\nlxUYO1Odmnb+nyJjxGyidSperhfm+CuSFPn2BwIDAQABoyMwITAOBgNVHQ8BAf8E\nBAMCAAYwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQsDggEBAGvEqq1ko+pE\nS5RBHmTWW6mJom9rA+aii9n88lMhbdjikeVFkQkH6Qi8zR5O4hCdDUC4qYUp+rIF\nZ4XZ9Ogl4CcR1gEPGu1KX2EnjVKloS1LThugCuP5YJgQ5qoMsQs681s1ZpPd/0gh\ntjASQy1Y72wY1SxVWqJzkuzf8mMDg52I4wwD9Eif2zq1/+sJa9mdilhvd0Wp+hDV\n6qN6xbH65V2VKwDrkD2p7CIn3NmknYhmw+obezqRkSl6N5Is/QPVg59bOu0evWfS\nDyaOehm1EmmRVehNj8IR0noFwUMbIASnpTescLd4Nz9pEjbgHQ+m6Swe8hnaZ3dd\n1TvxABm/4VY=\n-----END CERTIFICATE-----\n",
      "CONTROLLER_DOMAIN": "controller.dev.localflynn.com",
      "CONTROLLER_KEY": "s3cr3t",
      "DEFAULT_ROUTE_DOMAIN": "dev.localflynn.com",
      "LOGIN_TOKEN": "c8414bceb41bd679535c76f87472a8c2",
      "SECURE_COOKIES": "true",
      "SESSION_SECRET": "f180d52702a70f23a5eb6b1d87d5ab3a",
      "URL": "https://dashboard.dev.localflynn.com"
    },
    "processes": {
      "web": {
        "ports": [
          {
            "port": 80,
            "proto": "tcp",
            "service": {
              "name": "dashboard-web",
              "create": true,
              "check": {
                "type": "http",
                "status.omitempty": 0
              }
            }
          }
        ],
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:50.46672Z"
  },
  {
    "id": "385aa7f3-9a8a-461f-bba6-890520823eff",
    "artifact": "340ac2cf-60fa-473a-ab76-b7f779c8e063",
    "env": {
      "CONTROLLER_KEY": "s3cr3t",
      "SLUGBUILDER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugbuilder&id=304a939ca74764b7e356133d7559cc245207deca8c65e782d4a043f14a566cae",
      "SLUGRUNNER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"
    },
    "created_at": "2015-12-16T02:20:50.425846Z"
  },
  {
    "id": "d755489a-89ce-4c8c-b717-73d5589bab41",
    "artifact": "08d14942-65c0-456e-b1ef-e7d46717dcd4",
    "processes": {
      "app": {
        "cmd": [
          "-logaddr",
          ":514",
          "-apiaddr",
          ":80"
        ],
        "ports": [
          {
            "port": 80,
            "proto": "tcp"
          },
          {
            "port": 514,
            "proto": "tcp"
          }
        ],
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:50.387399Z"
  },
  {
    "id": "ea333a70-5971-467a-ba92-1d2e724db07f",
    "artifact": "1a5bf802-3337-48b3-b812-b994f1cde371",
    "env": {
      "CONTROLLER_KEY": "s3cr3t",
      "SLUGBUILDER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugbuilder&id=304a939ca74764b7e356133d7559cc245207deca8c65e782d4a043f14a566cae",
      "SLUGRUNNER_IMAGE_URI": "https://dl.flynn.io/tuf?name=flynn/slugrunner&id=dc1dadc66c31a1957bad101a22c4b607b2dd4f8f42ae5593ec28f3eef45e7b97"
    },
    "processes": {
      "app": {
        "ports": [
          {
            "port": 0,
            "proto": "tcp",
            "service": {
              "name": "gitreceive",
              "create": true
            }
          }
        ],
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:47.066763Z"
  },
  {
    "id": "c8268dcf-8f16-48e5-9c40-797a399dac99",
    "artifact": "48953db6-1c0a-4af2-b687-7fe6971fcf84",
    "env": {
      "COOKIE_KEY": "7AaXi7KZDeWu4FotDN+7wi6RbHWywW6ClN2qap78cSg=",
      "DATABASE_URL": "postgres://975487bc5a45fc80ade5765db668d873:46aabd4df6f39a1a23e63d9a76dece78@leader.postgres.discoverd:5432/6e63ce03061c8788f766994d9a9be92a",
      "FLYNN_POSTGRES": "postgres",
      "PGDATABASE": "6e63ce03061c8788f766994d9a9be92a",
      "PGHOST": "leader.postgres.discoverd",
      "PGPASSWORD": "46aabd4df6f39a1a23e63d9a76dece78",
      "PGUSER": "975487bc5a45fc80ade5765db668d873",
      "TLSCERT": "-----BEGIN CERTIFICATE-----\nMIIDSjCCAjSgAwIBAgIQDH8zACle7B+pqJB3QfwthDALBgkqhkiG9w0BAQswLTEO\nMAwGA1UEChMFRmx5bm4xGzAZBgNVBAsTEkZseW5uIEVwaGVtZXJhbCBDQTAeFw0x\nNTEyMTYwMjIwNDJaFw0yMDEyMTQwMjIwNDJaMC0xDjAMBgNVBAoTBUZseW5uMRsw\nGQYDVQQDExJkZXYubG9jYWxmbHlubi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQC3NsEp+fYsbgr94cOBVnSK3ZcHBobwcCdzNvNqh6y1V9wn7x4C\nS6Rk0pn1Zz/FS1F+uA8KMVUzwWCCSl/jW4BNAqbLbVi4I5oap8mCDQDt+MDPZyn5\noOCn6vj5OCJXva3RmhJRocF88oXcH4lXWUyfKMOb+0/+tRC7lg5gqBxnvkiJrW7D\nyq0+FoZViBgrN3JcxAgWFx9FK8sITzWpgPqJvJiS4Ry54o8hBTQCKyFCHTwdoufd\nKyBwm6tNn/KLhUXcAEsBD3qvdI0AEX9rssGxVErCualgPaBAvDCFz2H+wwvKnHpK\nCcwIflE04YYOjCHphq9j7FIzd5/+fp0Ng53pAgMBAAGjajBoMA4GA1UdDwEB/wQE\nAwIAoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMDMGA1UdEQQs\nMCqCEmRldi5sb2NhbGZseW5uLmNvbYIUKi5kZXYubG9jYWxmbHlubi5jb20wCwYJ\nKoZIhvcNAQELA4IBAQAIR7k3teJZ5c2eLUlcfLSZiigz+RaZeqxHHt6fZXA9P9XS\n+m8NSIUffdfOXaXjokYTYc91RqGhxVGUUopEA7P64QkEJRpu4qcfq6CXxDoExyf5\ncumrzrBZmTvExqlGBbyviz7T4c7IZAe0U3zYCoaVd1Ss84mY8DA37oqM2Y1pH7Tc\nzwBprXDqAfwt70xoYFWQZoK6SbS+qCQkc+0K9HW0ZzGRwqMTbAoPOTn9D2c9f9o5\nuM9KkiTuvY3T1Kimb848IVvhBfEofeHXZspc9HWqfLJM8wIpMJCaDwcDBN+yFku6\nqqaRa9SXkZLNrB+eCqsVOUzBsmK+sgUL6jmM+Pfc\n-----END CERTIFICATE-----\n",
      "TLSKEY": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAtzbBKfn2LG4K/eHDgVZ0it2XBwaG8HAnczbzaoestVfcJ+8e\nAkukZNKZ9Wc/xUtRfrgPCjFVM8Fggkpf41uATQKmy21YuCOaGqfJgg0A7fjAz2cp\n+aDgp+r4+TgiV72t0ZoSUaHBfPKF3B+JV1lMnyjDm/tP/rUQu5YOYKgcZ75Iia1u\nw8qtPhaGVYgYKzdyXMQIFhcfRSvLCE81qYD6ibyYkuEcueKPIQU0AishQh08HaLn\n3SsgcJurTZ/yi4VF3ABLAQ96r3SNABF/a7LBsVRKwrmpYD2gQLwwhc9h/sMLypx6\nSgnMCH5RNOGGDowh6YavY+xSM3ef/n6dDYOd6QIDAQABAoIBAGEZTsRdal9frsmg\n1gl89WUHTVx21BsnhXDlZZpG73xoZRBxBPl4d1bL2raZks2QPk+nYqknPh2g1fIX\nUrxfKR8nUZisigGFNM39sKkRFTYJyL3i0fcvkQDNYkhKvMC9kRptylmjHbWHnvPr\nbtFxTU9ovkqzpVC7S3Pvcg0961f7NgUqM5bfzWlgZYDATtNTpngc6/8bUgG8xhdL\nLsfd84FJcC/0k09Gxu5GPuwvcws1Iag39+Rkz2G9KmOEnN8dywLLedWPQ8A6fIjP\ngSSYTPWRBEF7V6/yRb7a0z1M+SJUrA0vDYJsa2P2ry0YslJi1O9ipOeBmmCddVjN\n21SywoECgYEA45mlj46ySdKhB7iRDaD+M1Ffo9vaCniGjZxEH+sPWXet3gr/hTGN\nmsQngU66v/Gj6clTSOlkOImQHT7Q0/GeHTDEAVEXJNTX8NllElJe6LjOUyqc7kUN\n/zASp3YOHWVC8y3cNy8ScydUhO5hkaVJcpqO0RWxnWnqV6m2OOtcyvkCgYEAzhNA\ntxEpP/7qMz2/Kx7LflRXtMAIfecIlLmq4mw0pnMCebCCXOp7/Lw7VOLIz1JfzGtW\n2b6BTspzbTW16rjedA65+Pj/EdmXxtL7KIfDlnmab7cSQ3Vi/Tmbza4Z+etZ8Yy2\nRwA2Ni8IPS2y8NukcAJH+fGjIAbS/FqgR6KJtnECgYB955scpRWfnPMTsFgdr/ev\nL862eIJP1Iiqgc110rS1C22VLYRYjCcHfIdWEtVgJS5Fv+dgqCuW0xJz+zHObRTI\nlRd4mwEwkMW8KKau0f5KwyDwBNy3OmAZ0OAg3z/Dpya4G6B8rn+IUDODLdOvnD3b\nNgDXTSbqK5NFV07Egf7dEQKBgHdthvrRckOJW3dY2JqH3U0YWkABbqpwo3N16sgQ\nB69TReL6XYK1zidZe1UlnVUxmx1gM9Q7aLsd7ykikIw4mYtPIY5d140juqdajH4f\nuEVTsiH+ShJYTIcOxPG9bYZ+VAD+GIEraT+boD28Z1DZKgJUABylYnFkIxBnAS6i\nzwaxAoGAa3TWYsK0VUrn1EwlI9zzCLW8myjzyPLgpEQ6264ETNSw4K42M2fthcS4\nzlVMrPJ5yhftxCkxbXNFp74lt5Nhryv9K3RWdnL6aXoxR4juhfXBPUBPK+bk/g6F\nohfHj/PeDJFBe0MWC1Q4x7jbeHgqXQ9q7mun+9xH8ZziMdknHc4=\n-----END RSA PRIVATE KEY-----\n"
    },
    "processes": {
      "app": {
        "cmd": [
          "-http-port",
          "80",
          "-https-port",
          "443",
          "-tcp-range-start",
          "3000",
          "-tcp-range-end",
          "3500"
        ],
        "omni": true,
        "host_network": true,
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:47.029321Z"
  },
  {
    "id": "53815de9-8a78-4ab1-909e-a465242f57e7",
    "artifact": "a436a3d6-a2c5-430e-961d-96518dacddff",
    "env": {
      "DATABASE_URL": "postgres://8a4906b3587c5faabef321d34936ac3a:6ac0c933a4abba2a2f8ec0e87ccb8f68@leader.postgres.discoverd:5432/d2f1b01c72f997dc2dbc0e1bc6c4c6ec",
      "FLYNN_POSTGRES": "postgres",
      "PGDATABASE": "d2f1b01c72f997dc2dbc0e1bc6c4c6ec",
      "PGHOST": "leader.postgres.discoverd",
      "PGPASSWORD": "6ac0c933a4abba2a2f8ec0e87ccb8f68",
      "PGUSER": "8a4906b3587c5faabef321d34936ac3a"
    },
    "processes": {
      "web": {
        "ports": [
          {
            "port": 80,
            "proto": "tcp"
          }
        ],
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:46.602952Z"
  },
  {
    "id": "dd6a3a63-a920-4954-8a0b-7f6e9e4e1b79",
    "artifact": "b2b4c646-aef0-4b3b-a501-cd282c31299e",
    "env": {
      "DISCOVERD": "none",
      "DISCOVERD_PEERS": "10.0.2.15:1111,"
    },
    "processes": {
      "app": {
        "ports": [
          {
            "port": 1111,
            "proto": "tcp"
          },
          {
            "port": 53,
            "proto": "tcp"
          }
        ],
        "data": true,
        "omni": true,
        "host_network": true,
        "service": "discoverd",
        "resurrect": true,
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:44.186154Z"
  },
  {
    "id": "ce17ef61-be09-4f60-b12d-d8aa87eb0a82",
    "artifact": "172410eb-4e75-4597-a366-efe596b0af27",
    "env": {
      "DISCOVERD": "none"
    },
    "processes": {
      "app": {
        "ports": [
          {
            "port": 5002,
            "proto": "tcp"
          }
        ],
        "omni": true,
        "host_network": true,
        "resurrect": true,
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:44.166269Z"
  },
  {
    "id": "6244ff18-44a3-4db1-a0d4-ceab0abded24",
    "artifact": "e3e69c33-dd0c-4381-b9a9-30cf0c417ce7",
    "env": {
      "FLYNN_POSTGRES": "postgres",
      "PGDATABASE": "postgres",
      "PGHOST": "leader.postgres.discoverd",
      "PGPASSWORD": "2b12bf3d5a0bfae0ed5723947e21af7b",
      "PGUSER": "flynn"
    },
    "processes": {
      "postgres": {
        "cmd": [
          "postgres"
        ],
        "env": {
          "SINGLETON": "true"
        },
        "ports": [
          {
            "port": 5432,
            "proto": "tcp"
          }
        ],
        "data": true,
        "service": "postgres",
        "resurrect": true,
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      },
      "web": {
        "cmd": [
          "api"
        ],
        "ports": [
          {
            "port": 80,
            "proto": "tcp"
          }
        ],
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:44.146289Z"
  },
  {
    "id": "9afcffd7-6278-47c9-a2f0-1326b42b4a03",
    "artifact": "c8400666-26d9-493f-9630-3d34045f8498",
    "env": {
      "AUTH_KEY": "s3cr3t",
      "CA_CERT": "-----BEGIN CERTIFICATE-----\nMIIDBDCCAe6gAwIBAgIRAP6BP9TQKrq0l1CCcSI4gb4wCwYJKoZIhvcNAQELMC0x\nDjAMBgNVBAoTBUZseW5uMRswGQYDVQQLExJGbHlubiBFcGhlbWVyYWwgQ0EwHhcN\nMTUxMjE2MDIyMDQxWhcNMjAxMjE0MDIyMDQxWjAtMQ4wDAYDVQQKEwVGbHlubjEb\nMBkGA1UECxMSRmx5bm4gRXBoZW1lcmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAn+KUccUSVeWoJZTlOxqaiXacGECGAPETxfmnL9ep1rA/4DWi\n2OTpZoeSFdyL1yV5KJxPkq6XMNyl/BR72SOomCmoFRnZzDih//+gfuJAFVGaF1j9\nFOIX+VyO8jyFzqk2vZg9R+ncRyFgjEgpHn0gDdt4WLWDxPpfFMClEZU6Mpu02ngj\n1kmlNgzajl71qhhKtrv3W7ACKh6O3fMSBg4n/ZiVnVQjdkejHskV5R43FH4bpZzP\nhb82rI6FNBNOCKqwbQ/AdGGVvJSzXPypvzCMkGghhx8pckoZw7DONXhSojfIO6Kt\nlxUYO1Odmnb+nyJjxGyidSperhfm+CuSFPn2BwIDAQABoyMwITAOBgNVHQ8BAf8E\nBAMCAAYwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQsDggEBAGvEqq1ko+pE\nS5RBHmTWW6mJom9rA+aii9n88lMhbdjikeVFkQkH6Qi8zR5O4hCdDUC4qYUp+rIF\nZ4XZ9Ogl4CcR1gEPGu1KX2EnjVKloS1LThugCuP5YJgQ5qoMsQs681s1ZpPd/0gh\ntjASQy1Y72wY1SxVWqJzkuzf8mMDg52I4wwD9Eif2zq1/+sJa9mdilhvd0Wp+hDV\n6qN6xbH65V2VKwDrkD2p7CIn3NmknYhmw+obezqRkSl6N5Is/QPVg59bOu0evWfS\nDyaOehm1EmmRVehNj8IR0noFwUMbIASnpTescLd4Nz9pEjbgHQ+m6Swe8hnaZ3dd\n1TvxABm/4VY=\n-----END CERTIFICATE-----\n",
      "DATABASE_URL": "postgres://df60a79e03b92c3157aaad47dab10278:623f1831ed89cd811ea1da0fb985bd81@leader.postgres.discoverd:5432/33c5b220c9eed7307d65a2b367236d10",
      "DEFAULT_ROUTE_DOMAIN": "dev.localflynn.com",
      "FLYNN_POSTGRES": "postgres",
      "NAME_SEED": "e53b1785be43a8569707",
      "PGDATABASE": "33c5b220c9eed7307d65a2b367236d10",
      "PGHOST": "leader.postgres.discoverd",
      "PGPASSWORD": "623f1831ed89cd811ea1da0fb985bd81",
      "PGUSER": "df60a79e03b92c3157aaad47dab10278"
    },
    "processes": {
      "scheduler": {
        "cmd": [
          "scheduler"
        ],
        "ports": [
          {
            "port": 0,
            "proto": "tcp"
          }
        ],
        "omni": true,
        "service": "controller-scheduler",
        "resurrect": true,
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      },
      "web": {
        "cmd": [
          "controller"
        ],
        "ports": [
          {
            "port": 80,
            "proto": "tcp"
          }
        ],
        "resurrect": true,
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      },
      "worker": {
        "cmd": [
          "worker"
        ],
        "ports": [
          {
            "port": 0,
            "proto": "tcp"
          }
        ],
        "resources": {
          "max_fd": {
            "request": 10000,
            "limit": 10000
          },
          "memory": {
            "request": 1073741824,
            "limit": 1073741824
          }
        }
      }
    },
    "created_at": "2015-12-16T02:20:44.112693Z"
  }
]

§ List app releases

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/releases HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[

]

§ Resource Request

https://flynn.io/schema/controller/resource_req#
Property Type Description
apps array of uuid strings
config object

§ Create resource

 

 

Request

POST /providers/0952f692-2667-4be0-a159-9d68382a262c/resources HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "config": {

  }
}

Response

Content-Type: application/json
{
  "id": "100c3daa-333b-4f46-92bf-414745dc974d",
  "provider": "0952f692-2667-4be0-a159-9d68382a262c",
  "env": {
    "some": "data"
  },
  "created_at": "2015-12-16T02:21:16.833363Z"
}

§ Resource

https://flynn.io/schema/controller/resource#
Property Type Description
id uuid string unique identifier
provider uuid string unique identifier
external_id uuid string unique identifier
env object environment variables
apps array of uuid strings
created_at date-time string object creation timestamp

§ Put resource

 

 

Request

PUT /providers/0952f692-2667-4be0-a159-9d68382a262c/resources/cc9f3342-bed0-4ed3-840e-c462e05808c6 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
  "provider": "0952f692-2667-4be0-a159-9d68382a262c",
  "external_id": "/foo/bar",
  "env": {
    "FOO": "BAR"
  },
  "apps": [
    "adcccdb4-b1a4-4209-a03a-762f4e021632"
  ]
}

Response

Content-Type: application/json
{
  "id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
  "provider": "0952f692-2667-4be0-a159-9d68382a262c",
  "external_id": "/foo/bar",
  "env": {
    "FOO": "BAR"
  },
  "apps": [
    "adcccdb4-b1a4-4209-a03a-762f4e021632"
  ],
  "created_at": "2015-12-16T02:21:16.838613Z"
}

§ List app resources

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/resources HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
    "provider": "0952f692-2667-4be0-a159-9d68382a262c",
    "external_id": "/foo/bar",
    "env": {
      "FOO": "BAR"
    },
    "apps": [
      "adcccdb4-b1a4-4209-a03a-762f4e021632"
    ],
    "created_at": "2015-12-16T02:21:16.838613Z"
  }
]

§ Get resource

 

 

Request

GET /providers/0952f692-2667-4be0-a159-9d68382a262c/resources/100c3daa-333b-4f46-92bf-414745dc974d HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": "100c3daa-333b-4f46-92bf-414745dc974d",
  "provider": "0952f692-2667-4be0-a159-9d68382a262c",
  "env": {
    "some": "data"
  },
  "created_at": "2015-12-16T02:21:16.833363Z"
}

§ List resources

 

 

Request

GET /providers/0952f692-2667-4be0-a159-9d68382a262c/resources HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
    "provider": "0952f692-2667-4be0-a159-9d68382a262c",
    "external_id": "/foo/bar",
    "env": {
      "FOO": "BAR"
    },
    "apps": [
      "adcccdb4-b1a4-4209-a03a-762f4e021632"
    ],
    "created_at": "2015-12-16T02:21:16.838613Z"
  },
  {
    "id": "100c3daa-333b-4f46-92bf-414745dc974d",
    "provider": "0952f692-2667-4be0-a159-9d68382a262c",
    "env": {
      "some": "data"
    },
    "created_at": "2015-12-16T02:21:16.833363Z"
  }
]

§ Delete resource

 

 

Request

DELETE /providers/0952f692-2667-4be0-a159-9d68382a262c/resources/ HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/plain; charset=utf-8

§ Route

https://flynn.io/schema/controller/route#
Property Type Description
id uuid string unique identifier
parent_ref uuid string unique identifier
type string http tcp
service uuid string unique identifier
domain string Domain name of this Route. It is only used for HTTP routes.
tls_cert string Deprecated in favor of certificate.
tls_key string Deprecated in favor of certificate.
certificate object
certificate.id uuid string unique identifier
certificate.cert string TLS public certificate.
certificate.key string TLS private key.
certificate.routes array of uuid strings List of route ids assigned to this certificate.
certificate.created_at date-time string object creation timestamp
certificate.updated_at date-time string object last updated timestamp
path string Optional path to route to this service, HTTP routes only and exclusive with TLS options.
sticky boolean Whether or not to use sticky sessions for this route. It is only used for HTTP routes.
leader boolean Whether to route traffic to just the leader or all instances.
drain_backends boolean Whether to trigger drain events when backends shutdown.
port integer The TCP port to listen on for TCP Routes.
created_at date-time string object creation timestamp
updated_at date-time string object last updated timestamp

§ Create route

 

 

Request

POST /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/routes HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "type": "http",
  "service": "my-app-1450232456657062340-web",
  "created_at": "0001-01-01T00:00:00Z",
  "updated_at": "0001-01-01T00:00:00Z",
  "domain": "http://example.com"
}

Response

Content-Type: application/json
{
  "type": "http",
  "id": "5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543",
  "parent_ref": "controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632",
  "service": "my-app-1450232456657062340-web",
  "created_at": "2015-12-16T02:21:06.704111Z",
  "updated_at": "2015-12-16T02:21:06.704111Z",
  "domain": "http://example.com"
}

§ Get route

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/routes/http/5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "type": "http",
  "id": "5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543",
  "parent_ref": "controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632",
  "service": "my-app-1450232456657062340-web",
  "created_at": "2015-12-16T02:21:06.704111Z",
  "updated_at": "2015-12-16T02:21:06.704111Z",
  "domain": "http://example.com",
  "path": "/"
}

§ Update route

 

 

Request

PUT /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/routes/http/5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "type": "http",
  "id": "5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543",
  "parent_ref": "controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632",
  "service": "my-app-1450232456657062340-other",
  "created_at": "2015-12-16T02:21:06.704111Z",
  "updated_at": "2015-12-16T02:21:06.704111Z",
  "domain": "http://example.com",
  "sticky": true,
  "path": "/"
}

Response

Content-Type: application/json
{
  "type": "http",
  "id": "5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543",
  "parent_ref": "controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632",
  "service": "my-app-1450232456657062340-other",
  "created_at": "2015-12-16T02:21:06.704111Z",
  "updated_at": "2015-12-16T02:21:06.71424Z",
  "domain": "http://example.com",
  "sticky": true,
  "path": "/"
}

§ List routes

 

 

Request

GET /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/routes HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "type": "http",
    "id": "5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543",
    "parent_ref": "controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632",
    "service": "my-app-1450232456657062340-other",
    "created_at": "2015-12-16T02:21:06.704111Z",
    "updated_at": "2015-12-16T02:21:06.71424Z",
    "domain": "http://example.com",
    "sticky": true,
    "path": "/"
  },
  {
    "type": "http",
    "id": "32cd199d-9e83-48e6-96c2-05ab7167eab8",
    "parent_ref": "controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632",
    "service": "my-app-1450232456657062340-web",
    "created_at": "2015-12-16T02:20:56.661301Z",
    "updated_at": "2015-12-16T02:20:56.661301Z",
    "domain": "my-app-1450232456657062340.dev.localflynn.com",
    "path": "/"
  }
]

§ Delete route

 

 

Request

DELETE /apps/adcccdb4-b1a4-4209-a03a-762f4e021632/routes/http/5bfb9c8b-ae1f-4a5a-af0c-94fa2996d543 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: text/plain; charset=utf-8

§ Error

https://flynn.io/schema/controller/error#
Property Type Description
code string not_found object_not_found object_exists syntax_error validation_error unknown_error
message string
detail object

§ Create invalid app

 

 

Request

POST /apps HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "name": "this is not valid",
  "meta": null
}

Response

Content-Type: application/json
{
  "code": "validation_error",
  "message": "name String must match the pattern: \"^[a-z\\d]+(-[a-z\\d]+)*$\".",
  "detail": {
    "field": "name"
  },
  "retry": false
}

§ Event

https://flynn.io/schema/controller/event#
Property Type Description
id integer
app uuid string unique identifier
object_type string app app_deletion app_garbage_collection app_release artifact cluster_backup deployment domain_migration job key key_deletion provider release release_deletion resource resource_app_deletion resource_deletion route route_deletion sink sink_deletion scale
object_id uuid string unique identifier
data object
created_at date-time string object creation timestamp

§ Stream events

Params

Property Type Description
app_id uuid string unique identifier
object_types string app app_deletion app_garbage_collection app_release artifact cluster_backup deployment domain_migration job key key_deletion provider release release_deletion resource resource_app_deletion resource_deletion route route_deletion sink sink_deletion scale
past boolean Return events occurring before now
count integer Limit the number of past events to return

 

 

Request

GET /events?count=10&past=true HTTP/1.1
Accept: text/event-stream
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
Last-Event-Id: 0

Response

Content-Type: text/event-stream; charset=utf-8
data: {"id":102,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-26c0ea34-e655-40d2-8d5e-c5694470af6c","data":{"id":"host-26c0ea34-e655-40d2-8d5e-c5694470af6c","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","meta":{"bread":"with hemp"},"type":"foo","state":"up","release":"47154f8c-a604-469d-ae6a-e431990ddee8","created_at":"2015-12-16T02:21:06.765744Z","updated_at":"2015-12-16T02:21:07.689399Z"},"created_at":"2015-12-16T02:21:07.691418Z"}

data: {"id":103,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-26c0ea34-e655-40d2-8d5e-c5694470af6c","data":{"id":"host-26c0ea34-e655-40d2-8d5e-c5694470af6c","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","meta":{"bread":"with hemp"},"type":"foo","state":"down","release":"47154f8c-a604-469d-ae6a-e431990ddee8","created_at":"2015-12-16T02:21:06.765744Z","updated_at":"2015-12-16T02:21:07.704057Z","exit_status":2},"created_at":"2015-12-16T02:21:07.707269Z"}

data: {"id":104,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c","data":{"id":"host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","meta":{"bread":"with hemp"},"type":"foo","state":"starting","release":"47154f8c-a604-469d-ae6a-e431990ddee8","created_at":"2015-12-16T02:21:07.710312Z","updated_at":"2015-12-16T02:21:07.710312Z"},"created_at":"2015-12-16T02:21:07.711479Z"}

data: {"id":105,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c","data":{"id":"host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","meta":{"bread":"with hemp"},"type":"foo","state":"up","release":"47154f8c-a604-469d-ae6a-e431990ddee8","created_at":"2015-12-16T02:21:07.710312Z","updated_at":"2015-12-16T02:21:08.529747Z"},"created_at":"2015-12-16T02:21:08.531191Z"}

data: {"id":106,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c","data":{"id":"host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","meta":{"bread":"with hemp"},"type":"foo","state":"down","release":"47154f8c-a604-469d-ae6a-e431990ddee8","created_at":"2015-12-16T02:21:07.710312Z","updated_at":"2015-12-16T02:21:08.534753Z","exit_status":2},"created_at":"2015-12-16T02:21:08.5359Z"}

data: {"id":107,"object_type":"release","object_id":"77e9e956-ecf9-427f-a031-222c2f394fb8","data":{"id":"77e9e956-ecf9-427f-a031-222c2f394fb8","env":{"some":"info"},"artifact":"c1889f55-c244-43ce-af70-ead357daa6ec","processes":{"foo":{"cmd":["ls","-l"],"env":{"BAR":"baz"},"resources":{"max_fd":{"limit":10000,"request":10000},"memory":{"limit":1073741824,"request":1073741824}}}},"created_at":"2015-12-16T02:21:16.775714Z"},"created_at":"2015-12-16T02:21:16.775714Z"}

data: {"id":108,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"deployment","object_id":"aab1ee14-776d-4ba4-979b-1b4bda2d9b35","data":{"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","status":"pending","release":"77e9e956-ecf9-427f-a031-222c2f394fb8","deployment":"aab1ee14-776d-4ba4-979b-1b4bda2d9b35"},"created_at":"2015-12-16T02:21:16.784374Z"}

data: {"id":109,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-40cc2d07-7a48-4fda-9790-ba9768a3f616","data":{"id":"host-40cc2d07-7a48-4fda-9790-ba9768a3f616","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","state":"starting","release":"77e9e956-ecf9-427f-a031-222c2f394fb8","created_at":"2015-12-16T02:21:16.799294Z","updated_at":"2015-12-16T02:21:16.799294Z"},"created_at":"2015-12-16T02:21:16.806296Z"}

data: {"id":110,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-40cc2d07-7a48-4fda-9790-ba9768a3f616","data":{"id":"host-40cc2d07-7a48-4fda-9790-ba9768a3f616","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","state":"down","release":"77e9e956-ecf9-427f-a031-222c2f394fb8","created_at":"2015-12-16T02:21:16.799294Z","updated_at":"2015-12-16T02:21:16.811094Z"},"created_at":"2015-12-16T02:21:16.812493Z"}

data: {"id":111,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"resource","object_id":"cc9f3342-bed0-4ed3-840e-c462e05808c6","data":{"id":"cc9f3342-bed0-4ed3-840e-c462e05808c6","env":{"FOO":"BAR"},"apps":["adcccdb4-b1a4-4209-a03a-762f4e021632"],"provider":"0952f692-2667-4be0-a159-9d68382a262c","created_at":"2015-12-16T02:21:16.838613Z","external_id":"/foo/bar"},"created_at":"2015-12-16T02:21:16.838613Z"}

data: {"id":112,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"deployment","object_id":"aab1ee14-776d-4ba4-979b-1b4bda2d9b35","data":{"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","status":"running","release":"77e9e956-ecf9-427f-a031-222c2f394fb8","job_type":"foo","job_state":"starting","deployment":"aab1ee14-776d-4ba4-979b-1b4bda2d9b35"},"created_at":"2015-12-16T02:21:17.017287Z"}

data: {"id":113,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"scale","object_id":"adcccdb4-b1a4-4209-a03a-762f4e021632:77e9e956-ecf9-427f-a031-222c2f394fb8","data":{"release":"77e9e956-ecf9-427f-a031-222c2f394fb8","processes":{"foo":1}},"created_at":"2015-12-16T02:21:17.018787Z"}

data: {"id":114,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"job","object_id":"host-8ba33370-e3b5-4b09-8eaa-629279403202","data":{"id":"host-8ba33370-e3b5-4b09-8eaa-629279403202","app":"adcccdb4-b1a4-4209-a03a-762f4e021632","meta":{"bread":"with hemp"},"type":"foo","state":"starting","release":"77e9e956-ecf9-427f-a031-222c2f394fb8","created_at":"2015-12-16T02:21:17.062294Z","updated_at":"2015-12-16T02:21:17.062294Z"},"created_at":"2015-12-16T02:21:17.064426Z"}

data: {"id":115,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"route_deletion","object_id":"32cd199d-9e83-48e6-96c2-05ab7167eab8","data":{"id":"32cd199d-9e83-48e6-96c2-05ab7167eab8","path":"/","type":"http","domain":"my-app-1450232456657062340.dev.localflynn.com","service":"my-app-1450232456657062340-web","created_at":"2015-12-16T02:20:56.661301Z","parent_ref":"controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632","updated_at":"2015-12-16T02:20:56.661301Z"},"created_at":"2015-12-16T02:21:17.532255Z"}

data: {"id":116,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"resource_deletion","object_id":"cc9f3342-bed0-4ed3-840e-c462e05808c6","data":{"id":"cc9f3342-bed0-4ed3-840e-c462e05808c6","env":{"FOO":"BAR"},"apps":["adcccdb4-b1a4-4209-a03a-762f4e021632"],"provider":"0952f692-2667-4be0-a159-9d68382a262c","created_at":"2015-12-16T02:21:16.838613Z","external_id":"/foo/bar"},"created_at":"2015-12-16T02:21:17.537413Z"}

data: {"id":117,"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","object_type":"app_deletion","object_id":"adcccdb4-b1a4-4209-a03a-762f4e021632","data":{"error":"","app_deletion":{"app":"adcccdb4-b1a4-4209-a03a-762f4e021632","deleted_routes":[{"id":"32cd199d-9e83-48e6-96c2-05ab7167eab8","path":"/","type":"http","domain":"my-app-1450232456657062340.dev.localflynn.com","service":"my-app-1450232456657062340-web","created_at":"2015-12-16T02:20:56.661301Z","parent_ref":"controller/apps/adcccdb4-b1a4-4209-a03a-762f4e021632","updated_at":"2015-12-16T02:20:56.661301Z"}],"deleted_resources":[{"id":"cc9f3342-bed0-4ed3-840e-c462e05808c6","env":{"FOO":"BAR"},"apps":["adcccdb4-b1a4-4209-a03a-762f4e021632"],"provider":"0952f692-2667-4be0-a159-9d68382a262c","created_at":"2015-12-16T02:21:16.838613Z","external_id":"/foo/bar"}]}},"created_at":"2015-12-16T02:21:17.564196Z"}


§ List events

Params

Property Type Description
app_id uuid string unique identifier
object_types string app app_deletion app_garbage_collection app_release artifact cluster_backup deployment domain_migration job key key_deletion provider release release_deletion resource resource_app_deletion resource_deletion route route_deletion sink sink_deletion scale
before_id integer Only return events occurring before specified event ID
since_id integer Only return events occurring after specified event ID
count integer Limit the number of events to return

 

 

Request

GET /events?count=10 HTTP/1.1
Accept: application/json
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
[
  {
    "id": 111,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "resource",
    "object_id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
    "data": {
      "id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
      "env": {
        "FOO": "BAR"
      },
      "apps": [
        "adcccdb4-b1a4-4209-a03a-762f4e021632"
      ],
      "provider": "0952f692-2667-4be0-a159-9d68382a262c",
      "created_at": "2015-12-16T02:21:16.838613Z",
      "external_id": "/foo/bar"
    },
    "created_at": "2015-12-16T02:21:16.838613Z"
  },
  {
    "id": 110,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "job",
    "object_id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
    "data": {
      "id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "state": "down",
      "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
      "created_at": "2015-12-16T02:21:16.799294Z",
      "updated_at": "2015-12-16T02:21:16.811094Z"
    },
    "created_at": "2015-12-16T02:21:16.812493Z"
  },
  {
    "id": 109,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "job",
    "object_id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
    "data": {
      "id": "host-40cc2d07-7a48-4fda-9790-ba9768a3f616",
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "state": "starting",
      "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
      "created_at": "2015-12-16T02:21:16.799294Z",
      "updated_at": "2015-12-16T02:21:16.799294Z"
    },
    "created_at": "2015-12-16T02:21:16.806296Z"
  },
  {
    "id": 108,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "deployment",
    "object_id": "aab1ee14-776d-4ba4-979b-1b4bda2d9b35",
    "data": {
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "status": "pending",
      "release": "77e9e956-ecf9-427f-a031-222c2f394fb8",
      "deployment": "aab1ee14-776d-4ba4-979b-1b4bda2d9b35"
    },
    "created_at": "2015-12-16T02:21:16.784374Z"
  },
  {
    "id": 107,
    "object_type": "release",
    "object_id": "77e9e956-ecf9-427f-a031-222c2f394fb8",
    "data": {
      "id": "77e9e956-ecf9-427f-a031-222c2f394fb8",
      "env": {
        "some": "info"
      },
      "artifact": "c1889f55-c244-43ce-af70-ead357daa6ec",
      "processes": {
        "foo": {
          "cmd": [
            "ls",
            "-l"
          ],
          "env": {
            "BAR": "baz"
          },
          "resources": {
            "max_fd": {
              "limit": 10000,
              "request": 10000
            },
            "memory": {
              "limit": 1073741824,
              "request": 1073741824
            }
          }
        }
      },
      "created_at": "2015-12-16T02:21:16.775714Z"
    },
    "created_at": "2015-12-16T02:21:16.775714Z"
  },
  {
    "id": 106,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "job",
    "object_id": "host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c",
    "data": {
      "id": "host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c",
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "meta": {
        "bread": "with hemp"
      },
      "type": "foo",
      "state": "down",
      "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
      "created_at": "2015-12-16T02:21:07.710312Z",
      "updated_at": "2015-12-16T02:21:08.534753Z",
      "exit_status": 2
    },
    "created_at": "2015-12-16T02:21:08.5359Z"
  },
  {
    "id": 105,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "job",
    "object_id": "host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c",
    "data": {
      "id": "host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c",
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "meta": {
        "bread": "with hemp"
      },
      "type": "foo",
      "state": "up",
      "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
      "created_at": "2015-12-16T02:21:07.710312Z",
      "updated_at": "2015-12-16T02:21:08.529747Z"
    },
    "created_at": "2015-12-16T02:21:08.531191Z"
  },
  {
    "id": 104,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "job",
    "object_id": "host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c",
    "data": {
      "id": "host-e6582097-9aee-4b6d-94fc-83c0a3d1b51c",
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "meta": {
        "bread": "with hemp"
      },
      "type": "foo",
      "state": "starting",
      "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
      "created_at": "2015-12-16T02:21:07.710312Z",
      "updated_at": "2015-12-16T02:21:07.710312Z"
    },
    "created_at": "2015-12-16T02:21:07.711479Z"
  },
  {
    "id": 103,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "job",
    "object_id": "host-26c0ea34-e655-40d2-8d5e-c5694470af6c",
    "data": {
      "id": "host-26c0ea34-e655-40d2-8d5e-c5694470af6c",
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "meta": {
        "bread": "with hemp"
      },
      "type": "foo",
      "state": "down",
      "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
      "created_at": "2015-12-16T02:21:06.765744Z",
      "updated_at": "2015-12-16T02:21:07.704057Z",
      "exit_status": 2
    },
    "created_at": "2015-12-16T02:21:07.707269Z"
  },
  {
    "id": 102,
    "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
    "object_type": "job",
    "object_id": "host-26c0ea34-e655-40d2-8d5e-c5694470af6c",
    "data": {
      "id": "host-26c0ea34-e655-40d2-8d5e-c5694470af6c",
      "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
      "meta": {
        "bread": "with hemp"
      },
      "type": "foo",
      "state": "up",
      "release": "47154f8c-a604-469d-ae6a-e431990ddee8",
      "created_at": "2015-12-16T02:21:06.765744Z",
      "updated_at": "2015-12-16T02:21:07.689399Z"
    },
    "created_at": "2015-12-16T02:21:07.691418Z"
  }
]

§ Get event

 

 

Request

GET /events/111 HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/json
{
  "id": 111,
  "app": "adcccdb4-b1a4-4209-a03a-762f4e021632",
  "object_type": "resource",
  "object_id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
  "data": {
    "id": "cc9f3342-bed0-4ed3-840e-c462e05808c6",
    "env": {
      "FOO": "BAR"
    },
    "apps": [
      "adcccdb4-b1a4-4209-a03a-762f4e021632"
    ],
    "provider": "0952f692-2667-4be0-a159-9d68382a262c",
    "created_at": "2015-12-16T02:21:16.838613Z",
    "external_id": "/foo/bar"
  },
  "created_at": "2015-12-16T02:21:16.838613Z"
}

§ CA Cert

§ Get CA Cert

 

 

Request

GET /ca-cert HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Type: application/x-x509-ca-cert
-----BEGIN CERTIFICATE-----
MIIDBDCCAe6gAwIBAgIRAP6BP9TQKrq0l1CCcSI4gb4wCwYJKoZIhvcNAQELMC0x
DjAMBgNVBAoTBUZseW5uMRswGQYDVQQLExJGbHlubiBFcGhlbWVyYWwgQ0EwHhcN
MTUxMjE2MDIyMDQxWhcNMjAxMjE0MDIyMDQxWjAtMQ4wDAYDVQQKEwVGbHlubjEb
MBkGA1UECxMSRmx5bm4gRXBoZW1lcmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAn+KUccUSVeWoJZTlOxqaiXacGECGAPETxfmnL9ep1rA/4DWi
2OTpZoeSFdyL1yV5KJxPkq6XMNyl/BR72SOomCmoFRnZzDih//+gfuJAFVGaF1j9
FOIX+VyO8jyFzqk2vZg9R+ncRyFgjEgpHn0gDdt4WLWDxPpfFMClEZU6Mpu02ngj
1kmlNgzajl71qhhKtrv3W7ACKh6O3fMSBg4n/ZiVnVQjdkejHskV5R43FH4bpZzP
hb82rI6FNBNOCKqwbQ/AdGGVvJSzXPypvzCMkGghhx8pckoZw7DONXhSojfIO6Kt
lxUYO1Odmnb+nyJjxGyidSperhfm+CuSFPn2BwIDAQABoyMwITAOBgNVHQ8BAf8E
BAMCAAYwDwYDVR0TAQH/BAUwAwEB/zALBgkqhkiG9w0BAQsDggEBAGvEqq1ko+pE
S5RBHmTWW6mJom9rA+aii9n88lMhbdjikeVFkQkH6Qi8zR5O4hCdDUC4qYUp+rIF
Z4XZ9Ogl4CcR1gEPGu1KX2EnjVKloS1LThugCuP5YJgQ5qoMsQs681s1ZpPd/0gh
tjASQy1Y72wY1SxVWqJzkuzf8mMDg52I4wwD9Eif2zq1/+sJa9mdilhvd0Wp+hDV
6qN6xbH65V2VKwDrkD2p7CIn3NmknYhmw+obezqRkSl6N5Is/QPVg59bOu0evWfS
DyaOehm1EmmRVehNj8IR0noFwUMbIASnpTescLd4Nz9pEjbgHQ+m6Swe8hnaZ3dd
1TvxABm/4VY=
-----END CERTIFICATE-----

§ Cluster Backup

https://flynn.io/schema/controller/cluster_backup#
Property Type Description
id uuid string unique identifier
status string running complete error
sha512 hex string sha512 of backup
size integer number of bytes in the backup
error string
completed_at date-time string timestamp of backup completion
created_at date-time string object creation timestamp
updated_at date-time string object last updated timestamp

§ Get Cluster Backup

Download full cluster backup

 

Request

GET /backup HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json

Response

Content-Disposition: attachment; filename="flynn-backup-2015-12-16_022126.tar"
Content-Type: application/tar

§ Domain Migration

https://flynn.io/schema/controller/domain_migration#
Property Type Description
id uuid string unique identifier
old_tls_cert string TLS cert associated with old_domain. The migration job will set this.
tls_cert string TLS cert for the domain. One will be generated if not set.
old_domain uri string Domain being migrated from.
domain uri string Domain being migrated to.
created_at date-time string object creation timestamp
finished_at date-time string migration finished timestamp

§ Migrate Cluster Domain

Queues a job to migrate cluster domain. Stream domain_migration events to know when it’s done.

 

Request

PUT /domain HTTP/1.1
Authorization: Basic OnMzY3IzdA==
Content-Type: application/json
{
  "id": "",
  "old_domain": "dev.localflynn.com",
  "domain": "127.0.0.1.xip.io"
}

Response

Content-Type: application/json
{
  "id": "5d4c321b-fe6a-42df-867e-ea1a55282396",
  "old_tls_cert": {
    "ca_cert": "",
    "cert": "-----BEGIN CERTIFICATE-----\nMIIDSjCCAjSgAwIBAgIQDH8zACle7B+pqJB3QfwthDALBgkqhkiG9w0BAQswLTEO\nMAwGA1UEChMFRmx5bm4xGzAZBgNVBAsTEkZseW5uIEVwaGVtZXJhbCBDQTAeFw0x\nNTEyMTYwMjIwNDJaFw0yMDEyMTQwMjIwNDJaMC0xDjAMBgNVBAoTBUZseW5uMRsw\nGQYDVQQDExJkZXYubG9jYWxmbHlubi5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQC3NsEp+fYsbgr94cOBVnSK3ZcHBobwcCdzNvNqh6y1V9wn7x4C\nS6Rk0pn1Zz/FS1F+uA8KMVUzwWCCSl/jW4BNAqbLbVi4I5oap8mCDQDt+MDPZyn5\noOCn6vj5OCJXva3RmhJRocF88oXcH4lXWUyfKMOb+0/+tRC7lg5gqBxnvkiJrW7D\nyq0+FoZViBgrN3JcxAgWFx9FK8sITzWpgPqJvJiS4Ry54o8hBTQCKyFCHTwdoufd\nKyBwm6tNn/KLhUXcAEsBD3qvdI0AEX9rssGxVErCualgPaBAvDCFz2H+wwvKnHpK\nCcwIflE04YYOjCHphq9j7FIzd5/+fp0Ng53pAgMBAAGjajBoMA4GA1UdDwEB/wQE\nAwIAoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMDMGA1UdEQQs\nMCqCEmRldi5sb2NhbGZseW5uLmNvbYIUKi5kZXYubG9jYWxmbHlubi5jb20wCwYJ\nKoZIhvcNAQELA4IBAQAIR7k3teJZ5c2eLUlcfLSZiigz+RaZeqxHHt6fZXA9P9XS\n+m8NSIUffdfOXaXjokYTYc91RqGhxVGUUopEA7P64QkEJRpu4qcfq6CXxDoExyf5\ncumrzrBZmTvExqlGBbyviz7T4c7IZAe0U3zYCoaVd1Ss84mY8DA37oqM2Y1pH7Tc\nzwBprXDqAfwt70xoYFWQZoK6SbS+qCQkc+0K9HW0ZzGRwqMTbAoPOTn9D2c9f9o5\nuM9KkiTuvY3T1Kimb848IVvhBfEofeHXZspc9HWqfLJM8wIpMJCaDwcDBN+yFku6\nqqaRa9SXkZLNrB+eCqsVOUzBsmK+sgUL6jmM+Pfc\n-----END CERTIFICATE-----\n",
    "pin": "",
    "key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAtzbBKfn2LG4K/eHDgVZ0it2XBwaG8HAnczbzaoestVfcJ+8e\nAkukZNKZ9Wc/xUtRfrgPCjFVM8Fggkpf41uATQKmy21YuCOaGqfJgg0A7fjAz2cp\n+aDgp+r4+TgiV72t0ZoSUaHBfPKF3B+JV1lMnyjDm/tP/rUQu5YOYKgcZ75Iia1u\nw8qtPhaGVYgYKzdyXMQIFhcfRSvLCE81qYD6ibyYkuEcueKPIQU0AishQh08HaLn\n3SsgcJurTZ/yi4VF3ABLAQ96r3SNABF/a7LBsVRKwrmpYD2gQLwwhc9h/sMLypx6\nSgnMCH5RNOGGDowh6YavY+xSM3ef/n6dDYOd6QIDAQABAoIBAGEZTsRdal9frsmg\n1gl89WUHTVx21BsnhXDlZZpG73xoZRBxBPl4d1bL2raZks2QPk+nYqknPh2g1fIX\nUrxfKR8nUZisigGFNM39sKkRFTYJyL3i0fcvkQDNYkhKvMC9kRptylmjHbWHnvPr\nbtFxTU9ovkqzpVC7S3Pvcg0961f7NgUqM5bfzWlgZYDATtNTpngc6/8bUgG8xhdL\nLsfd84FJcC/0k09Gxu5GPuwvcws1Iag39+Rkz2G9KmOEnN8dywLLedWPQ8A6fIjP\ngSSYTPWRBEF7V6/yRb7a0z1M+SJUrA0vDYJsa2P2ry0YslJi1O9ipOeBmmCddVjN\n21SywoECgYEA45mlj46ySdKhB7iRDaD+M1Ffo9vaCniGjZxEH+sPWXet3gr/hTGN\nmsQngU66v/Gj6clTSOlkOImQHT7Q0/GeHTDEAVEXJNTX8NllElJe6LjOUyqc7kUN\n/zASp3YOHWVC8y3cNy8ScydUhO5hkaVJcpqO0RWxnWnqV6m2OOtcyvkCgYEAzhNA\ntxEpP/7qMz2/Kx7LflRXtMAIfecIlLmq4mw0pnMCebCCXOp7/Lw7VOLIz1JfzGtW\n2b6BTspzbTW16rjedA65+Pj/EdmXxtL7KIfDlnmab7cSQ3Vi/Tmbza4Z+etZ8Yy2\nRwA2Ni8IPS2y8NukcAJH+fGjIAbS/FqgR6KJtnECgYB955scpRWfnPMTsFgdr/ev\nL862eIJP1Iiqgc110rS1C22VLYRYjCcHfIdWEtVgJS5Fv+dgqCuW0xJz+zHObRTI\nlRd4mwEwkMW8KKau0f5KwyDwBNy3OmAZ0OAg3z/Dpya4G6B8rn+IUDODLdOvnD3b\nNgDXTSbqK5NFV07Egf7dEQKBgHdthvrRckOJW3dY2JqH3U0YWkABbqpwo3N16sgQ\nB69TReL6XYK1zidZe1UlnVUxmx1gM9Q7aLsd7ykikIw4mYtPIY5d140juqdajH4f\nuEVTsiH+ShJYTIcOxPG9bYZ+VAD+GIEraT+boD28Z1DZKgJUABylYnFkIxBnAS6i\nzwaxAoGAa3TWYsK0VUrn1EwlI9zzCLW8myjzyPLgpEQ6264ETNSw4K42M2fthcS4\nzlVMrPJ5yhftxCkxbXNFp74lt5Nhryv9K3RWdnL6aXoxR4juhfXBPUBPK+bk/g6F\nohfHj/PeDJFBe0MWC1Q4x7jbeHgqXQ9q7mun+9xH8ZziMdknHc4=\n-----END RSA PRIVATE KEY-----\n"
  },
  "old_domain": "dev.localflynn.com",
  "domain": "127.0.0.1.xip.io",
  "created_at": "2015-12-16T02:21:26.911192Z"
}

§ Sink

https://flynn.io/schema/controller/sink#
Property Type Description
id uuid string unique identifier
kind string syslog
config object
host_managed boolean
created_at date-time string object creation timestamp
updated_at date-time string object last updated timestamp

§ Volume Request

https://flynn.io/schema/controller/volume_req#
Property Type Description
path string