)]}'
{
  "log": [
    {
      "commit": "997af63f2dbf8bfa423e51e04bdb284791cc34c0",
      "tree": "e13214e1e3e59e06c0163c491b0b12f761ce2b42",
      "parents": [
        "fc441e3383e3c6cf323c4646d2ca7eabff73ac03"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 08 12:24:39 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 08 12:24:39 2025 +0400"
      },
      "message": "Tailscale: Upgrade client version to v1.82.0\n\nChange-Id: I8484949305f0ebe8d5b7b94bd4fac5a288d0735e\n"
    },
    {
      "commit": "fc441e3383e3c6cf323c4646d2ca7eabff73ac03",
      "tree": "913b6683a6e3e6bde590d5ce75669a9c33479a3f",
      "parents": [
        "5f2f100451baee800b04a0871f6c268ed0dc7daa"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Nov 11 16:26:14 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Apr 02 15:26:40 2025 +0400"
      },
      "message": "AppManager: Add API endpoint to install dodo app\n\nRefactors cue definitions.\n\nNext steps:\n* Needs some cleanup, namespace is hard coded ...\n* Maybe merge with regular install API\n* Support exposing ports across clusters\n\nChange-Id: Ibfc3c3f742b61f2c5874012fe6c77b958eae81d9\n"
    },
    {
      "commit": "5f2f100451baee800b04a0871f6c268ed0dc7daa",
      "tree": "2da0211831c380f04989725167520f96fe24d9d4",
      "parents": [
        "9c43d0c4d9840f1d914313064f02f71c9de76f4a"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Mar 20 18:38:48 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Mar 27 14:49:06 2025 +0400"
      },
      "message": "Canvas: build application infrastructure with drag and drop\n\nChange-Id: I5cfd12e67794f3376c5c025af29470d52d77cf16\n"
    },
    {
      "commit": "9c43d0c4d9840f1d914313064f02f71c9de76f4a",
      "tree": "420e23a609be0b7461455d533d7fbbe152d994c1",
      "parents": [
        "561724f05b2a468600a9be5b213d4f7b6663f35f"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Nov 19 01:04:06 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Nov 19 08:18:22 2024 +0400"
      },
      "message": "DodoApp: run `npm install` before `npm ci`\n\nChange-Id: Iba43cfa2ebd91c12606f821be1891291952c9fa7\n"
    },
    {
      "commit": "561724f05b2a468600a9be5b213d4f7b6663f35f",
      "tree": "ccb7e45584ef68fcd33cc182457d08867529efb9",
      "parents": [
        "236fdc3223978071fc6b6b81cfa0462a318d021d"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Nov 04 08:37:34 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Nov 11 09:53:11 2024 +0000"
      },
      "message": "Installer: Add option to expose PostgreSQL\n\nChange-Id: I1e00bc4d1d1f417956c1744634287c32d9e3f513\n"
    },
    {
      "commit": "236fdc3223978071fc6b6b81cfa0462a318d021d",
      "tree": "7dc5d5cd41c78a037268d76d1784f6bfdf58103e",
      "parents": [
        "0710c6b488ff04ec1310ce219c5c7e2525037656"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Nov 08 07:54:18 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Nov 08 07:55:50 2024 +0400"
      },
      "message": "DodoApp: Fix env var listing\n\nChange-Id: I84559a1026889fb779940a0d5e4fe22c08b324dc\n"
    },
    {
      "commit": "0710c6b488ff04ec1310ce219c5c7e2525037656",
      "tree": "fc3ab7e55cfc9a615cfd7a64e94d78ecb64a5eb2",
      "parents": [
        "802311e517728e816f74f94ce601a1722c09c40d"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Nov 04 19:08:30 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Nov 04 19:08:30 2024 +0400"
      },
      "message": "DodoApp: Disable repo client logging\n\nChange-Id: I7b1340a096228d06e81965e10a373e45c44d97cb\n"
    },
    {
      "commit": "802311e517728e816f74f94ce601a1722c09c40d",
      "tree": "b33d3cf76f6552493cc37871a30a7da2b88ea4d7",
      "parents": [
        "138a06e6e599483af7a50dcc653f57187e716872"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Nov 04 08:37:34 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Nov 04 08:57:26 2024 +0400"
      },
      "message": "Installer: Move port forwarding config into the apps\n\nChange-Id: I6d70c8ce72d21ebe74d126a680fa66ba6c3f2857\n"
    },
    {
      "commit": "138a06e6e599483af7a50dcc653f57187e716872",
      "tree": "83ce61f82543cce56bb948fe407e21fb8b714d8d",
      "parents": [
        "8fae028921963255ee7b7132256b035ba2767217"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Nov 01 17:03:10 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Nov 01 17:03:10 2024 +0400"
      },
      "message": "DodoApp: Support NodeJS backend\n\nChange-Id: Ia8d407d009e4d690febfbf4f1270f3baa2d3e781\n"
    },
    {
      "commit": "8fae028921963255ee7b7132256b035ba2767217",
      "tree": "076b239bfcc8dca0a614def5d92f458c8b3e3976",
      "parents": [
        "f3486a55c4832c4d2644e10ef1241d4a387e104e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 30 07:32:45 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 30 08:12:08 2024 +0400"
      },
      "message": "NextJS: Use correct default port number 3000\n\nChange-Id: Iba055accf2f08a167d03f036df20bf9a9674e88d\n"
    },
    {
      "commit": "f3486a55c4832c4d2644e10ef1241d4a387e104e",
      "tree": "eadd1f5a8f0fcf029f4fb227e67ad4f0775c5a28",
      "parents": [
        "88d3766ff683db399a277162ec97017c6188dffa"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Oct 29 23:38:18 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 30 08:11:47 2024 +0400"
      },
      "message": "DodoApp: Expose same app ports on VM as well\n\nChange-Id: I5d04330ffc7c23443c1305ece5201e3f59fb91d4\n"
    },
    {
      "commit": "88d3766ff683db399a277162ec97017c6188dffa",
      "tree": "7ff87635ac4898bf52a3e58c099abc38a826caf8",
      "parents": [
        "5fb003291aaa99d66ae48447f65b22913782ce07"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 27 22:52:34 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 28 14:05:59 2024 +0400"
      },
      "message": "DodoApp: Support apps exposing multiple ports\n\nChange-Id: I9c8a47d20ffc1836cef6390c0ac6f22e977e38f2\n"
    },
    {
      "commit": "5fb003291aaa99d66ae48447f65b22913782ce07",
      "tree": "03cf5e7dfc85874c1d4caebd1f2517a0861642ef",
      "parents": [
        "85958d663de946076a246e205c2d6d72b213ee62"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 26 09:23:03 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 26 09:23:03 2024 +0400"
      },
      "message": "Launcher: Update helm contents renderer to open anchors in new tab\n\nChange-Id: If6698f5d6dedc4753e38f1cf96dceb3685f42eaf\n"
    },
    {
      "commit": "85958d663de946076a246e205c2d6d72b213ee62",
      "tree": "4fcc44a214129ff30236135ea2228510ef5df465",
      "parents": [
        "281aa516846b4cb5a68ce545d54d9a496fcedc35"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 26 09:14:01 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 26 09:14:01 2024 +0400"
      },
      "message": "DodoApp: Display env variables on status page\n\nChange-Id: I409e30f202f9993f02a475c2f2d9f02f097a2d94\n"
    },
    {
      "commit": "281aa516846b4cb5a68ce545d54d9a496fcedc35",
      "tree": "8006825112b4c1421ca1aed69fa3b74338735ef1",
      "parents": [
        "07eb108299bb089423a7ad4f8ef3e5934022e59a"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 25 23:25:53 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 25 23:33:47 2024 +0400"
      },
      "message": "DodoApp: List all apps if running in internal mode\n\nChange-Id: Iea9f613495444c73c2f550ccadb58a0fbac79eec\n"
    },
    {
      "commit": "07eb108299bb089423a7ad4f8ef3e5934022e59a",
      "tree": "e09a569463b8edab422f4742af62fa8217e5f331",
      "parents": [
        "46998892c2f05af77d6dabd27dbcb22b9036af10"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 25 14:35:56 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 25 23:26:46 2024 +0400"
      },
      "message": "DodoApp: Support MongoDB\n\nChange-Id: I275f662848fb7d78b98d5e935f5ca87d73ca60ec\n"
    },
    {
      "commit": "46998892c2f05af77d6dabd27dbcb22b9036af10",
      "tree": "6819b9e83b23dc31804f3d7cba237b598704726a",
      "parents": [
        "6e46ac1988a084abf9d7e64b430b32f65066e7a1"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 21:07:54 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 21:07:54 2024 +0400"
      },
      "message": "Etherpad: Installer configuration\n\nChange-Id: I808e3c1835e2f0bf5fe2e0da138710c979a38e38\n"
    },
    {
      "commit": "6e46ac1988a084abf9d7e64b430b32f65066e7a1",
      "tree": "eb3ee8a1e3a493df383ce5776bac0f7db02845e3",
      "parents": [
        "45c31828e2655b6bb8f2c7fcca87f61437a1c913"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 13:51:31 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 13:51:31 2024 +0400"
      },
      "message": "Matrix: Upgrade to v1.117.0\n\nChange-Id: If75bcdb05ce57448f05093daefbdc4658b170574\n"
    },
    {
      "commit": "45c31828e2655b6bb8f2c7fcca87f61437a1c913",
      "tree": "ed2eb8021c0adf99fffc6c281582f696ee3e66a6",
      "parents": [
        "2b1157aedb2cbd8c20304af7e175f3e2b321680e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 10:58:02 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 10:59:37 2024 +0400"
      },
      "message": "AppRunner: Build next version in the background to reduce downtime\n\nNext step would be to make this point of transition configurable.\n\nChange-Id: Ibf6504a02b2d1c376e70e944e1aaada0f2dea589\n"
    },
    {
      "commit": "2b1157aedb2cbd8c20304af7e175f3e2b321680e",
      "tree": "4f27fd45cc06ed6ceb3059a02df815b6915117ee",
      "parents": [
        "51abcffce3f4ef6a18ad6a16a60acd634354b526"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 08:45:07 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 08:45:07 2024 +0400"
      },
      "message": "AppRunner: Clone specific branch instead of always running master\n\nChange-Id: I262d232f5fa1648474eb8bb55ce13f986507b0d4\n"
    },
    {
      "commit": "51abcffce3f4ef6a18ad6a16a60acd634354b526",
      "tree": "96f6d41f99a8890003d3e868965adbb34f875ee3",
      "parents": [
        "6e1f4571b795d600d6202fe38a20a014b34a87a8"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 08:37:25 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 08:37:25 2024 +0400"
      },
      "message": "AppRunner: Fix process restart\n\nWait will always return an error as we just killed the process\n\nChange-Id: I329b25811a3c7502d7e3ebe964acbe14ae14d1dc\n"
    },
    {
      "commit": "6e1f4571b795d600d6202fe38a20a014b34a87a8",
      "tree": "b1cfc008e9fbb9553ed110919ac658f3281377b2",
      "parents": [
        "f0061854caf493598f879b105edcd509e3acd5da"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 07:49:28 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 24 07:49:28 2024 +0400"
      },
      "message": "VM: Fix typo Virutal -\u003e Virtual\n\nChange-Id: Icda78b3cd9d966ebc4ccb01018da2a76ac662664\n"
    },
    {
      "commit": "f0061854caf493598f879b105edcd509e3acd5da",
      "tree": "51aa98d2cd59b18453d3ad232ad0e2dbacc83d2a",
      "parents": [
        "ff0ee0f02dfac596bbcdbe734605fa4f34f31a76"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 16 10:51:20 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 16 10:59:24 2024 +0400"
      },
      "message": "DodoApp: Style create-app form dropdowns\n\nChange-Id: I3a1102f965d66950b58f7f20c878a38fd412544b\n"
    },
    {
      "commit": "ff0ee0f02dfac596bbcdbe734605fa4f34f31a76",
      "tree": "0fa6f0a7a81ba33f066041a9c162ea0604c5f313",
      "parents": [
        "ad9e7151cc7a50467ab8e62387c5e8119dd266c9"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Oct 15 23:11:54 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 16 07:36:54 2024 +0400"
      },
      "message": "AppRunner: Kill all subprocesses when reloading new version\n\nChange-Id: Ie708f64a0c564b35b189d16823fedb0669506da4\n"
    },
    {
      "commit": "ad9e7151cc7a50467ab8e62387c5e8119dd266c9",
      "tree": "ca68dbaf07e772ad9b8cd648680245c27c99e30d",
      "parents": [
        "9f6b27df0a341292fafee904194168c9d1d49f8e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 14 19:28:40 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 16 07:36:34 2024 +0400"
      },
      "message": "DodoApp: Support pre build commands in deno app\n\nPass env vars to deno build as well.\n\nChange-Id: Ia8938d0bdef695bd4932d9c817229705be686092\n"
    },
    {
      "commit": "9f6b27df0a341292fafee904194168c9d1d49f8e",
      "tree": "864652d279a448f454a04693967590bc96109a64",
      "parents": [
        "f078f46a2a60c774e50b2e22cf8cfd9f3a81754f"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 14 10:08:40 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 14 10:08:40 2024 +0400"
      },
      "message": "DodoApp: Add network definitions to app.schema.json\n\nChange-Id: Id4c0b9b3e8cfc0475f3ecc0d9b47a6dbf676da6a\n"
    },
    {
      "commit": "f078f46a2a60c774e50b2e22cf8cfd9f3a81754f",
      "tree": "bff8f265fb1a8fc28e2428d04867d9d379b77247",
      "parents": [
        "4fde4a1fed6a333653e079d5d756f3902b2d1622"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 14 09:07:33 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 14 09:07:33 2024 +0400"
      },
      "message": "DodoApp: Ingress can configure label and home path\n\nChange-Id: I55b83f54f4aa10e6fcc74b08ea081c0f040829ac\n"
    },
    {
      "commit": "4fde4a1fed6a333653e079d5d756f3902b2d1622",
      "tree": "cdd711f0382bbb7baadd39026e2ac8914be11cf0",
      "parents": [
        "9870cc00ca128b0428e5fef1fff930ec33446039"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 13 12:19:30 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 14 09:07:05 2024 +0400"
      },
      "message": "AuthProxy: Support Regexps when checking if path requires auth\n\nChange-Id: I3bc6d3143cef46b711bb3ccc7e2cb1ee8c59313f\n"
    },
    {
      "commit": "9870cc00ca128b0428e5fef1fff930ec33446039",
      "tree": "70a3e6a47633830e584075c44e73c4063086aef1",
      "parents": [
        "e6d612959e5bbd26a656225524e80942e667fd0e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 13 09:20:11 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 13 09:20:11 2024 +0400"
      },
      "message": "AuthProxy: Forward user headers even on non auth required paths\n\nChange-Id: I3c4235639409c492b3cacd9330f140453c614fe9\n"
    },
    {
      "commit": "e6d612959e5bbd26a656225524e80942e667fd0e",
      "tree": "dcf2b2e4d98323f035116bfad167e9c53576d61f",
      "parents": [
        "d99b2bdbcd952c2383ad8eda68558ab56b9a840c"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 18:47:12 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 19:43:51 2024 +0400"
      },
      "message": "DodoApp: Expose full PostgreSQL connection string as an env var\n\nChange-Id: Ic447433598671e0579c669f75ed60d5614efc2e9\n"
    },
    {
      "commit": "d99b2bdbcd952c2383ad8eda68558ab56b9a840c",
      "tree": "76e4d3de77f04f7b3e615ddeaa99ea66f2b4bce3",
      "parents": [
        "43ec4d00bd8900f3a68c1f8379ff536430dfa342"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 18:29:15 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 18:46:51 2024 +0400"
      },
      "message": "DodoApp: Fix app.schema.json file address\n\nChange-Id: Ie8f333a08e5b5f8da5d3cea8d5fcdef4953d3fbb\n"
    },
    {
      "commit": "43ec4d00bd8900f3a68c1f8379ff536430dfa342",
      "tree": "89aa664845fee532f1f1c3eb031524fa0506aacf",
      "parents": [
        "c8faeac9b458c0d9f229383688bc3ac552cce43d"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 17:02:15 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 17:02:15 2024 +0400"
      },
      "message": "DodoApp: Support dev branches of Nextjs apps\n\nChange-Id: Iaec635265549238be88913e458a4f8aae13d3a40\n"
    },
    {
      "commit": "c8faeac9b458c0d9f229383688bc3ac552cce43d",
      "tree": "51eaa6c0234c2b199be185efadba133291d8ade5",
      "parents": [
        "5e4d1a7338df6d6442872a7750ba77228d77ae33"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 15:26:16 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 15:26:37 2024 +0400"
      },
      "message": "AuthProxy: Fix unauthenticated request handler logic\n\nChange-Id: I931546846b46e5418eb08f2b39fb3149cfda13d4\n"
    },
    {
      "commit": "5e4d1a7338df6d6442872a7750ba77228d77ae33",
      "tree": "5194942c8130f3915cf1b148c9ee1a2020dd6926",
      "parents": [
        "599462867d6911b6c444ada907df578757317d96"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 15:25:29 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 09 15:25:29 2024 +0400"
      },
      "message": "DodoApp: Add Nextjs with Deno2 support\n\nChange-Id: Ia8e029c626e2a58c3e1b2836497c4f17eaf0f352\n"
    },
    {
      "commit": "599462867d6911b6c444ada907df578757317d96",
      "tree": "806f2befe558568db2f6b79a4cf5b666ab9cc7d3",
      "parents": [
        "3cabc3ea44f3c25bcca5ca9db7736f5272af6c58"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Oct 07 12:55:51 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Oct 08 08:15:25 2024 +0400"
      },
      "message": "Installer: Refactor and give each searver its own directory\n\nChange-Id: I1db2929e7a35b6f92022dec0c6506d68e0297563\n"
    },
    {
      "commit": "3cabc3ea44f3c25bcca5ca9db7736f5272af6c58",
      "tree": "a6d092094db6604dfbd00efa3a1fcab1cc6af151",
      "parents": [
        "2f9ed20ed2886164383f6c71e60c6e2bd784d97c"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 18:37:27 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 21:38:46 2024 +0400"
      },
      "message": "PrivateNetwork: Configure cluster proxy backend\n\nChange-Id: Ieeca2da6bd69ee3a440960ff3d4cdb9371f3a8c6\n"
    },
    {
      "commit": "2f9ed20ed2886164383f6c71e60c6e2bd784d97c",
      "tree": "a177a2b14ad27a453a79f7435514f1e81b94a7ab",
      "parents": [
        "69b8443d29976593af8ad4c446c7a51db9e6fc15"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 17:47:00 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 17:47:00 2024 +0400"
      },
      "message": "Headscale: Configure Memberships sync API endpoint\n\nChange-Id: Iab3264231cdb1c2efb6089e0c01c5e7367d228ca\n"
    },
    {
      "commit": "69b8443d29976593af8ad4c446c7a51db9e6fc15",
      "tree": "fb84800d6d742a2578183d939f262a18b0084116",
      "parents": [
        "07458ded00bb47d86ba550458735c4caab4f7692"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 17:46:05 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 17:46:05 2024 +0400"
      },
      "message": "EnvManager: Add Stop method and shutdown server using it in tests\n\nChange-Id: I552db6dc1487ed880bce897c7cec85a89a15355d\n"
    },
    {
      "commit": "07458ded00bb47d86ba550458735c4caab4f7692",
      "tree": "7b69a15c776117c42fc0b75d71bf1f95b523f2c3",
      "parents": [
        "e44c151f6296b576d05d512d26483d4dd18e99da"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 17:45:45 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 17:45:45 2024 +0400"
      },
      "message": "EnvManager: Configure config repo data volume\n\nChange-Id: Ide487088df33cd9a351134fc2587eae9c8d96549\n"
    },
    {
      "commit": "e44c151f6296b576d05d512d26483d4dd18e99da",
      "tree": "f847e86faf930a30c1dc6335aab781df6bfa3fc3",
      "parents": [
        "6054e213d13eef195baf14685a3067b1e4d619f7"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 14:13:55 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 14:20:12 2024 +0400"
      },
      "message": "DodoApp: Clean up commits on branch/app delete\n\nFix redirect URL after app deletion.\n\nChange-Id: Id26b114d9dc47a8de547368e55531816d21dd26c\n"
    },
    {
      "commit": "6054e213d13eef195baf14685a3067b1e4d619f7",
      "tree": "ff3f5cd72a48c4aee4882fdd1c2566888c80de53",
      "parents": [
        "92116ca60f8400722a07b952bfcc259a7852f468"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 14:07:05 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 14:07:17 2024 +0400"
      },
      "message": "DodoApp: Move app action forms at the top\n\nChange-Id: Ic3749333f1fccabba748cb843a5d43fa788f9a68\n"
    },
    {
      "commit": "92116ca60f8400722a07b952bfcc259a7852f468",
      "tree": "f44889e49c0dd0f4ca2afd0812477b3bbf78fbf7",
      "parents": [
        "362fd8e2ec90531e3cf8e31ab5509f178482721e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 13:55:46 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 13:55:46 2024 +0400"
      },
      "message": "Installer: Handle VM uninstall before it has had a time to boot\n\nChange-Id: I615bc949b5054b301899b1e0b7eae94a98126e61\n"
    },
    {
      "commit": "362fd8e2ec90531e3cf8e31ab5509f178482721e",
      "tree": "15d701ae0fbed170f129770cb51b9d1d88c4821c",
      "parents": [
        "5cc6afcffb5cb1bcf29fe1209adb5c003e1bf733"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 10:12:54 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 10:12:54 2024 +0400"
      },
      "message": "DodoApp: Make form disabling logic work with all forms on the page\n\nChange-Id: Ib82aa2fbd9c607fbc373fc0944fd5729813b128e\n"
    },
    {
      "commit": "5cc6afcffb5cb1bcf29fe1209adb5c003e1bf733",
      "tree": "f503dd40800261494428b0793703aa873df3297c",
      "parents": [
        "829b1b7f734b4e8c6e03ba557a426ff0ed5ef155"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 09:33:44 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Oct 06 09:33:44 2024 +0400"
      },
      "message": "DodoApp: Add optional name field to create app form\n\nChange-Id: I03f6efaf9cf787e34c69da1b9a97913c195b2c8c\n"
    },
    {
      "commit": "829b1b7f734b4e8c6e03ba557a426ff0ed5ef155",
      "tree": "64da62a12ebf7c17d1dc1a331abbd238bfe43ed2",
      "parents": [
        "9a283ccb0ad2b47b183d3644c800fe81d884860d"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 21:50:56 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 22:02:43 2024 +0400"
      },
      "message": "DodoApp: Fix app uninstall\n\nChange-Id: I17c28bbd88dde9c064a31388411ebf40cffdea31\n"
    },
    {
      "commit": "9a283ccb0ad2b47b183d3644c800fe81d884860d",
      "tree": "2f964f5da588da74e13265b2c760fd7fa6fdae6d",
      "parents": [
        "8c8761743bd0f2c493e9c3256b566a5ec30989d4"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 20:15:29 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 20:15:29 2024 +0400"
      },
      "message": "Installer: Fix cluster proxy mapping check during app uninstall\n\nChange-Id: I4b051bacb35ed54804327914340ca3205804139f\n"
    },
    {
      "commit": "8c8761743bd0f2c493e9c3256b566a5ec30989d4",
      "tree": "40bda70ffca8b9e06b543de63eba198c6ffe1271",
      "parents": [
        "1e7257703a3461418283d2f7e6300661a2923d61"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 12:25:13 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 13:00:08 2024 +0400"
      },
      "message": "AppManager: Remove delay between initiating same kind of task twice\n\nChange-Id: I539f3cb357e00ab560eaff34bef8ae2595e11b44\n"
    },
    {
      "commit": "1e7257703a3461418283d2f7e6300661a2923d61",
      "tree": "2096d0bdfdc858e2ee7933aa2a601d086c71ae47",
      "parents": [
        "4557dc0f42f18e964f3e39327f971d639a348b04"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 10:08:44 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Oct 05 10:15:13 2024 +0400"
      },
      "message": "Installer: Fix server type drop down selection\n\nShow only controller type for new clusters.\n\nChange-Id: I781f8cbf773d755dd731b62a1801947fc94970d9\n"
    },
    {
      "commit": "4557dc0f42f18e964f3e39327f971d639a348b04",
      "tree": "baa112210af95d26c0f43ff00b14c6cf6508c69a",
      "parents": [
        "1afc3cdd8264c87d3b029ae7f8e82939e73286d1"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 04 19:29:25 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 04 19:29:25 2024 +0400"
      },
      "message": "PrivateNetwork: Setup secrets ACL for both of the tailscale clients.\n\nChange-Id: I671b66ba06712b6842aa47cb2607b2a46ce0e0d4\n"
    },
    {
      "commit": "1afc3cdd8264c87d3b029ae7f8e82939e73286d1",
      "tree": "342baaa2572c346f524cf645220b37bcfb714fc1",
      "parents": [
        "28d5b72e868f490a81412523539f7c58682c5080"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 04 19:28:15 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 04 19:28:15 2024 +0400"
      },
      "message": "CaptureConfig: Update config if it already exists.\n\nChange-Id: I0ecd09a65f0d74806d0329772e04ffa57e9a40ee\n"
    },
    {
      "commit": "28d5b72e868f490a81412523539f7c58682c5080",
      "tree": "eb31cd742ef61737ca068c9d909422e0adfa4a40",
      "parents": [
        "5887caa19c080583a548775d8cf20e476bfba6da"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 04 19:27:34 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Oct 04 19:27:34 2024 +0400"
      },
      "message": "Memberships: Use external volume, remove one from the Helm chart.\n\nChange-Id: Ie2afcd9ab28a12e7d6bea6375a96e00a0f63b525\n"
    },
    {
      "commit": "5887caa19c080583a548775d8cf20e476bfba6da",
      "tree": "1776ef4e55b9f220eefc02d89ab80379894591d7",
      "parents": [
        "d17ad3e70f6c0f3daf37565c61e59f3942212343"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 15:07:23 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 21:50:54 2024 +0400"
      },
      "message": "DodoApp: Implement branch and app delete functionalities.\n\nChange-Id: I8bf6ed30a6274203e73e80f05a4b82896509ecb0\n"
    },
    {
      "commit": "d17ad3e70f6c0f3daf37565c61e59f3942212343",
      "tree": "6c9427af35aa671d3309d6d8db712fc84365ce9e",
      "parents": [
        "9b215271defd55beba6cd8726bd9a70a57cff499"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 13:09:55 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 13:09:55 2024 +0400"
      },
      "message": "EnvManager: Disable group authorization on memberships service.\n\nChange-Id: I39495ba364204e3c553723cbea0a827ae46ec1e2\n"
    },
    {
      "commit": "9b215271defd55beba6cd8726bd9a70a57cff499",
      "tree": "c8e418fa96834453d498a40c0f4cfcdc373f3f87",
      "parents": [
        "488554fc5a7721500f8a6d57c52c4002f1da6e5b"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 10:07:13 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 12:48:17 2024 +0400"
      },
      "message": "Gerrit: Update to 3.10.0 and add serviceuser plugin\n\nChange-Id: I20023f0da93982461e78639a554c73191762a1e4\n"
    },
    {
      "commit": "488554fc5a7721500f8a6d57c52c4002f1da6e5b",
      "tree": "a41328703051a02fe60532c2e60f66e8e98601a2",
      "parents": [
        "dd213159a7a44ae9b35524de154f6ca6ccd568f3"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Oct 02 16:41:26 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 12:45:27 2024 +0400"
      },
      "message": "AppManager: Always default to default cluster.\n\nChange-Id: I36ca1d710092cb3214d77ef24434ca817ba0b64d\n"
    },
    {
      "commit": "dd213159a7a44ae9b35524de154f6ca6ccd568f3",
      "tree": "6ccf5807dbc42331bca84e4081023b58fae9bfa6",
      "parents": [
        "dcd9fefca814cd6cb997d2da9b00b4356589aee3"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Sep 27 11:26:59 2024 +0200"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Oct 03 12:43:25 2024 +0400"
      },
      "message": "Auth: Add page to change password.\n\nConfigure launcher as a default return to address.\n\nUse standard X-Forwarded-User instead of custom X-User header.\nAdd X-Forwarded-UserId header holding user unique identificator.\n\nChange-Id: Ib2e6329ba9fb91d2cc9a86b0c5fc78898769e3b8\n"
    },
    {
      "commit": "dcd9fefca814cd6cb997d2da9b00b4356589aee3",
      "tree": "bc2f273286ecd6df7a4c7ac93ea726adc44ebb49",
      "parents": [
        "c81a847da3d91a83c05c98c41adadf89d18f913b"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Sep 26 14:42:59 2024 +0200"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Sep 29 11:56:37 2024 +0200"
      },
      "message": "Auth: Enhance password validation.\n\nIncrease minimum length to 20.\nCheck for digits, lower/upper case and special characters.\n\nChange-Id: I7837780716487843f01ed2af97fcf30505d27ef7\n"
    },
    {
      "commit": "c81a847da3d91a83c05c98c41adadf89d18f913b",
      "tree": "b292ac26094257efdafafca25abb60ff24e79100",
      "parents": [
        "8f2903253c51454d613c948eb10d2dbc8b55daa3"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Sep 24 13:06:19 2024 +0200"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Sep 26 14:04:15 2024 +0200"
      },
      "message": "DodoApp: Use JSON file for configuration.\n\nSpecify json schema so code editors can validate user input.\nUpdate auth proxy to disable auth on specified paths.\n\nChange-Id: Ic6667d802a9553444d3630c4ff73f4b33304ccfd\n"
    },
    {
      "commit": "8f2903253c51454d613c948eb10d2dbc8b55daa3",
      "tree": "f8aa032050c2e53e841151e2c5281a12989bfe6d",
      "parents": [
        "f15b9dae8da59ea970cebe865673c0b74fb05d14"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Sep 21 15:37:45 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Sep 21 17:58:03 2024 +0400"
      },
      "message": "Clusters: Support persistent storage on remote clusters.\n\nWith this merged users can request persistent volumes and PostgreSQL\ninstances on remote clusters.\n\nThis is achieved by Cluster manager installing open-iscsi on all\nremote servers and running longhorn on top of them.\n\nChange-Id: Ic1b24ede12fa32bb99f38e560207230437b45fd6\n"
    },
    {
      "commit": "f15b9dae8da59ea970cebe865673c0b74fb05d14",
      "tree": "f6ae28d7c46bd6c833ada7c436f4dacab0628876",
      "parents": [
        "f6ad298e24e22c1fadb203d85f8b8dd6cb118e25"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Sep 19 06:59:16 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Sep 21 11:45:45 2024 +0400"
      },
      "message": "DodoApp: Support remote clusters\n\nChange-Id: I6f4e6a0a32cc723b47c96518d83b1ffdb5169f14\n"
    },
    {
      "commit": "f6ad298e24e22c1fadb203d85f8b8dd6cb118e25",
      "tree": "ec764428f186cf879085d6956b20d315434408aa",
      "parents": [
        "4a3e54c86c05e4881105f7aced6f039a383ed5a1"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 23 17:42:49 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Sep 20 14:19:48 2024 +0000"
      },
      "message": "ClusterManager: Implements support of remote clusters.\n\nAfter this change users will be able to:\n* Create cluster and add/remove servers to it\n* Install apps on remote cluster\n* Move already installed apps between clusters\n* Apps running on server being removed will auto-migrate\n  to another server from that same cluster\n\nThis is achieved by:\n* Installing and running minimal version of dodo on remote cluster\n* Ingress-nginx is installed automatically on new clusters\n* Next to nginx we run VPN client in the same pod, so that\n  default cluster can establish secure communication with it\n* Multiple reverse proxies are configured to get to the\n  remote cluster service from ingress installed on default cluster.\n\nNext steps:\n* Support remote clusters in dodo apps (prototype ready)\n* Clean up old cluster when moving app to the new one. Currently\n  old cluster keeps running app pods even though no ingress can\n  reach it anymore.\n\nChange-Id: Iffc908c93416d4126a8e1c2832eae7b659cb8044\n"
    },
    {
      "commit": "4a3e54c86c05e4881105f7aced6f039a383ed5a1",
      "tree": "f46ae31bee0e0ac429fd9a0dbf3c40c61ebe74d3",
      "parents": [
        "29f6b872c0a6b438198e0fbd3d9fc22150d378e1"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Sep 18 19:10:06 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Sep 19 22:50:55 2024 +0400"
      },
      "message": "Jenkins: Update configuration-as-code plugin version\n\nChange-Id: I962810c9d8d0586bf7a94a9388aee0e3530b4370\n"
    },
    {
      "commit": "29f6b872c0a6b438198e0fbd3d9fc22150d378e1",
      "tree": "1de826a26d8c6c3be5e6aff48b273ae49a3c024e",
      "parents": [
        "cfb228ce21f864457a72d1fe238a336359db8a65"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Sep 08 16:14:58 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Sep 09 18:03:10 2024 +0400"
      },
      "message": "VirtualMachine: Make VPN optional\n\nChange-Id: I22c8235a651969665fc50e6b2841d710ca137109\n"
    },
    {
      "commit": "cfb228ce21f864457a72d1fe238a336359db8a65",
      "tree": "63448efc29c9f95dc31843e1854cbc9381a3e8a6",
      "parents": [
        "864b433c85eeb46dfcba5bcab2dc88bc5d467570"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Sep 06 15:44:31 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Sep 06 16:56:28 2024 +0400"
      },
      "message": "DodoApp: VMs load dodo specific env vars from the dodo app manager\n\nChange-Id: I522619a3ba6cd6c78eb4fe1dd8c91ec490759fdf\n"
    },
    {
      "commit": "864b433c85eeb46dfcba5bcab2dc88bc5d467570",
      "tree": "db43e80cfbaf8ba5e1e03108ad36259bff5d7f12",
      "parents": [
        "7fbd4ad2920fa3ac2923bffb3f30c2bd2dd1a846"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Sep 05 13:56:47 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Sep 05 13:56:47 2024 +0400"
      },
      "message": "AppManager: Clean up VPN node and auth keys upon app removal\n\nChange-Id: Ie76278556247d16806ba81286621adca973e3f6e\n"
    },
    {
      "commit": "7fbd4ad2920fa3ac2923bffb3f30c2bd2dd1a846",
      "tree": "14fb607a7a45e142ea90e58751c4b7825e2a7e59",
      "parents": [
        "dd32bbcf11ff3be729efe7bcc9902761858e2b00"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Aug 27 10:06:39 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Sep 04 13:50:35 2024 +0400"
      },
      "message": "DodoApp: Support dev virtual machines\n\nChange-Id: Ib7641adb5be477bdde7cd9a06df4b45aa65a1c01\n"
    },
    {
      "commit": "dd32bbcf11ff3be729efe7bcc9902761858e2b00",
      "tree": "4a9f07107cfa9a9a6515c46eb93c49df69a01dd5",
      "parents": [
        "36b23b3c95ddb458a3e30b147c694eeba78139cc"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Aug 28 17:14:26 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Aug 28 14:29:44 2024 +0000"
      },
      "message": "Welcome: Remove headscale-user installation\n\nAuto user sync logic takes care of creating headscale internal users.\n\nChange-Id: I25ca82a5e327c8e7666ce27cfd5f810690641a5e\n"
    },
    {
      "commit": "36b23b3c95ddb458a3e30b147c694eeba78139cc",
      "tree": "07d0634412ebb55fa4f899b63d1b991753357b96",
      "parents": [
        "b36178fae43c466c648a928c94047605e9357808"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Aug 25 12:20:54 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Aug 27 08:46:39 2024 +0400"
      },
      "message": "VirtualMachine: Implement virtual machines using KubeVirt\n\nAuto adds new VM into given user\u0027s Tailscale network\n\nChange-Id: I16847a0b9eacc17b0e794d3b4913eb1d80a93f0a\n"
    },
    {
      "commit": "b36178fae43c466c648a928c94047605e9357808",
      "tree": "6fc5284c708a783e2d7799e1191203dcc4f1f44e",
      "parents": [
        "c76baedf55dd3e0d36ef0fd7a476601120bd57d7"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 23 18:59:15 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 26 15:40:54 2024 +0000"
      },
      "message": "Headscale: Sync users and update ACLs\n\nChange-Id: Ie3488f6296567f5e2301476912d79de845299708\n"
    },
    {
      "commit": "c76baedf55dd3e0d36ef0fd7a476601120bd57d7",
      "tree": "e14e4c39f20dbd51af2abed5f8d2e5873e7865c5",
      "parents": [
        "43b0f42893efb5284f0fb5d6ca9c12f4688680b4"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 22:04:57 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 22 07:58:30 2024 +0000"
      },
      "message": "PortAllocator: Persist reservations\n\nSpeed up improve random port generation.\nUpdate unit tests and add them to CI/CD.\n\nChange-Id: Ia77f0b4cbccfdce86e6c3cedc68afe6796ca8bf4\n"
    },
    {
      "commit": "43b0f42893efb5284f0fb5d6ca9c12f4688680b4",
      "tree": "0b042cac5d1d7939a36601893cb27cb2ac39bc4e",
      "parents": [
        "608148d0414fd65e8dadeccc07093e3e4e9e6321"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Aug 21 10:40:13 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Aug 21 19:56:55 2024 +0400"
      },
      "message": "Reconciler: Reconcile dodo Apps as well\n\nFix service-account assignment.\n\nChange-Id: Ic66c46ae5b728e09ee9118f61e31ab860623bce0\n"
    },
    {
      "commit": "608148d0414fd65e8dadeccc07093e3e4e9e6321",
      "tree": "c79b950d8d1493c0e48fb1c4f871dc9789545ca2",
      "parents": [
        "5215d4460e2c17f37b206543a6f906c49c742ea0"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Aug 21 14:44:29 2024 +0400"
      },
      "committer": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Wed Aug 21 12:59:02 2024 +0000"
      },
      "message": "Appmanager: Fix dropdown network select color mismatch\n\nChange-Id: I7be839d182ef99bf03d4645d9a0cb56153bf262c\n"
    },
    {
      "commit": "5215d4460e2c17f37b206543a6f906c49c742ea0",
      "tree": "fc7cf476d63937b9199055b3ac691ed7a7855fe0",
      "parents": [
        "183e8345c36c345ec65872050015265f9fe6d117"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Aug 21 15:40:06 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Aug 21 15:41:44 2024 +0400"
      },
      "message": "Launcher: Help Content font fix and some minor css changes\n\nChange-Id: I2b4bfc16bd20fbd9d9a3cbec021ea9cd47d84333\n"
    },
    {
      "commit": "183e8345c36c345ec65872050015265f9fe6d117",
      "tree": "000ef7f39ac0a6c55f8e2df25c35820992327d17",
      "parents": [
        "71ffe88416b8c7a97d9b8efb80e3e0ee1c4977e6"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Aug 20 06:01:24 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Aug 20 14:43:18 2024 +0400"
      },
      "message": "DodoApp: Logs\n\nChange-Id: Idb429c417b639b53352642d1d59a6b29622d499f\n"
    },
    {
      "commit": "71ffe88416b8c7a97d9b8efb80e3e0ee1c4977e6",
      "tree": "4c5f5b252026da6f447fdc8f4639b062996b6da9",
      "parents": [
        "e38c40f9c562fe9e622bfd822d5643242de940fd"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 09:55:47 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Aug 20 14:43:13 2024 +0400"
      },
      "message": "DodoApp: Fix PostgreSQL service address env var\n\nChange-Id: Iab0759a4133389df0d6b7ccc3122dea7fdbdb929\n"
    },
    {
      "commit": "e38c40f9c562fe9e622bfd822d5643242de940fd",
      "tree": "811990edbcfb19c16f52c5a52a8c8b196f3cebd9",
      "parents": [
        "b4a3a19dd3910ee3c8c93b68aa76db3975ecba61"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Aug 19 13:58:36 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Aug 19 22:52:15 2024 +0400"
      },
      "message": "AppManager: Show spinner during search\n\nSearch form doesn\u0027t throw an error when not on main page\n\nChange-Id: I108c681101c3b03901205695ee3775fb18eaa900\n"
    },
    {
      "commit": "b4a3a19dd3910ee3c8c93b68aa76db3975ecba61",
      "tree": "89011263b7454cab0a48a3a29e3a59266b978c0a",
      "parents": [
        "12e887d5a4c515e173bc3306c83aec0e28113e5b"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 09:55:47 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 14:32:34 2024 +0400"
      },
      "message": "DodoApp: Implement commit status page\n\nRender used volume, postgresql and ingress resource details.\n\nChange-Id: I87f34fd19d0d0d31ec495d2798c9f5ce99c0fd43\n"
    },
    {
      "commit": "12e887d5a4c515e173bc3306c83aec0e28113e5b",
      "tree": "25d837416a2ae666982e583cf74511288908a19b",
      "parents": [
        "e2e31e1cd45d3eadb745af73bf6db225f6b1fbb0"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Aug 18 16:09:47 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 14:32:22 2024 +0400"
      },
      "message": "DodoApp: Support postgresql config\n\nChange-Id: I491553c709385b99d0bc1326dd967bd73c4fec6a\n"
    },
    {
      "commit": "e2e31e1cd45d3eadb745af73bf6db225f6b1fbb0",
      "tree": "34ca940393c33a6dd0ff8e9381c079cf81b6db7d",
      "parents": [
        "9877f292b2b037beea96dc916144feb7b8700a30"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Aug 18 08:20:56 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 14:31:49 2024 +0400"
      },
      "message": "DodoApp: Improve UI\n\nChange-Id: Ia374b600c9b61e7543a1c7dffb2ade9b58c7d49f\n"
    },
    {
      "commit": "9877f292b2b037beea96dc916144feb7b8700a30",
      "tree": "92c8309cfed74332269ac6620027a41a6cced354",
      "parents": [
        "1bf00809c3db2b93c115af677ad18d3a48c5a75e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Aug 17 15:11:15 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 14:31:31 2024 +0400"
      },
      "message": "AppManager: Use dodo hosted repo for Helm charts\n\nChange-Id: I236bd13907514ab3bced6c7353edc1b03b60b6ee\n"
    },
    {
      "commit": "1bf00809c3db2b93c115af677ad18d3a48c5a75e",
      "tree": "ff5a380e5803ae30dc77f40c94a59e760547d73a",
      "parents": [
        "a344a2ae9b21ed21447d8702be36e5bc7907fdb9"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Aug 17 12:31:41 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 19 14:29:29 2024 +0400"
      },
      "message": "DodoApp: Cache static resources.\n\nChange-Id: Ib1f800ea052c5f3b7929a1d325b351dfa0a6633e\n"
    },
    {
      "commit": "a344a2ae9b21ed21447d8702be36e5bc7907fdb9",
      "tree": "a59c07950207e45cdab0f9a5794b343814b07b5e",
      "parents": [
        "5f00a395178c23115904278e94d163ba6f19f0f8"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 17:13:48 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 14:39:04 2024 +0000"
      },
      "message": "PortAllocator: Open node ports only for NodePort type service\n\nChange-Id: Id2369df9a33669b3d09ef34975306a615ff935b7\n"
    },
    {
      "commit": "5f00a395178c23115904278e94d163ba6f19f0f8",
      "tree": "68cd291c3b74f15ad22821ccf6cca1b1b7c4019a",
      "parents": [
        "33fa9caf7e18db1c651beecd5997291cf611e6b4"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Aug 13 18:37:02 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Fri Aug 16 18:34:46 2024 +0400"
      },
      "message": "AuthProxy: Render unauthorized page\n\nChange-Id: I979762c63b0d1b3c3674fd0b9ab79ccd8849887a\n"
    },
    {
      "commit": "33fa9caf7e18db1c651beecd5997291cf611e6b4",
      "tree": "d3ed4ce4e2e3bc751b0684802bb5ee6a1f95180b",
      "parents": [
        "5588514e082d8ad82167a81767d7b746d83db2a0"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 10:25:24 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 15:25:19 2024 +0400"
      },
      "message": "Launcher: Auto reload app dock every 5 seconds.\n\nAnimate install/uninstall flows.\n\nChange-Id: Id06ddc0d5f8b3cef3205de99b3a16ba1ac285213\n"
    },
    {
      "commit": "5588514e082d8ad82167a81767d7b746d83db2a0",
      "tree": "0930fe8cad73641687c679daffe501e0897fa792",
      "parents": [
        "1cd6515699e3803eec44e90880f9de2d227b14c4"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 13:11:00 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 11:16:05 2024 +0000"
      },
      "message": "AuthProxy: Fix multi arch image manifest\n\nChange-Id: I0ea6a03c2b30cf556bd8e5cf9587193126692bf5\n"
    },
    {
      "commit": "1cd6515699e3803eec44e90880f9de2d227b14c4",
      "tree": "934415c72d05eb2ec565dbcb2630c3b7e3507929",
      "parents": [
        "2ccb6e3deada87db0fddc82726662af084565e0b"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 08:18:49 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 16 09:15:54 2024 +0400"
      },
      "message": "AppManager: Run installation in background\n\nSeparates process into two sequential tasks: commit to config repo and\nmonitor release resources.\n\nChange-Id: Ib208839dffc475b5d9c5d21758bc2a18a7f76cb7\n"
    },
    {
      "commit": "2ccb6e3deada87db0fddc82726662af084565e0b",
      "tree": "68bca7fbe39660c8164d45ce3da26ff883281f0c",
      "parents": [
        "d28f83c53dbee2b81b3d08ed1d2f726962465a68"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 15 12:01:33 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 15 22:40:06 2024 +0400"
      },
      "message": "DodoApp: New app gets all internal users as read-write collaborators\n\nDisable SoftServe keyless and anon access\n\nChange-Id: I898a34a5dbd4c8ce049f834dd61a96a3abb1e603\n"
    },
    {
      "commit": "d28f83c53dbee2b81b3d08ed1d2f726962465a68",
      "tree": "4a8fefad34241856899eb791395fd55cc2abb5e0",
      "parents": [
        "780a0d0939c9f0ae8dd88c34dd331248a5b47e7b"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 15 10:53:40 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 15 21:08:50 2024 +0400"
      },
      "message": "IngressPublic: use Deployment with NodePort service\n\nSpread replicas on different hosts.\nNow PortAllocator allocates node ports as well.\n\nChange-Id: Ia16cb24673fc6c61185f21ab30fde8964157aa4c\n"
    },
    {
      "commit": "780a0d0939c9f0ae8dd88c34dd331248a5b47e7b",
      "tree": "3f226829a6082443487988b2cba1b720dc00c006",
      "parents": [
        "4aaa27b075d5e5c88fdd6f2b24f3a49ce36c2690"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Aug 05 20:53:26 2024 +0400"
      },
      "committer": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Wed Aug 07 12:57:14 2024 +0000"
      },
      "message": "Appmanager: implement functional search bar\n            reworked handlers for different app types\n\nChange-Id: I82d3c856aa5c583dcdcf83ed6fbaf440bc4c8f87\n"
    },
    {
      "commit": "4aaa27b075d5e5c88fdd6f2b24f3a49ce36c2690",
      "tree": "a5ffd7ef5451233a7cc9b254f74cb31e56348102",
      "parents": [
        "a5ea509104618a03da6b121ac84ced4534e56356"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Aug 05 20:23:50 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Aug 07 02:43:26 2024 +0400"
      },
      "message": "Dodo-app: fix sync user info bug\n          disable form after running app installation\n\nChange-Id: I28dec5f8a9ad1d586bc2d2cc56a6c1c66cf2fdbe\n"
    },
    {
      "commit": "a5ea509104618a03da6b121ac84ced4534e56356",
      "tree": "cc6adf387c5076a4b8e2f9b16566c79201332cd2",
      "parents": [
        "932849fc25499d0b2d12e4ac0bc01d3b32fda6ba"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Thu Aug 01 15:28:09 2024 +0400"
      },
      "committer": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Fri Aug 02 07:58:55 2024 +0000"
      },
      "message": "DodoApp: Sync deleted users and keys\n\nChange-Id: Ib71fbdd142fd13fbaa4c24fb8971afe157a184b6\n"
    },
    {
      "commit": "932849fc25499d0b2d12e4ac0bc01d3b32fda6ba",
      "tree": "362ff0c5261ae7865422d4cd53e8560b4a908067",
      "parents": [
        "2728e40ac3b213dc98e7da6561e81031a972c12e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 02 09:01:48 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 02 11:03:02 2024 +0400"
      },
      "message": "Coder: Helm chart and configuration\n\nChange-Id: I43515c289001bf1407aee1f9734151a261a7808a\n"
    },
    {
      "commit": "2728e40ac3b213dc98e7da6561e81031a972c12e",
      "tree": "2e3326a3b59d995213b366b948993b61c9adf5f5",
      "parents": [
        "4784f8e6ebd0266b24a808a5d7bd15251728df29"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 18:14:21 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 19:03:30 2024 +0400"
      },
      "message": "Welcome: Create new users via Memberships API\n\nChange-Id: Iaa12b3438340a5ca4c4fdb2157d1e8f064d56139\n"
    },
    {
      "commit": "4784f8e6ebd0266b24a808a5d7bd15251728df29",
      "tree": "83ff4e292e60bef9db56f72b0ec303d807c565bd",
      "parents": [
        "6c00db83a045aabecbde4e5f3cfff64e2dfc9836"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 15:20:12 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 15:31:32 2024 +0400"
      },
      "message": "Welcome: Log first account creations response\n\nChange-Id: I5796731b2fb5fe8c497bd0b46758a33126c90bf3\n"
    },
    {
      "commit": "6c00db83a045aabecbde4e5f3cfff64e2dfc9836",
      "tree": "635e151b055c361e47b551851bc459a1d56ab316",
      "parents": [
        "b79db3a8a158b4d47b2e9b5b0bf1dad4167cc90e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 15:10:24 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 15:31:11 2024 +0400"
      },
      "message": "Welcome: fix `create Account` typo\n\nChange-Id: I0b5e94d230364bef2cb9e581729534f8766d4e8a\n"
    },
    {
      "commit": "b79db3a8a158b4d47b2e9b5b0bf1dad4167cc90e",
      "tree": "3543875eb99934525ed5fb4f940e7897447bca3b",
      "parents": [
        "69731e8920f963681e75895c3b25944f9c8a45e5"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 14:20:42 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 15:30:51 2024 +0400"
      },
      "message": "EnvManager: Fix infrastructure service wait addresses\n\nChange-Id: I525fd989ee249b725023c7f118a745fb60b4c957\n"
    },
    {
      "commit": "69731e8920f963681e75895c3b25944f9c8a45e5",
      "tree": "ed24097372f29ab60be7941e3ebeb1b2a0e531fd",
      "parents": [
        "8c942d28635a9b9da8b6b82b03e6255513dfdcd7"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 14:15:55 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 14:15:55 2024 +0400"
      },
      "message": "AppManager: Sync installations\n\nChange-Id: I942de06226e962be996a69f3522f3e510cacd252\n"
    },
    {
      "commit": "8c942d28635a9b9da8b6b82b03e6255513dfdcd7",
      "tree": "c88b2850bea803edc6b587dcb4e091eaa635516b",
      "parents": [
        "636d1304af28c9b3ef67760bf8f15d5332aa9835"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 17 13:43:02 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 13:30:40 2024 +0400"
      },
      "message": "Installer: Rightsize app icons\n\nChange-Id: Ie7045e66382554d26c443cc59f82e33910d7551e\n"
    },
    {
      "commit": "636d1304af28c9b3ef67760bf8f15d5332aa9835",
      "tree": "5a7b20d437e38bfe944881c8ccbd7e1e6701dd31",
      "parents": [
        "785d8bb21e11d881e2f83d5f296791f688f19321"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 09:17:28 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 11:09:40 2024 +0400"
      },
      "message": "Network: Update help document to list DNS records to publish\n\nChange-Id: I0ba46191b0ad7fee9c1caf5e52cadbd44c73dbf2\n"
    },
    {
      "commit": "785d8bb21e11d881e2f83d5f296791f688f19321",
      "tree": "a1bf175c15d9055a146dba01eae0306500454633",
      "parents": [
        "4699440871aae03580345c2658d8d31049d4ab00"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 31 17:47:07 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Aug 01 11:09:23 2024 +0400"
      },
      "message": "EnvManager: Remove dependencies on ingress-private\n\nChange-Id: If9db88b0a5c589ceb791647977e3608282a81190\n"
    }
  ],
  "next": "4699440871aae03580345c2658d8d31049d4ab00"
}
