{
  "id": "invoicing.crm",
  "kind": "app",
  "name": "crm",
  "label": null,
  "owner": "invoicing-team",
  "operator": "infra",
  "site": "aws-paris",
  "system": "invoicing",
  "incomplete": false,
  "missing": [],
  "declared": "apps.ca:29:7",
  "virtual": false,
  "description": "Customer relationship management",
  "parent": "invoicing",
  "path": [
    "invoicing"
  ],
  "module": null,
  "attributes": {
    "description": "Customer relationship management",
    "on": "web01",
    "version": "v1.8.0"
  },
  "references": {
    "on": [
      "aws-paris.prod.dmz.web01"
    ]
  },
  "children": [],
  "hosts": [],
  "members": [],
  "runs_here": [],
  "failures": [
    "invoicing.crmdb",
    "aws-paris",
    "aws-paris.prod",
    "aws-paris.prod.dmz",
    "aws-paris.prod.dmz.web01",
    "aws-paris.prod.db",
    "aws-paris.prod.db.db01"
  ],
  "failure_pairs": [],
  "questions": [],
  "outgoing": [
    {
      "with": "invoicing.crmdb",
      "port": "tcp/5432",
      "layers": [
        "flow"
      ],
      "carries": [
        "customer",
        "invoice"
      ],
      "through": [],
      "through_steps": [],
      "through_deduced": false,
      "attributes": {
        "exchange": "both",
        "carries": [
          "customer",
          "invoice"
        ]
      },
      "declared": "apps.ca:33:5"
    }
  ],
  "incoming": [
    {
      "with": "invoicing.billing",
      "port": "https/443",
      "layers": [
        "flow"
      ],
      "carries": [
        "customer"
      ],
      "through": [],
      "through_steps": [],
      "through_deduced": false,
      "attributes": {
        "description": "Fetches customer details before invoicing",
        "exchange": "pull",
        "carries": [
          "customer"
        ]
      },
      "declared": "apps.ca:12:5"
    }
  ]
}
