[
  {
    "id": "3365c430042a187e",
    "type": "group",
    "z": "81938f8d6e112027",
    "name": "Health Checks - Example #1: MQTT Watchdog",
    "style": {
      "stroke": "#000000",
      "fill": "#ffbfbf",
      "label": true,
      "color": "#000000"
    },
    "nodes": [
      "f2506ff13e75337c",
      "a622cff4568e551d",
      "bb0fe93ebc6cdaed"
    ],
    "x": 188,
    "y": 173,
    "w": 744,
    "h": 454,
    "info": "# Health Checks - Example #1: MQTT Watchdog\nThis simple flow demonstrates, how conditions defined within a **health check node** are set/unset by a **watchdog node**.\n## Getting Started\n 1. The **mqtt in node** has to be configured to your needs.  \n After deploying the flow you should see the **mqtt in node** showing a green dot stating it's connected. \n 2. Open the **health checks node** in the editor and see a condition (`MQTT connected`) is already defined and assigned to all probes (`Startup`, `Readiness` and `Liveness`).\n 3. Open the **watchdog nodes** and ensure, the proper condition (`MQTT connected`) is set and unset respectively.  \n 4. Ensure, the healthchecks paths (`started`, `ready` and `alive`) can be opened after the flow is deployed.  \n Example:\n ```\n curl -v localhost/started\n ```\n or if you have configured a special port:\n ```\n curl -v localhost:8080/ready\n ```\n You might want to set the health checks as a resource in your containerized environment. For more information on this, please refere to the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes). \n\n## How the Example works\n * The **status node** will be triggered on any connection status change of the **mqtt in node**.\n * The **switch node** checks, if the status' color is `green` and if so, triggers the first **watchdog node** setting the condition (`MQTT connected`) to `fulfilled` or triggers the second **watchdog node** setting the condition to `NOT fulfilled` if the color is NOT green."
  },
  {
    "id": "f2506ff13e75337c",
    "type": "group",
    "z": "81938f8d6e112027",
    "g": "3365c430042a187e",
    "name": "MQTT Subscription (Not Configured yet!)",
    "style": {
      "stroke": "#000000",
      "label": true,
      "color": "#000000",
      "fill": "#ffffff"
    },
    "nodes": [
      "5103db9724e274f8"
    ],
    "x": 214,
    "y": 199,
    "w": 262,
    "h": 82
  },
  {
    "id": "5103db9724e274f8",
    "type": "mqtt in",
    "z": "81938f8d6e112027",
    "g": "f2506ff13e75337c",
    "name": "",
    "topic": "#",
    "qos": "2",
    "datatype": "auto",
    "broker": "",
    "nl": false,
    "rap": true,
    "rh": 0,
    "inputs": 0,
    "x": 290,
    "y": 240,
    "wires": [
      []
    ]
  },
  {
    "id": "a622cff4568e551d",
    "type": "group",
    "z": "81938f8d6e112027",
    "g": "3365c430042a187e",
    "name": "MQTT Watchdog",
    "style": {
      "stroke": "#000000",
      "fill": "#ffffbf",
      "label": true,
      "color": "#000000"
    },
    "nodes": [
      "3872f9a1def2cec5",
      "a8d2519ba11cf1ea",
      "fd236ff27b346c3a",
      "67dd46966289ce94"
    ],
    "x": 214,
    "y": 479,
    "w": 692,
    "h": 122
  },
  {
    "id": "3872f9a1def2cec5",
    "type": "watchdog",
    "z": "81938f8d6e112027",
    "g": "a622cff4568e551d",
    "contentTypeOpts": [
      {
        "v": "",
        "l": "Please Select a Condition!"
      },
      {
        "v": "3",
        "l": "MQTT connected"
      }
    ],
    "countInstances": 1,
    "name": "",
    "condition": "3",
    "fulfilled": "true",
    "x": 690,
    "y": 520,
    "wires": []
  },
  {
    "id": "a8d2519ba11cf1ea",
    "type": "switch",
    "z": "81938f8d6e112027",
    "g": "a622cff4568e551d",
    "name": "",
    "property": "status.fill",
    "propertyType": "msg",
    "rules": [
      {
        "t": "eq",
        "v": "green",
        "vt": "str"
      },
      {
        "t": "else"
      }
    ],
    "checkall": "false",
    "repair": false,
    "outputs": 2,
    "x": 450,
    "y": 540,
    "wires": [
      [
        "3872f9a1def2cec5"
      ],
      [
        "fd236ff27b346c3a"
      ]
    ]
  },
  {
    "id": "fd236ff27b346c3a",
    "type": "watchdog",
    "z": "81938f8d6e112027",
    "g": "a622cff4568e551d",
    "contentTypeOpts": [
      {
        "v": "",
        "l": "Please Select a Condition!"
      },
      {
        "v": "3",
        "l": "MQTT connected"
      }
    ],
    "countInstances": 1,
    "name": "",
    "condition": "3",
    "fulfilled": "false",
    "x": 710,
    "y": 560,
    "wires": []
  },
  {
    "id": "67dd46966289ce94",
    "type": "status",
    "z": "81938f8d6e112027",
    "g": "a622cff4568e551d",
    "name": "",
    "scope": [
      "5103db9724e274f8"
    ],
    "x": 300,
    "y": 540,
    "wires": [
      [
        "a8d2519ba11cf1ea"
      ]
    ]
  },
  {
    "id": "bb0fe93ebc6cdaed",
    "type": "group",
    "z": "81938f8d6e112027",
    "g": "3365c430042a187e",
    "name": "Health Checks",
    "style": {
      "stroke": "#000000",
      "fill": "#e3f3d3",
      "label": true,
      "color": "#000000"
    },
    "nodes": [
      "46775bc61489f216"
    ],
    "x": 214,
    "y": 339,
    "w": 192,
    "h": 82
  },
  {
    "id": "46775bc61489f216",
    "type": "health checks",
    "z": "81938f8d6e112027",
    "g": "bb0fe93ebc6cdaed",
    "countInstances": 1,
    "name": "",
    "port": "",
    "sequence": 4,
    "conditions": [
      {
        "name": "MQTT connected",
        "id": "3",
        "status": false
      }
    ],
    "started": [
      "3"
    ],
    "ready": [
      "3"
    ],
    "alive": [
      "3"
    ],
    "x": 310,
    "y": 380,
    "wires": []
  }
]