{
  "name": "Automated Kubernetes testing with Robot Framework, ArgoCD & with KinD lifecycle",
  "nodes": [
    {
      "id": "3eedbba8-b070-4f4c-b752-f997880ac0f7",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -352,
        480
      ]
    },
    {
      "id": "606d3f93-213c-46ca-aa68-fcd50a42f0ca",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -352,
        336
      ]
    },
    {
      "id": "4095dc2e-75df-4f26-8ff6-c2c20691706e",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -352,
        192
      ]
    },
    {
      "id": "caab1bc5-d6dc-4634-bf40-08f893075842",
      "name": "Get a file - ROBOT Script",
      "type": "n8n-nodes-base.gitlab",
      "position": [
        560,
        352
      ]
    },
    {
      "id": "3b88f0a7-f384-4ad2-bdd4-0aefce909042",
      "name": "Set Parameters",
      "type": "n8n-nodes-base.set",
      "position": [
        0,
        336
      ]
    },
    {
      "id": "07caf13e-4f09-43aa-b253-52236dfab04c",
      "name": "Robot Framework",
      "type": "n8n-nodes-robotframework.robotFramework",
      "position": [
        1696,
        352
      ]
    },
    {
      "id": "4e7e8d45-f5e2-430d-aa91-bf33b8779465",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        288
      ],
      "parameters": {
        "width": 2096,
        "height": 432,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Testing KinD and deployment with Robot Framework"
      }
    },
    {
      "id": "2e5c6a83-4da1-4370-912e-c61e811338ec",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        208,
        320
      ]
    },
    {
      "id": "c9903a44-5877-49cd-969c-d7e8a1591d17",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        -720
      ],
      "parameters": {
        "width": 2096,
        "height": 800,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Install Docker in Target and init KinD Custer with the testable deployment"
      }
    },
    {
      "id": "976bedbe-55d3-4f40-b270-994bb1625ebc",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        496,
        896
      ],
      "parameters": {
        "width": 2096,
        "height": 624,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## Destroy KinD Cluster with the tested deployment and uninstall Docker in Target"
      }
    },
    {
      "id": "a44d76ec-8070-46e0-8ea0-aa64cde68850",
      "name": "Set Initialized",
      "type": "n8n-nodes-base.set",
      "position": [
        2432,
        -160
      ]
    },
    {
      "id": "ec172786-0c6d-42a1-b1b3-4dc613bf2b7c",
      "name": "Set Tested",
      "type": "n8n-nodes-base.set",
      "position": [
        2432,
        480
      ]
    },
    {
      "id": "d3259144-6d39-4a56-be29-907386a2563b",
      "name": "Set Destroyed",
      "type": "n8n-nodes-base.set",
      "position": [
        2192,
        1312
      ]
    },
    {
      "id": "cd48e173-0ed3-4f65-9cdf-35e713aa2414",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        144
      ],
      "parameters": {
        "width": 304,
        "height": 176,
        "content": "## Important! \nIf you are using a script in Robot Framework that works in a browser, then in the **\"New Browser\"** line you must specify the **\"executablePath=/usr/bin/chromium-browser\"** parameter"
      }
    },
    {
      "id": "edeabedf-e0be-477f-886b-1a54904bd4bf",
      "name": "Write Dowloaded ROBOT Script",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        768,
        352
      ]
    },
    {
      "id": "232d3d9b-ceb6-445e-8de2-1c55ad418e4f",
      "name": "Add Robot Framework, Browser Library, Chromium Driver",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        976,
        352
      ]
    },
    {
      "id": "7bdbe27a-bb4d-4445-9f98-9885331cee27",
      "name": "Read ROBOT Script to Execute",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        1328,
        352
      ]
    },
    {
      "id": "a394d031-70b4-4267-a068-b21bae80726d",
      "name": "Pack ROBOT Script Exports",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1872,
        352
      ]
    },
    {
      "id": "da6a48e3-5fb1-48ee-bd78-b023ff21f995",
      "name": "Read ROBOT Script Exports to Send",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        2048,
        352
      ]
    },
    {
      "id": "bb5d31e3-3183-4f17-aa6b-331c5944eab9",
      "name": "Send ROBOT Script Export Pack",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2224,
        352
      ]
    },
    {
      "id": "9806fc1e-1d94-4208-b41a-5c22ea802746",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        528
      ],
      "parameters": {
        "width": 384,
        "height": 112,
        "content": "## Important! \nTo ​​use this workflow, you MUST INSTALL the **n8n-nodes-robotframework** node in the **Community Nodes** section!"
      }
    },
    {
      "id": "3cc7cd5c-96bc-4534-86af-bb46311b120b",
      "name": "Check Sshpass Exist Local",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        544,
        -688
      ]
    },
    {
      "id": "33907525-976e-48e3-92e6-4b94fc41e05e",
      "name": "Is Installed Local?",
      "type": "n8n-nodes-base.if",
      "position": [
        736,
        -688
      ]
    },
    {
      "id": "5a8750e9-fd35-4128-9fab-0e3abd75d274",
      "name": "Install Sshpass Local",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        992,
        -640
      ]
    },
    {
      "id": "09350879-6eae-42af-94f3-f5735dd83473",
      "name": "Check Docker on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1216,
        -688
      ]
    },
    {
      "id": "9bbc3483-90f4-47dd-9934-8c8db45188e3",
      "name": "Is Docker Installed on Target?",
      "type": "n8n-nodes-base.if",
      "position": [
        1440,
        -688
      ]
    },
    {
      "id": "d7967b95-3295-4972-9de1-ee3d7d353d6c",
      "name": "Install Docker on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1648,
        -624
      ]
    },
    {
      "id": "cfd28b6f-3cfa-4f64-a572-334a7ea27625",
      "name": "Install KinD on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        2304,
        -592
      ]
    },
    {
      "id": "cca6856b-6e6f-414d-83ba-3de47ab7afdc",
      "name": "Is KinD Installed on Target?",
      "type": "n8n-nodes-base.if",
      "position": [
        2080,
        -688
      ]
    },
    {
      "id": "f2c9d96f-e5f7-4b0f-815e-26ca8ec76718",
      "name": "Check KinD on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1856,
        -688
      ]
    },
    {
      "id": "6afe2a50-53dc-4647-910a-e7cbac67037e",
      "name": "Get a file - KinD Config",
      "type": "n8n-nodes-base.gitlab",
      "position": [
        560,
        -368
      ]
    },
    {
      "id": "0b205c63-1bea-4602-b6b6-a0d22c52a012",
      "name": "Write Dowloaded KinD Config",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        784,
        -368
      ]
    },
    {
      "id": "767099dd-8b50-4b29-bc1d-a35456c3ff32",
      "name": "Open KinD Config",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        992,
        -368
      ]
    },
    {
      "id": "99091217-262f-4589-b0f4-38ae2ac74026",
      "name": "Create KinD Cluster on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1200,
        -368
      ]
    },
    {
      "id": "96cbb13c-ff1e-4a07-90c3-71dfb619ff87",
      "name": "Is Docker Installed on Target?1",
      "type": "n8n-nodes-base.if",
      "position": [
        784,
        1296
      ]
    },
    {
      "id": "a2224dd5-6460-4064-9b35-a0fb3c87ecc3",
      "name": "Is KinD Installed on Target?1",
      "type": "n8n-nodes-base.if",
      "position": [
        1888,
        928
      ]
    },
    {
      "id": "c8244168-25ad-4704-b1df-863e4a9c7f4c",
      "name": "Check Sshpass Exist Local (D)",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        576,
        928
      ]
    },
    {
      "id": "917cbbc3-4900-4914-87ee-ec5691fe5c3e",
      "name": "Is Installed Local? (D)",
      "type": "n8n-nodes-base.if",
      "position": [
        768,
        928
      ]
    },
    {
      "id": "33ec5f41-f4df-42d4-a6db-a1515d43b6a3",
      "name": "Install Sshpass Local (D)",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1008,
        976
      ]
    },
    {
      "id": "e7dc7914-8352-4060-844b-daa561b01aea",
      "name": "Check Docker on Target (D)",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        576,
        1296
      ]
    },
    {
      "id": "465c84d3-b0ba-45df-999a-2c29fca75ede",
      "name": "Delete KinD Cluster on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1440,
        912
      ]
    },
    {
      "id": "83511d71-310c-4be4-8765-a9cd40859807",
      "name": "Check KinD on Target (D)",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1664,
        928
      ]
    },
    {
      "id": "ae9ecbe9-58b7-4080-8496-f5c4763c24e1",
      "name": "UnInstall KinD on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        2128,
        976
      ]
    },
    {
      "id": "502870b0-31ba-4bb6-b7ea-87d7d0846249",
      "name": "UnInstall Docker on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        992,
        1200
      ]
    },
    {
      "id": "b8079542-34e2-4fae-87aa-04539df7066c",
      "name": "Process Finish Report --- Telegam & SMS1",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        2416,
        1312
      ]
    },
    {
      "id": "ac243f29-13f8-4e18-84b7-f3f53a6f6704",
      "name": "Install Helm and Nginx-Ingress in KinD Cluster",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1424,
        -368
      ]
    },
    {
      "id": "fe9eac0d-749f-4553-89e3-2f831d020761",
      "name": "Install HAProxy on Target and Config Port-80 to KinD",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1648,
        -368
      ]
    },
    {
      "id": "19bd956a-395d-4210-9d9d-e4980311403b",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2432,
        112
      ]
    },
    {
      "id": "6c314b47-9578-4564-8a9c-d208dbe2a6a0",
      "name": "Is INIT Only?",
      "type": "n8n-nodes-base.if",
      "position": [
        2224,
        -160
      ]
    },
    {
      "id": "9f10a302-78e6-4fc1-9e9e-1d07acd71f98",
      "name": "Is TEST Only?",
      "type": "n8n-nodes-base.if",
      "position": [
        2432,
        336
      ]
    },
    {
      "id": "38397b70-ff06-4295-bf96-ffdc6db9cf26",
      "name": "Delete HAProxy on Target",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1216,
        912
      ]
    },
    {
      "id": "3d976844-91c3-41c9-9d0a-1c9e8521fa8c",
      "name": "Open ROBOT Script to Framework",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1520,
        352
      ]
    },
    {
      "id": "fcc0449e-fe7f-4788-a37e-263a2fb30f9e",
      "name": "Add Target to Hosts",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1152,
        352
      ]
    },
    {
      "id": "fbcd1a7d-1ada-41a7-95ae-9f019e89ce77",
      "name": "Remove Target from Hosts",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1312,
        1312
      ]
    },
    {
      "id": "3885b7b3-5528-4407-9934-ecd24e95c24f",
      "name": "Install ArgoCD to KinD Cluster",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1856,
        -368
      ]
    },
    {
      "id": "5b139746-1c91-431c-b293-2586d8adbbe8",
      "name": "Get a file - ArgoCD ApplicationSet",
      "type": "n8n-nodes-base.gitlab",
      "position": [
        560,
        -160
      ]
    },
    {
      "id": "42e32eaf-f604-400b-8511-a6e4682d318e",
      "name": "Write Dowloaded ArgoCD ApplicationSet",
      "type": "n8n-nodes-base.readWriteFile",
      "position": [
        784,
        -160
      ]
    },
    {
      "id": "b8a4e1c5-bb96-4efe-b70e-c7dfd7d83821",
      "name": "Open ArgoCD ApplicationSet",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        992,
        -160
      ]
    },
    {
      "id": "1c585a8c-1a89-4f38-8ac2-c54f0d1926b9",
      "name": "Apply ArgoCD ApplicationSet",
      "type": "n8n-nodes-base.executeCommand",
      "position": [
        1200,
        -160
      ]
    },
    {
      "id": "3f49e20c-b627-4066-828e-7a2f15a4e4ab",
      "name": "Workflow Overview Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        16
      ],
      "parameters": {
        "width": 450,
        "height": 344,
        "content": "## Workflow Overview\n\nThis workflow automates the complete lifecycle of Kubernetes testing:\n\nINIT Phase: Sets up Docker, KinD cluster, Helm, Ingress, HAProxy, and ArgoCD on a remote host\n\nTEST Phase: "
      }
    },
    {
      "id": "9d2efdf4-fee9-4950-874a-629c4104ccfd",
      "name": "Trigger Configuration Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        416
      ],
      "parameters": {
        "width": 448,
        "height": 328,
        "content": "## Trigger Configuration\n\nThis workflow supports three trigger methods:\n\nManual Trigger: Click to execute on-demand for testing and debugging\n\nWebhook: Integrate with GitLab CI/CD for automated execut"
      }
    },
    {
      "id": "a24a6219-9704-4cfe-bb25-da4146997c16",
      "name": "Configuration Guide Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        512
      ],
      "parameters": {
        "width": 380,
        "height": 360,
        "content": "## Required Configuration\n\nUpdate these parameters before running:\n\ntarget_host: IP address of your remote server\ntarget_port: SSH port (usually 22)\ntarget_user: SSH username\ntarget_password: SSH pass"
      }
    },
    {
      "id": "51a455f4-c8b3-4bcc-88b9-c29127f61b94",
      "name": "GitLab Setup Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        -464
      ],
      "parameters": {
        "width": 450,
        "height": 276,
        "content": "## GitLab Integration\n\nThese nodes download configuration files from your GitLab repository:\n\nconfig.yaml: KinD cluster configuration\ntest.robot: Robot Framework test script\ndemo-applicationSet.yaml: "
      }
    },
    {
      "id": "7fe8456d-8a20-43bf-9a8d-aa087a7f5857",
      "name": "Phase Control Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -48
      ],
      "parameters": {
        "width": 420,
        "height": 348,
        "content": "## Phase Control Logic\n\nThe Switch node routes execution based on the progress parameter:\n\nprogress = INIT: Starts infrastructure setup\nprogress = TEST: Runs tests (assumes infrastructure exists)\nprog"
      }
    },
    {
      "id": "18604e04-a554-40be-a167-fc7b4a7fb151",
      "name": "Telegram Configuration Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        528
      ],
      "parameters": {
        "width": 496,
        "height": 332,
        "content": "## Telegram Notification\n\nConfigure this node to receive test results:\n\n1. Update chatId with your Telegram chat ID\n2. Configure Telegram API credentials\n3. Results are sent as a compressed archive co"
      }
    },
    {
      "id": "3a9ca7b8-fd69-4953-b93b-dad70e982640",
      "name": "INIT Phase Summary Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2608,
        -720
      ],
      "parameters": {
        "width": 450,
        "height": 332,
        "content": "## INIT Phase Summary\n\nThis phase prepares the complete testing infrastructure:\n\n1. Installs sshpass for SSH automation\n2. Installs Docker on remote host\n3. Installs KinD (Kubernetes in Docker)\n4. Cre"
      }
    },
    {
      "id": "32dd93fe-8243-4e28-b28f-6b0703806580",
      "name": "TEST Phase Summary Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2608,
        288
      ],
      "parameters": {
        "width": 450,
        "height": 312,
        "content": "## TEST Phase Summary\n\nThis phase executes automated tests:\n\n1. Downloads Robot Framework test script from GitLab\n2. Installs Python, Robot Framework, and Browser library\n3. Installs Chromium browser "
      }
    },
    {
      "id": "0fd0bfbe-12da-49e3-b512-f91eb19422bc",
      "name": "DESTROY Phase Summary Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2608,
        896
      ],
      "parameters": {
        "width": 450,
        "height": 328,
        "content": "## DESTROY Phase Summary\n\nThis phase removes all testing infrastructure:\n\n1. Removes HAProxy and cleans configuration\n2. Deletes KinD cluster (automate-tst)\n3. Uninstalls KinD binary\n4. Uninstalls Doc"
      }
    },
    {
      "id": "46d9310d-656b-418c-8ca0-cb4ca6391381",
      "name": "Final Notification Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2272,
        1472
      ],
      "parameters": {
        "width": 350,
        "height": 246,
        "content": "## Final Notification\n\nConfigure your Telegram credentials in this node.\n\nUpdate the CHAT_ID variable in the command to match your Telegram chat ID.\n\nOptional SMS notifications are commented out - unc"
      }
    },
    {
      "id": "81d81c7d-0501-456c-abf1-e3600e209f27",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1504,
        272
      ],
      "parameters": {
        "width": 512,
        "height": 608,
        "content": "## KinD config - sample\n```\nkind: Cluster\napiVersion: kind.x-k8s.io/v1alpha4\nnodes:\n- role: control-plane\n  image: kindest/node:v1.30.2\n  kubeadmConfigPatches:\n  - |\n    kind: InitConfiguration\n    no"
      }
    },
    {
      "id": "26a4e51d-5130-43ee-bc37-0557d1da82a4",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2256,
        -432
      ],
      "parameters": {
        "width": 1264,
        "height": 688,
        "content": "## Robot Framework Script - sample\n```\n*** Settings ***\nLibrary    Browser\n\n*** Variables ***\n${LOGIN_URL}      http://autotest.innersite\n${USERNAME}       autotest\n${PASSWORD}       autotest\n${BROWSE"
      }
    },
    {
      "id": "95522c65-f7c6-4c0e-a7e1-ca2edc567542",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2256,
        272
      ],
      "parameters": {
        "width": 736,
        "height": 384,
        "content": "## ArgoCD ApplicationSet - sample\n```\napiVersion: argoproj.io/v1alpha1\nkind: Application\nmetadata:\n  name: tenant-appsets\n  namespace: argocd\n  finalizers:\n    - resources-finalizer.argocd.argoproj.io"
      }
    },
    {
      "id": "983eea52-5245-46f8-a9c7-faa4b67e48a9",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2256,
        672
      ],
      "parameters": {
        "width": 736,
        "height": 208,
        "content": "## Gitlab CI - sample\n```\ntrigger_n8n:\n  script:\n    - echo \"=== TRIGGER N8N Workflow Webhook ===\"\n    - apk add curl\n    - curl -X POST http://192.168.1.100:5678/webhook/gitlab-commit -d '{}'\n```"
      }
    }
  ],
  "connections": {
    "Switch": {
      "main": [
        [
          {
            "node": "Check Sshpass Exist Local",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get a file - ROBOT Script",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check Sshpass Exist Local (D)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Set Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Tested": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is INIT Only?": {
      "main": [
        [
          {
            "node": "Set Initialized",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is TEST Only?": {
      "main": [
        [
          {
            "node": "Set Tested",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Destroyed": {
      "main": [
        [
          {
            "node": "Process Finish Report --- Telegam & SMS1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Parameters": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Robot Framework": {
      "main": [
        [
          {
            "node": "Pack ROBOT Script Exports",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Initialized": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Open KinD Config": {
      "main": [
        [
          {
            "node": "Create KinD Cluster on Target",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Target to Hosts": {
      "main": [
        [
          {
            "node": "Read ROBOT Script to Execute",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Installed Local?": {
      "main": [
        [
          {
            "node": "Check Docker on Target",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Install Sshpass Local",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check KinD on Target": {
      "main": [
        [
          {
            "node": "Is KinD Installed on Target?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Install Sshpass Local": {
      "main": [
        [
          {
            "node": "Check Docker on Target",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Docker on Target": {
      "main": [
        [
          {
            "node": "Is Docker Installed on Target?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Install KinD on Target": {
      "main": [
        [
          {
            "node": "Get a file - KinD Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Installed Local? (D)": {
      "main": [
        [
          {
            "node": "Delete HAProxy on Target",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Install Sshpass Local (D)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check KinD on Target (D)": {
      "main": [
        [
          {
            "node": "Is KinD Installed on Target?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delete HAProxy on Target": {
      "main": [
        [
          {
            "node": "Delete KinD Cluster on Target",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a file - KinD Config": {
      "main": [
        [
          {
            "node": "Write Dowloaded KinD Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Install Docker on Target": {
      "main": [
        [
          {
            "node": "Check KinD on Target",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Target from Hosts": {
      "main": [
        [
          {
            "node": "Set Destroyed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "UnInstall KinD on Target": {
      "main": [
        [
          {
            "node": "Check Docker on Target (D)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Sshpass Exist Local": {
      "main": [
        [
          {
            "node": "Is Installed Local?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a file - ROBOT Script": {
      "main": [
        [
          {
            "node": "Write Dowloaded ROBOT Script",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Install Sshpass Local (D)": {
      "main": [
        [
          {
            "node": "Delete HAProxy on Target",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pack ROBOT Script Exports": {
      "main": [
        [
          {
            "node": "Read ROBOT Script Exports to Send",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Docker on Target (D)": {
      "main": [
        [
          {
            "node": "Is Docker Installed on Target?1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Open ArgoCD ApplicationSet": {
      "main": [
        [
          {
            "node": "Apply ArgoCD ApplicationSet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "UnInstall Docker on Target": {
      "main": [
        [
          {
            "node": "Remove Target from Hosts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apply ArgoCD ApplicationSet": {
      "main": [
        [
          {
            "node": "Is INIT Only?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write Dowloaded KinD Config": {
      "main": [
        [
          {
            "node": "Open KinD Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is KinD Installed on Target?": {
      "main": [
        [
          {
            "node": "Get a file - KinD Config",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Install KinD on Target",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read ROBOT Script to Execute": {
      "main": [
        [
          {
            "node": "Open ROBOT Script to Framework",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write Dowloaded ROBOT Script": {
      "main": [
        [
          {
            "node": "Add Robot Framework, Browser Library, Chromium Driver",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Sshpass Exist Local (D)": {
      "main": [
        [
          {
            "node": "Is Installed Local? (D)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create KinD Cluster on Target": {
      "main": [
        [
          {
            "node": "Install Helm and Nginx-Ingress in KinD Cluster",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Delete KinD Cluster on Target": {
      "main": [
        [
          {
            "node": "Check KinD on Target (D)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is KinD Installed on Target?1": {
      "main": [
        [
          {
            "node": "UnInstall KinD on Target",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check Docker on Target (D)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send ROBOT Script Export Pack": {
      "main": [
        [
          {
            "node": "Is TEST Only?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Install ArgoCD to KinD Cluster": {
      "main": [
        [
          {
            "node": "Get a file - ArgoCD ApplicationSet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Docker Installed on Target?": {
      "main": [
        [
          {
            "node": "Check KinD on Target",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Install Docker on Target",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Open ROBOT Script to Framework": {
      "main": [
        [
          {
            "node": "Robot Framework",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Docker Installed on Target?1": {
      "main": [
        [
          {
            "node": "UnInstall Docker on Target",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Remove Target from Hosts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read ROBOT Script Exports to Send": {
      "main": [
        [
          {
            "node": "Send ROBOT Script Export Pack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a file - ArgoCD ApplicationSet": {
      "main": [
        [
          {
            "node": "Write Dowloaded ArgoCD ApplicationSet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Set Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Write Dowloaded ArgoCD ApplicationSet": {
      "main": [
        [
          {
            "node": "Open ArgoCD ApplicationSet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Install Helm and Nginx-Ingress in KinD Cluster": {
      "main": [
        [
          {
            "node": "Install HAProxy on Target and Config Port-80 to KinD",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Install HAProxy on Target and Config Port-80 to KinD": {
      "main": [
        [
          {
            "node": "Install ArgoCD to KinD Cluster",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add Robot Framework, Browser Library, Chromium Driver": {
      "main": [
        [
          {
            "node": "Add Target to Hosts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}