)]}'
{
  "log": [
    {
      "commit": "2a79bfe4b885d4db6902603d9a6fdcd4358aacf7",
      "tree": "4ec6facafc1690aa05253b0643ede3edceaa0ce0",
      "parents": [
        "deaf326f5d9858f9d53dc60f899443bb9e35f9ba"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 04 16:02:22 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 04 16:12:30 2025 +0400"
      },
      "message": "Launcher: Remove tooltip width\n\nChange-Id: I00d82cf8fdde1619307af7b69e982c765e2f5b4a\n"
    },
    {
      "commit": "3322247c26ee3fac4310baa16acf4727b32e9826",
      "tree": "6beeb24fa2228018b52c5829ba78568412fffc98",
      "parents": [
        "456167909ed79b2c580b2e1f59a0c7c40585c3ed"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 04 12:02:34 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Aug 04 15:23:19 2025 +0400"
      },
      "message": "AppManager: Report env vars as part of access\n\nChange-Id: Ibc488b86b4b3968efb00a8ef0eda3c7f0f1c4a41\n"
    },
    {
      "commit": "e10ba16719d9b55295e9b950cfd647b536e3b735",
      "tree": "6e45d4d55a1ba0105bd23fe153e2097b285f0687",
      "parents": [
        "2835615e4cd72a46289f2e14c9afb0ccc43e0ceb"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 31 19:52:29 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Aug 01 14:50:16 2025 +0400"
      },
      "message": "DodoApp: Implement dev proxy mode\n\nWith dev proxy user can substitute any service with their own local\nmachine. In which case dodo will run proxy server on the platform\nwhich will forward all requests to the configured address.\n\nWhen VPN is enabled, dodo will run tailscale sidecar in the proxy pod.\n\nChange-Id: I12592ae77d2e88e0582c8fe1e0f82e5fd24e02cb\n"
    },
    {
      "commit": "134be72adbab1ee6071fa0f976ad29a97262ef7f",
      "tree": "bebc9b706ae4156baebdc550d75b26a536e59d18",
      "parents": [
        "5449e2749f1bca529f40d1debd61640bb77def34"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Jul 20 19:01:17 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 30 13:00:00 2025 +0400"
      },
      "message": "Memebrships: Refactor Store interface\n\nUse unified memberships table.\nAdd few internal API endpoints.\n\nChange-Id: I80ac5a0f5c262e04d7898cca571b938a35d68d39\n"
    },
    {
      "commit": "212f8005eccaab752054eb65ef74fc01d37a31fd",
      "tree": "fffad966154dda6ca79732440dc0a9b3c94ae9aa",
      "parents": [
        "e085d5baf2a4c404e47820b1061417f62671ad42"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jul 08 14:28:43 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jul 08 14:34:44 2025 +0400"
      },
      "message": "DodoApp: Return env vars on install/update\n\nPass service namespace as env var as well.\nFix llm-api-key flag.\n\nChange-Id: Iff8c845c4a1b62eb4940463a62eb32487abd5992\n"
    },
    {
      "commit": "6ce4481b19e87a2b010ca9dd7247f894eea32448",
      "tree": "8e1531b7a50520bc4617df14f6d5d893e8719ebc",
      "parents": [
        "fd8202a598472da514ee9b220e6f2127daeac385"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat May 17 07:31:54 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon May 19 13:44:35 2025 +0400"
      },
      "message": "DodoApp: Output access points\n\nChange-Id: I078adfd43bd254e260bf63113a2fb3ab059c7706\n"
    },
    {
      "commit": "da7086581dc83be65c3ed7d38e8fef8ae3b30738",
      "tree": "d69e419ea63fb4710a70cf284468d9f6922ad6ae",
      "parents": [
        "f8acc61632105a2ccc99c8a9b5897f2cb41ce44a"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Apr 30 14:57:38 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu May 01 12:29:06 2025 +0400"
      },
      "message": "AppManager: Recursively monitor dodo resources\n\nChange-Id: I23f3014e416f5b68f8909dbfbcba27db66eaee3f\n"
    },
    {
      "commit": "f8acc61632105a2ccc99c8a9b5897f2cb41ce44a",
      "tree": "2abe511ac444b46a5eadbd6967fb284c504a1fab",
      "parents": [
        "aba9a968f7d5f9dba7859834a0510c00f03e1127"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Apr 26 08:20:55 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Apr 30 09:59:04 2025 +0400"
      },
      "message": "AppManager: App installation status monitoring\n\nChange-Id: I64f4ae0d27892b74f8827a275907cb75da09a758\n"
    },
    {
      "commit": "268787aa0dc98f3fa5388bd71b453552a8c57d34",
      "tree": "4d66c9f69c22d8cc13db7068e67d97c4b9713363",
      "parents": [
        "f96ffb8fbd65d47c6f7a91f112a8df5731b7b3db"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Apr 24 21:18:06 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Apr 24 21:18:06 2025 +0400"
      },
      "message": "AppManager: Implement task status API\n\nChange-Id: I70c895d7461ffe4afc45868ca6bf754d37072a0f\n"
    },
    {
      "commit": "63a1a825ee40d8c21f05c633cead681d0b4190e8",
      "tree": "fdaa1637f07966534f9754bc8119bff8bd6fa4ea",
      "parents": [
        "a6de205efb8dd7ad4fa4457d7cf61aed1e14127e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Apr 23 12:59:40 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Apr 23 13:01:40 2025 +0400"
      },
      "message": "AppManager: Let client override config files during update\n\nTake old input and merge with the new one.\n\nChange-Id: I2d8ad0e5f0cef97a3efa23aa9ca0c7f9163e703b\n"
    },
    {
      "commit": "218e81323ccf3ce1ec70de849ea42dde8d7dc43b",
      "tree": "4ed8738fac63d66b87ffa13f8dde6c94f15d592a",
      "parents": [
        "a421b06990b7c323b4ef5fe84f7415a4fab820de"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 22 17:11:58 2025 +0000"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 22 17:44:09 2025 +0000"
      },
      "message": "Canvas: Organize back and front components\n\nChange-Id: I0f2c0bbe47b2693127a367a72321b24eb1af7796\n"
    },
    {
      "commit": "a421b06990b7c323b4ef5fe84f7415a4fab820de",
      "tree": "097fc6c5fe420a2a0c0d48c9d9e341a4d1cdde69",
      "parents": [
        "24128f3c1fe47c5892f9e74fabd8ef1816c03f5c"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Apr 21 09:45:04 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Apr 21 09:59:29 2025 +0400"
      },
      "message": "AppManager: Unify regular and dodo app installation logic\n\nChange-Id: I4c18bbebc6499e8dfe38eb8ac18536bc6017f673\n"
    },
    {
      "commit": "74e73e99d32fd0a47e3f75de4a349bef458d4d3e",
      "tree": "2f3e754829eade16987485b009f4f386a3a0145c",
      "parents": [
        "9bd87caa14964f78d9eee6d1b95ced5e873c9cec"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Apr 20 11:57:44 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sun Apr 20 11:57:44 2025 +0400"
      },
      "message": "DodoApp: Auto generate SSH key to access source repositories\n\nChange-Id: I5caaed03ecb52b24c7d30fb121c15d7739607e99\n"
    },
    {
      "commit": "721c004cdfea0c7a13ffc61010a1b41fc3e1abfc",
      "tree": "a7f5123efd5c71c215d13d659a83e108b4833956",
      "parents": [
        "997af63f2dbf8bfa423e51e04bdb284791cc34c0"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Apr 03 11:56:36 2025 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 08 15:37:40 2025 +0400"
      },
      "message": "AppManager: Support exposing cross-cluster ports\n\nChange-Id: I4bdb3573209935f6777656ec2f3481e79d84a9c9\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": "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": "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": "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": "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": "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": "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": "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"
    }
  ]
}
