)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "fdf3b9bd12d14bbe2d84b74647cb661cae9578f2",
      "tree": "50ae8f9c3253404ca30ff87168a64bdfd84e6f7e",
      "parents": [
        "cafd4e63ce3f39090699ef8ec608ddc71d62856a"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Jul 30 21:01:08 2024 +0400"
      },
      "committer": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Wed Jul 31 09:22:27 2024 +0000"
      },
      "message": "Welcome: Registration form UI rework\n\nChange-Id: Ic7fee1e3a58dd9f19c6801bc1afd93735d6f4d84\n"
    },
    {
      "commit": "cafd4e63ce3f39090699ef8ec608ddc71d62856a",
      "tree": "daa290416e753df724bb1e37f44144f8e6c00352",
      "parents": [
        "b54db2456380b3f4070d789a8bf1cb82b226dad9"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 31 10:53:40 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 31 11:37:08 2024 +0400"
      },
      "message": "DodoApp: Implement user synchronization API\n\nChange-Id: Id38c96f379832d2d5034e215de2e51d28a25634c\n"
    },
    {
      "commit": "b54db2456380b3f4070d789a8bf1cb82b226dad9",
      "tree": "64c7f31d0c1b31c92d81e0523355598a8d1714f4",
      "parents": [
        "7841f4fa84099fef36e426842a2239d72c74ba53"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jul 30 18:49:33 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 31 11:36:39 2024 +0400"
      },
      "message": "DodoApp: Support PHP 8.2\n\nChange-Id: I7cfe082c66a0efe0b3b9c85433a96623466ced5c\n"
    },
    {
      "commit": "7841f4fa84099fef36e426842a2239d72c74ba53",
      "tree": "297758546279a32ffcb747432bec2c6bb2039818",
      "parents": [
        "aec6d8a8403e0600da36cc02b74aaa35789e3655"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 26 19:53:49 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 31 09:56:47 2024 +0400"
      },
      "message": "Installer: Make Private network optional\n\nChange-Id: Ic7a2e5250a42dc03de2416b1e2a0d1bbca3f010c\n"
    },
    {
      "commit": "94904700fb6b32f65c9a5f6545a1f9e872d03953",
      "tree": "b80b8b0b312e698c48b0807856607e9c5052f57a",
      "parents": [
        "d8ab4f504f65006c97e09f8b7c0b32cfd19c6b2c"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 26 16:58:34 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jul 30 11:03:32 2024 +0400"
      },
      "message": "DodoApp: Deploy Ingress resource for status page\n\nChange-Id: I0f102664d655d060d0ba37a63e3681816457f79b\n"
    },
    {
      "commit": "d8ab4f504f65006c97e09f8b7c0b32cfd19c6b2c",
      "tree": "edea5228351c894dfd96319c461a28ab087ebf39",
      "parents": [
        "8fae3afa076d215d919cfa825098c2945f999261"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 26 16:58:34 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 26 19:13:07 2024 +0400"
      },
      "message": "DodoApp: Use one network per external customer\n\nChange-Id: I09864ad24a223b451c5877ad08bbc8960c80d41c\n"
    },
    {
      "commit": "8fae3afa076d215d919cfa825098c2945f999261",
      "tree": "240437eada953a5ae4425820351435b4d0b04125",
      "parents": [
        "5e49bb65fb2d5e3d5513bcd419de0df8b93fcd5d"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 25 13:43:31 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 26 15:02:34 2024 +0400"
      },
      "message": "DodoApp: Public API to fetch allowed networks\n\nUpdate landing page to communicate with dodo-app backend.\n\nChange-Id: I269ad5150b9203eca9c1c9cc9a8a99b55c583419\n"
    },
    {
      "commit": "5e49bb65fb2d5e3d5513bcd419de0df8b93fcd5d",
      "tree": "17bb3ac60d027b7ff1cfffb902f503e4c42dab10",
      "parents": [
        "f2aa750955e47092025b69a302f6f15683f072d2"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Jul 20 10:43:19 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 26 14:26:53 2024 +0400"
      },
      "message": "DodoApp: Use picocss for UI\n\nChange-Id: I2d610c4f57e4dfbbe566a7c7f82147443e0106f1\n"
    },
    {
      "commit": "bb338e28d554b9a56fd559b7fc1c7c0bdd1f71dd",
      "tree": "6897b8864752640424b2dce6edd231cf96ebe320",
      "parents": [
        "a5ad678bc3a4b73a1d4e670ee7115936bac8d3b4"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 18 18:09:22 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 18 15:02:50 2024 +0000"
      },
      "message": "Installer: Use dropdown for network selection\n\nChange-Id: If50b8a585c55831cf3eee1172571d4dd5a098f4d\n"
    },
    {
      "commit": "a5ad678bc3a4b73a1d4e670ee7115936bac8d3b4",
      "tree": "d3a2d6ae47a0bb3c56e7ba4860f2a39f4580e0a2",
      "parents": [
        "4ece99cc103001305d5e69fc83784e44629f5917"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 18 17:04:29 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 18 14:10:25 2024 +0000"
      },
      "message": "AppManager: Make app header white\n\nChange-Id: I31e93d56cfd61122d69478ae9fbbcff3854ef9c4\n"
    },
    {
      "commit": "4ece99cc103001305d5e69fc83784e44629f5917",
      "tree": "64325b003697d47d4b1cafc9c95d7107a530279c",
      "parents": [
        "11617ac140a250505e177fa0e375fdcd411efe08"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 18 11:05:50 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 18 14:10:19 2024 +0000"
      },
      "message": "Installer: Implement multi network selector\n\nChange-Id: I52227a0f0e964ac48cb378ead077fad941c3315c\n"
    },
    {
      "commit": "11617ac140a250505e177fa0e375fdcd411efe08",
      "tree": "19f5bd8985efd7e926b6439f8b13994236c2b4cf",
      "parents": [
        "1e5682b8f719589494b23b9805590ffeb9ff5e3f"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Jul 15 16:09:04 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 18 14:10:04 2024 +0000"
      },
      "message": "DodoApp: Restrict users to one domain\n\nChange-Id: I4d09d5ee61d0ec712fd9dfa848c0af0c8e550d68\n"
    },
    {
      "commit": "42a6b8d140c5a5471390138ab61b49a52230fea1",
      "tree": "8f27a6ad97a75b8f0c6d0822b65ec1ac84eb7a4a",
      "parents": [
        "3a5baedcf997f5032bd717029d1562f2aebd4473"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Jul 16 19:56:50 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Jul 17 15:39:34 2024 +0400"
      },
      "message": "UIFixes: Minor Appmanager and Launcher UI fixes\n\nChange-Id: I1eabedd0191e6ae03cd6dcd945d569a93956a5d2\n"
    },
    {
      "commit": "d1b742eb21597f04eb8e86bd8b79b1214fa1fb62",
      "tree": "c34312811cc805671b317628c701b2ba98d01706",
      "parents": [
        "b1c4e5468ba93e2c0c98a2d37b69dcce290f7558"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Jul 15 16:01:52 2024 +0400"
      },
      "committer": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Tue Jul 16 13:47:04 2024 +0000"
      },
      "message": "Appmanager: UI Rework\n\nChange-Id: I2f809f96e274adac7df9f63d44b0a794bfa3a0dc\n"
    },
    {
      "commit": "23bdc1bf054f81d3760c8a04a37501011138d4bc",
      "tree": "0505647260ce9c0f9ad6d7e34be0bb52f4e53d68",
      "parents": [
        "38df35d4a95c71be4204836d95d403ace8e450a3"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 11 16:07:47 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 12 17:55:13 2024 +0400"
      },
      "message": "DodoApp: Filter domains\n\nChange-Id: I475f6b6c9d00ccc0214c54f22c6c8fd428cd996d\n"
    },
    {
      "commit": "7302c979635db8e76463d70167dc723a11d2bc2a",
      "tree": "b3c087433bebdc73b1c2cbe921a5b9b91426658a",
      "parents": [
        "9ca4926565efe3be10af21a99f5e0272b4df511b",
        "cb34ad27802be5d8d94cbec7a7c82242edf9ed9b"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 12 10:59:20 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@v1.dodo.cloud",
        "time": "Fri Jul 12 10:59:20 2024 +0000"
      },
      "message": "Merge \"Installer: Handle custom networks/domains\" into main"
    },
    {
      "commit": "9ca4926565efe3be10af21a99f5e0272b4df511b",
      "tree": "e7fa5049aa4643863eadd4eee4267492c181fbfd",
      "parents": [
        "81246f000e61fa3d1282870cab9bb04170c633f2"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Jul 10 15:51:27 2024 +0400"
      },
      "committer": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Fri Jul 12 10:53:22 2024 +0000"
      },
      "message": "Launcher: UI rework\n\nFixed help modal header margins for title and close button. Help menu titles now have same padding from both sides. Scroll fixed in chrome. Problem in Safari.\n\nChange-Id: I2987ea93379e385125e81ec37b9f0bb61a6d7797\n"
    },
    {
      "commit": "cb34ad27802be5d8d94cbec7a7c82242edf9ed9b",
      "tree": "faa9d548dd3ea7dcb3888784fa343fee2f0a9e09",
      "parents": [
        "81246f000e61fa3d1282870cab9bb04170c633f2"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 11 08:01:13 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 11 15:10:45 2024 +0400"
      },
      "message": "Installer: Handle custom networks/domains\n\nChange-Id: Id88e82a0757365466d92fb31223e21b7199ef940\n"
    },
    {
      "commit": "81246f000e61fa3d1282870cab9bb04170c633f2",
      "tree": "147ef0a6df8c5ab609757cd151cf688daacfea47",
      "parents": [
        "a60f0decc365f877d7b88d099a65e0b686db78e9"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 10 12:02:15 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 10 13:57:34 2024 +0400"
      },
      "message": "DodoApp: Implement internal auth\n\nFollow up change will make internal auth optional, and let user\nconfigure dodo-app to use environment wise auth service.\n\nChange-Id: Ie308b30becd4390f3d9a07caf6f894b8bd4ebf3a\n"
    },
    {
      "commit": "a60f0decc365f877d7b88d099a65e0b686db78e9",
      "tree": "fc62da0f29749454569cc49710cd809724581bc6",
      "parents": [
        "71eecceeec941c4d1efe46c446139fa1b3eaa479"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Jul 08 10:49:48 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 10 09:23:39 2024 +0400"
      },
      "message": "DodoApp: Status page\n\nImplements basic status page, listing all apps and their commit\nstatuses. Separates web and api endpoints. Unifies API addresses a bit.\n\nChange-Id: I98f9f949a49b60e80e188f7b51ec0e967666e65b\n"
    },
    {
      "commit": "9d66f32f5a557d3e3d04570c414bca488a0b289a",
      "tree": "2cd5493f0e0dcb115add533b0269f7e9dced9bdf",
      "parents": [
        "33059767fa0c051f624bbeb492906566218dd3f7"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Sat Jul 06 13:45:10 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jul 09 12:13:18 2024 +0000"
      },
      "message": "DodoApp: Persist app namespaces in the config repository\n\nChange-Id: I6bb6231ff63a4cfa8b66aa75c3d4cc1d9985d389\n"
    },
    {
      "commit": "33059767fa0c051f624bbeb492906566218dd3f7",
      "tree": "3d22e4f08d88e4b3a41abfbf43f0815e1982c208",
      "parents": [
        "4b50c8ff7ed54c09288ce9164aab40b497be3a13"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jul 05 13:19:07 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jul 09 12:13:09 2024 +0000"
      },
      "message": "DodoApp: API to create new app\n\nChange-Id: I20d73ef17cc03073c913fceb4f3bed7a26754cea\n"
    },
    {
      "commit": "266c04fe17fb79285f09777b268310b039343a69",
      "tree": "26e19ff36f6d55ced011b57c5e06439ba07b0758",
      "parents": [
        "1364e437bf921780052f27d49f51682ffd1811f0"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jul 03 14:18:45 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jul 04 18:18:53 2024 +0400"
      },
      "message": "DodoApp: Prepare dodo-app to support multiple app repositories\n\nPreviously Git repository storing configuration for PCloud\nenvironment, linked dodo-app repositories directly. After this change,\ndodo-app will first create config repository which will link\nindividual application repositories. And PCloud env will link to the\nconfig repo. That way dodo-app manger will be able to create multiple\napp repositories per installation.\n\nChange-Id: I647cacda7a9a4f241d2acc28ae5d8bbd8c6424d6\n"
    },
    {
      "commit": "01cf5cbd1b3e86d325d3a487f2e45862ba04b167",
      "tree": "1854e19ce09738bf0478dd814a0c400570384df5",
      "parents": [
        "f71a0833ebf1048bd9be24c70ae24caca50b9ad5"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jun 28 00:18:18 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Jul 01 11:43:57 2024 +0000"
      },
      "message": "Installer: Simplify volume usage API\n\nChange-Id: I4a7189af9194c70a6c5aac96d39618a6827965bd\n"
    },
    {
      "commit": "f71a0833ebf1048bd9be24c70ae24caca50b9ad5",
      "tree": "3b30f94fa0a596e14893650b9c58286f0fa31c40",
      "parents": [
        "70be3e560f7559ac03969b77e604b083943543de"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jun 27 14:45:45 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jun 27 15:24:03 2024 +0400"
      },
      "message": "DodoApp: Commit Helm charts to dodo branch\n\nChange-Id: I98c528b37b2e3cb1765944792e4057e3ccbee4c9\n"
    },
    {
      "commit": "70be3e560f7559ac03969b77e604b083943543de",
      "tree": "2f6098da6447df6f80c16fa6b7cd4e5608cba430",
      "parents": [
        "fc9c4ea62d0274d3ab5e0ba54a3bc1b321e90a4d"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jun 26 18:27:19 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jun 26 18:27:19 2024 +0400"
      },
      "message": "DodoApp: Implement API to add new admin public key\n\nChange-Id: Ieb411a932bfa87900c27591f372c8f4b91d7c2e3\n"
    },
    {
      "commit": "1752a176b8ec249ce8a89985e8d73f14054d0a5d",
      "tree": "a1de12cdae786a70f1b148186f095af0fe65b9a9",
      "parents": [
        "f5ffedb5f8b7d2039ded283c700edf39b13d94b9"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jun 19 15:18:19 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jun 19 16:03:14 2024 +0400"
      },
      "message": "Launcher: implement copy to clipboard\n\nChange-Id: Idbcf5d1bfe574005d5abb60e519eac3ede6aec52\n"
    },
    {
      "commit": "f9f0beec8492e05a459bd7080ad095b4cf9292bc",
      "tree": "61f8cb3afbd01bdecaf04d3d2005f31c09adc914",
      "parents": [
        "56bcf2524a384c66ffe99d5172054c12e51c2ee1"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jun 11 20:10:05 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jun 13 13:57:38 2024 +0400"
      },
      "message": "AppManager: improve installation status page\n\n* Status is refreshed in the background\n* Render release item infos instead of internal names\n\nChange-Id: I63a6082656e4e6772a4b5c734c5dd5c23141f70b\n"
    },
    {
      "commit": "56bcf2524a384c66ffe99d5172054c12e51c2ee1",
      "tree": "26429585a0a3eb824feb08f0a3409b4621de303a",
      "parents": [
        "f88434168174a99f76853e509877475c7ffde893"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Jun 12 19:00:45 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Thu Jun 13 13:27:43 2024 +0400"
      },
      "message": "AppManager: Fix instance menu scrollbar occurrence during installation\n\nChange-Id: I1c34fd202694d02fb57c438202624b3415bc52eb\n"
    },
    {
      "commit": "f88434168174a99f76853e509877475c7ffde893",
      "tree": "2fc1c2a35444462db55f09c3570bd22ec5b5c482",
      "parents": [
        "6ec78549d803828a27b62878dfc40567913db195"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed May 22 16:38:05 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jun 12 16:41:40 2024 +0400"
      },
      "message": "AppManager: cache helm charts and container images to local registry\n\nCaching container images is disabled until we figure out how to run\ncontainer registry behind TLS.\n\nChange-Id: I0253f2a862e5adddff18a82b102f67258151c070\n"
    },
    {
      "commit": "00077272977bee6d24c1dcedeebc19ebde23b6af",
      "tree": "5c290bf986edbe097a87a87ca3d40304633d10a0",
      "parents": [
        "563b6ad8b349c38fc53ed3d954a2352a2d80118c"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Jun 11 20:19:36 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Jun 11 23:25:58 2024 +0400"
      },
      "message": "Launcher: Separate iFrame for each app, toggle invisibility between clicks\n\nChange-Id: I540c04ea9f67c27624d69664a3b5a3057734268f\n"
    },
    {
      "commit": "563b6ad8b349c38fc53ed3d954a2352a2d80118c",
      "tree": "2c402069698c85b35ed33b9efb4cefa6c8cefc91",
      "parents": [
        "ab352addbe5f4657110e79066f8471bf6682de8c"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Jun 11 13:38:56 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Jun 11 17:19:42 2024 +0400"
      },
      "message": "Launcher: Shorten long url inside app instance tooltip\n\nChange-Id: If80b8a4a519745101056e34c3535543a6c8a78d2\n"
    },
    {
      "commit": "ab352addbe5f4657110e79066f8471bf6682de8c",
      "tree": "fd36fcf2895c881af4b55cf30b748cdae2abc4a7",
      "parents": [
        "09f8efa82798bd93041e029612bbb223f474ad22",
        "7304dab99f6bc262a1b77b73401f782fe3134ea3"
      ],
      "author": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Tue Jun 11 09:05:36 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@v1.dodo.cloud",
        "time": "Tue Jun 11 09:05:36 2024 +0000"
      },
      "message": "Merge \"Launcher: Added logout url\" into main"
    },
    {
      "commit": "7304dab99f6bc262a1b77b73401f782fe3134ea3",
      "tree": "bec4c100e7185318cde1df64aacec71e79971119",
      "parents": [
        "e25ce1c3c72fc5a8f319d54bb0edcf3e2326e912"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Jun 10 21:34:00 2024 +0400"
      },
      "committer": {
        "name": "dtabidze",
        "email": "dtabidze@v1.dodo.cloud",
        "time": "Mon Jun 10 19:10:46 2024 +0000"
      },
      "message": "Launcher: Added logout url\n\nChange-Id: I321d8e7feb7054b369bee0210200c77dc24fbe08\n"
    },
    {
      "commit": "09f8efa82798bd93041e029612bbb223f474ad22",
      "tree": "58a0316a961d7ca3ee65d9acd865ef884dfd4746",
      "parents": [
        "aa0fcdb54e7ff372899e6234405505abe6da96b7"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Jun 10 22:35:24 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Jun 10 22:35:52 2024 +0400"
      },
      "message": "Installer: Add Cache-Control header to static assets\n\nThis fixes UX where Launcher iframe blanks when navigating in the app\n\nChange-Id: I2966ef383c77d2986b6892f3828581b7785e90b0\n"
    },
    {
      "commit": "aa0fcdb54e7ff372899e6234405505abe6da96b7",
      "tree": "59b3e3cf279d9d938fd9b7ae5e3eaf85f7307696",
      "parents": [
        "e25ce1c3c72fc5a8f319d54bb0edcf3e2326e912"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Jun 10 22:19:25 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Jun 10 22:19:25 2024 +0400"
      },
      "message": "AppManager: replace Echo server with Gorilla Mux\n\nChange-Id: I4f238b18d87e767f63930aae1ff13e0ee7937466\n"
    },
    {
      "commit": "e25ce1c3c72fc5a8f319d54bb0edcf3e2326e912",
      "tree": "ce2b7d867928d51d28887249eb220ce7c8380861",
      "parents": [
        "014c6962ad35d03b6bdc5b9e60a05e358e22dedb"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Jun 10 14:36:21 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Jun 10 20:59:48 2024 +0400"
      },
      "message": "Appmanager: instance tooltip\n\nChange-Id: I86084b24e1c839e8a87f178764409bd91deb216c\n"
    },
    {
      "commit": "014c6962ad35d03b6bdc5b9e60a05e358e22dedb",
      "tree": "462409f4c4cb4fd87c7b7b835c3f582a27f32be7",
      "parents": [
        "3ec24cf660ee0d441d2680b6b8f6cf6d0db721db"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Fri Jun 07 18:37:04 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Mon Jun 10 14:33:18 2024 +0400"
      },
      "message": "Appmanager: menu scrolling fix\n\nChange-Id: I62762dd1bfb4a9be6eec0279e6e18d04990fb4ec\n"
    },
    {
      "commit": "3ec24cf660ee0d441d2680b6b8f6cf6d0db721db",
      "tree": "9147ec1a50c67459d0615fd4c4fbeebb38629b9a",
      "parents": [
        "0eaf271490f399be8591a522ebfceee80d41003f"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed May 22 14:06:02 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Jun 07 15:24:17 2024 +0400"
      },
      "message": "Appmanager: Rework of UI\n\nChange-Id: I044373c38c167cb5931aa801af00ce4afea201ef\n"
    },
    {
      "commit": "0eaf271490f399be8591a522ebfceee80d41003f",
      "tree": "c1688dbde8537313a845ce8f8533e12474ed2067",
      "parents": [
        "d9c398e445a5eff15e89929dbb111b64eaf8244b"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Sun Apr 14 13:08:46 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jun 06 13:59:18 2024 +0400"
      },
      "message": "Dodo APP: infrastructure to deploy app by pusing to Git repo\n\nChange-Id: I4034c6893255581b014ddb207c844261cb34202b\n"
    },
    {
      "commit": "d9c398e445a5eff15e89929dbb111b64eaf8244b",
      "tree": "4996fd473c5631bee0c70de97495c19e94570458",
      "parents": [
        "dc98688660adbf7ee47728a467f83c5f40a488e8"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jun 06 13:33:03 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Jun 06 13:59:06 2024 +0400"
      },
      "message": "EnvManager: fix race condition in test\n\nRefactor EnvManager so it takes TaskManager as an input.\nThis way clients can interject created tasks and install listeners.\n\nChange-Id: Ief332060aea9e98587b43d04d68a4640717d18cd\n"
    },
    {
      "commit": "dc98688660adbf7ee47728a467f83c5f40a488e8",
      "tree": "e4ecc23a5b7cf9d00b0e5316a710468b5f52e1fe",
      "parents": [
        "d4affa00ef463294eae410e6a50fd54e9fc70c6f"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jun 05 17:10:39 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed Jun 05 17:10:39 2024 +0400"
      },
      "message": "Launcher: fix issue with help modal close button not working\n\nChange-Id: I695b7116df42156a48825880ad50314490cc4d9a\n"
    },
    {
      "commit": "d4affa00ef463294eae410e6a50fd54e9fc70c6f",
      "tree": "1e8c5a11e69ef539d09c558d69fdbb9310c052d1",
      "parents": [
        "4e3e9982097a9b8fb08cd20b0d5257b6cc48ff66"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jun 04 18:29:33 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Jun 04 18:29:33 2024 +0400"
      },
      "message": "Launcher: distinguish dock icons by their instance ids\n\nChange-Id: Ie11930082454b44292ddb904fa08350d16f4ac05\n"
    },
    {
      "commit": "1591fa75daa568ff87fb7d4f82a2ed744019ab4a",
      "tree": "7673eb96208c4a05e9684f353f99bdf1b482c09b",
      "parents": [
        "96718469e90b5c234778bb41d36c3fbfeb4abe4a"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri May 24 18:01:58 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri May 24 18:01:58 2024 +0400"
      },
      "message": "EnvManager: auto refresh status page despite errors\n\nChange-Id: I2f148d6152a58176ad84e8d1a941e15460fcbdaa\n"
    },
    {
      "commit": "96718469e90b5c234778bb41d36c3fbfeb4abe4a",
      "tree": "d80216ab470315e9e8e7913e3845bea353b909ea",
      "parents": [
        "90606b60dcd9189fd9b1eb476396c2b40606c096"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed May 22 14:06:02 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed May 22 14:45:09 2024 +0400"
      },
      "message": "Launcher: groupe same app instances. added url inside tooltip.\n\nChange-Id: Ib2f6ed3507ceae4c85aad024e62cab4bd460ee25\n"
    },
    {
      "commit": "90606b60dcd9189fd9b1eb476396c2b40606c096",
      "tree": "de8cc0293c05e43337eeec0cbc1fcfa26f2e19be",
      "parents": [
        "cf6c714933f80ef878e133ddfd9a383e63605c04"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 14:45:51 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 14:45:51 2024 +0400"
      },
      "message": "Launcher: only render Help button when help documents actually exist\n\nChange-Id: If288e8bf40425d421a43ee4dd0e84136e44ddf9a\n"
    },
    {
      "commit": "cf6c714933f80ef878e133ddfd9a383e63605c04",
      "tree": "bb512d852e8495506b2982e1904ae958d55bfedc",
      "parents": [
        "92d8686d55508d86a7bed162109f27bcb1b995f5"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 13:26:42 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 13:26:42 2024 +0400"
      },
      "message": "Launcher: open help modal when clicking on app icon without url\n\nChange-Id: Iaa4ccbc60652fd2046173244a80c3f98ba49019c\n"
    },
    {
      "commit": "92d8686d55508d86a7bed162109f27bcb1b995f5",
      "tree": "4812c946be5e5ab0b6787a2d83b33d07ee1769aa",
      "parents": [
        "106b0245068e2f63604b9b8571bcf9dd50a2dc37"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 12:51:31 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 12:51:31 2024 +0400"
      },
      "message": "Launcher: close help modal on Escape and click outside of modal\n\nChange-Id: I0a260d7f184e8826e25aee753eb06d5ee861e47d\n"
    },
    {
      "commit": "106b0245068e2f63604b9b8571bcf9dd50a2dc37",
      "tree": "fe1284e73d55ea07be067370de31e56df2cce69e",
      "parents": [
        "be7b72405ad68b899449e43a084649496e888583"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 12:17:03 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue May 21 12:17:03 2024 +0400"
      },
      "message": "Launcher: style help content menu\n\nChange-Id: I5bd5d6f7663cc2a3f47a0329428f00f6343b597c\n"
    },
    {
      "commit": "be7b72405ad68b899449e43a084649496e888583",
      "tree": "52df1995c0d4431de25a06da2a663c814db3a9a2",
      "parents": [
        "18d5c689281452f2c9032422c2844b4a9e7cfc5a"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon May 20 18:13:55 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon May 20 18:13:55 2024 +0400"
      },
      "message": "launcher: automatically display first help document\n\nChange-Id: I0f887d5b9303876f6fbab4c96e935dbd58ff5936\n"
    },
    {
      "commit": "18d5c689281452f2c9032422c2844b4a9e7cfc5a",
      "tree": "9ae3bc224b80ed057a5bb94307b7eb04c24a6391",
      "parents": [
        "ff2a29a86863902564baa28eb497df2cd6491927"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu May 02 10:30:57 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu May 02 12:49:43 2024 +0400"
      },
      "message": "Open up for super early adopters.\n\nChange-Id: I1009d2b3d276bad93c1f017cda23ae062fe88860\n"
    },
    {
      "commit": "c23530e378a525feddf0075a41889c151fae5f62",
      "tree": "05ac367df0b90d499db3e116e1734ab5f9b3fc6e",
      "parents": [
        "d809aa7ba6de31ba0df35c89ed0d9ffd992705e2"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed May 01 11:06:09 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Wed May 01 11:06:09 2024 +0400"
      },
      "message": "Launcher: Render help document contents using Markdown\n\nChange-Id: I580c56bff201cd508efd52ba75eed28a8869f9b1\n"
    },
    {
      "commit": "09a3e5b6179f524963b2786d4c7f2fc6f50e2b6f",
      "tree": "a5c430a494dc70d6da128827ed1c79294242ccfc",
      "parents": [
        "778577fa26e41103dcc4ad9775a017728094af39"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Apr 26 14:11:06 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 30 18:13:39 2024 +0400"
      },
      "message": "Env: configure urls and help documents\n\nChange-Id: I9522e074575e0c1e67735462ac4cc266ab1ebb8c\n"
    },
    {
      "commit": "778577fa26e41103dcc4ad9775a017728094af39",
      "tree": "a44d948d038b539f15fea77c47563fe83b40a11a",
      "parents": [
        "44f621bf542469bae8b1888765a0e5e95b4b4459"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Apr 29 09:44:38 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 30 16:24:51 2024 +0400"
      },
      "message": "AppManager: monitor installed HelmRelease resources\n\nChange-Id: Ia036e7dda8136ad696d8222e799c4d1b6a9018a9\n"
    },
    {
      "commit": "44f621bf542469bae8b1888765a0e5e95b4b4459",
      "tree": "e8bae41e2b6b7b8b9d18b2255cc20a85db61c5c0",
      "parents": [
        "e72b54f819a38afc6656b99010370d6f3d51c38e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Apr 29 09:44:38 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 30 16:19:37 2024 +0400"
      },
      "message": "AppManager: clean up UI\n\nChange-Id: I8119ea81c80ff6165f4217dfdf9837e776703fc0\n"
    },
    {
      "commit": "e72b54f819a38afc6656b99010370d6f3d51c38e",
      "tree": "3da4dec10618aca7403f423005ba31ed8c3fae04",
      "parents": [
        "56f86a481e4ac0be5548c8337ea85c1af0561462"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Mon Apr 22 10:44:41 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Tue Apr 30 16:15:43 2024 +0400"
      },
      "message": "DNS: run separate CoreDNS instance for each PCloud env.\n\nPreviously shared CoreDNS instance was used to handle all domains. This has multiple downsides, most important which is security. For example DNS-Sec keys of all domains were persisted on the same shared volume. Also key itself was generated by PCloud env-manager as part of bootstrapping new env. Which is counter to the main aspirations of PCloud, that environment internal private data must not leak outside of the environment.\n\nWith new approach implemented in this change, environment starts up it’s own CoreDNS and DNS record manager servers. Manager generates dns-sec keys internally and only exposes public information to the outside world. PCloud infrastructure runes another instance of CoreDNS which acts as a proxy service forwarding requests to individual environments based an requested domain.\n\nThis simplifies DNS based TLS challenge solvers, as private certificate issuer of each env will point directly to the DNS record manager of the same environment.\n\nChange-Id: Ifb0f36d2a133e3b53da22030cc7d6b9099136b3d\n"
    },
    {
      "commit": "56f86a481e4ac0be5548c8337ea85c1af0561462",
      "tree": "ef0c0dc4fa769504e723e7a9ac088cbf35e353e6",
      "parents": [
        "207ce086a9a3600969d74727e2292d8363b9d50c"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Apr 09 19:15:25 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Apr 30 16:06:33 2024 +0400"
      },
      "message": "Launcher: take app information from AppManager\n\nChange-Id: I0dedd5a710adc4810feb9210b903655a3d2f5533\n"
    },
    {
      "commit": "207ce086a9a3600969d74727e2292d8363b9d50c",
      "tree": "00b3c843dd6d11bb00a6950fabc7bd09303fb0e4",
      "parents": [
        "c916187ddccbe0ae65e62b0474f84b1b7395b939"
      ],
      "author": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Tue Apr 09 19:15:25 2024 +0400"
      },
      "committer": {
        "name": "Davit Tabidze",
        "email": "davidtabidzef1@gmail.com",
        "time": "Wed Apr 24 13:20:26 2024 +0400"
      },
      "message": "launcher: application launcher\n\nChange-Id: I81d49a0651702dc821d683d6a4b3bbff6af3c753\n"
    },
    {
      "commit": "308105eedb9edefe37b40341f9ba02705a5c60b5",
      "tree": "7b718be43454bc9f5c8fc02bc5a9fd1a2f678190",
      "parents": [
        "db274d18bded70f68a886f4943fcc47dd54e22d5"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Apr 19 13:12:13 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Apr 19 20:44:29 2024 +0400"
      },
      "message": "Rewrite: rewrites env config repo and commits application cue files\n\nWe can build upon this tool to implement version to version migration logic.\n\nChange-Id: I6066f565f118ca44ca3ce7a0ac7522258958cf25\n"
    },
    {
      "commit": "3cdee59de09438ef564aec0eb4975b51bedc24b0",
      "tree": "25bba11f220a1b87aab5dc6c02fe6d3f33f22fa9",
      "parents": [
        "3af43943f99b7a05b1c597c99aa0a3a999e839ec"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Wed Apr 17 10:15:56 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Apr 19 19:36:07 2024 +0400"
      },
      "message": "Installer: Separate infrastructure and environment apps.\n\nHave two separate application managers, one for installing apps on the\ndodo infra, and nother installing on individual environments.\n\nChange-Id: I1b24f008e30c5533c48c22ea92328bc4bb7abc54\n"
    },
    {
      "commit": "3af43943f99b7a05b1c597c99aa0a3a999e839ec",
      "tree": "21e8559e36b37f92760eaf13b1a430010e605d2b",
      "parents": [
        "ef01fbb46843e198939f9d844110f7fb6c250015"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Tue Apr 16 08:13:50 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Thu Apr 18 17:52:43 2024 +0400"
      },
      "message": "Installer: Clean up RepoIO interface\n\nChange-Id: If80d7be1460c725b7df9d1d27c9354cb9141acfe\n"
    },
    {
      "commit": "5c44e6c105a0bb441a0494560dc6adebea623114",
      "tree": "6fb292964d30d3fa1bffc323723fc69d02166c96",
      "parents": [
        "4a9d83d0879fb97b0edaa6af5f84ea5d22168d3e"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Fri Apr 12 16:52:59 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Mon Apr 15 17:26:46 2024 +0400"
      },
      "message": "app-manager: convert input back to the renderable format\n\nChange-Id: Ibd426a37f153549bcde8c22117390b6f76771286\n"
    },
    {
      "commit": "b59b7c21e16cdbc0989787c075f1055a295e8235",
      "tree": "1a5553a752dfece34e5fc2f9f3fe6701bef08e73",
      "parents": [
        "c0d2bf569807c5551c98ecc08f4602c17af73ae2"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Apr 03 22:17:50 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Apr 08 20:28:51 2024 +0400"
      },
      "message": "port-allocator: allocates ports on preconfigured ingress-nginx\n\nReplacement of /core/installer/tcp-udp-transport\n\nChange-Id: I3d116b0f4508b462398f69e980ad55771dc88b7c\n"
    },
    {
      "commit": "b6a5806f163b36847c41619339693b2f46e75847",
      "tree": "82c03e2359c3c88f69567213aebd77e86a52fa9e",
      "parents": [
        "ee15ee2ff85bd1ac46d9c199f18ce25dd2086b2e"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Apr 02 16:49:19 2024 +0400"
      },
      "committer": {
        "name": "\u0027gio",
        "email": "\u0027gio@v0.dodo.cloud\u0027",
        "time": "Wed Apr 03 05:56:55 2024 +0000"
      },
      "message": "gerrit: auto configure ssh keys\n\nChange-Id: I9c3091e4bb998fa6c846c3c60c2801c7daa45bcf\n"
    },
    {
      "commit": "ab7ff6eb3a1c56e594811f09b414643af0656a1b",
      "tree": "d9b0d2f98be3a362d4d5462cb271da4c7de0f9c3",
      "parents": [
        "afde8af1d241e52575368dcaabc806ff013982c0"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Mar 29 13:11:30 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "gio@gerrit.p.v0.dodo.cloud",
        "time": "Fri Mar 29 12:44:35 2024 +0000"
      },
      "message": "env: status page\n\nUpdates page asynchronously every 5 seconds.\nIntroduces beforeStart and afterStart trigger points to update setup status information.\n\nChange-Id: Ic2f6a9bb7a0fefeefc4d6a1a7338d506a4f99e80\n"
    },
    {
      "commit": "afde8af1d241e52575368dcaabc806ff013982c0",
      "tree": "6292a228833139c6810c653e956ae86859787f51",
      "parents": [
        "0757f8a4376f57bb6d89fc96261ab3e05a71110d"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Mar 28 23:23:15 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 28 23:23:15 2024 +0400"
      },
      "message": "headscale: generage random suffix for new users (#132)\n\nChange-Id: I7ef50ca45d005592bcd627920e4512ba876ca6b7\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "5c1b06ef92a2992fb2a97a03a8ecdbd7379eda51",
      "tree": "b05064fd0d104b4a2e3f8b5c64c81541354f2dd9",
      "parents": [
        "078385f049306b01d32dd5b8d055aa8740b49ed8"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Mar 28 15:19:44 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 28 15:19:44 2024 +0400"
      },
      "message": "env-manager: ui polish (#127)\n\n* env-manager: migrate to pico 2.0.6\r\n\r\n* env: option to hide children from ui\r\n\r\n* introduce template hierarchy\r\n\r\n* style: improve menu styling\r\n\r\n* env: reorganize tasks, pull before install\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "d542b734b96290e10786e3936af01b7e379b3814",
      "tree": "7bcd7b68cff4005bcf29d795ebe3bab8502cf82d",
      "parents": [
        "942c76164eae4f82ea9cfcbe363fa57966c56331"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Mon Mar 25 18:17:39 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 25 18:17:39 2024 +0400"
      },
      "message": "welcome: init group memberships for first create (#115)\n\n* rename createAdminAccount to createAccount\r\n\r\n* welcome: call memberships init on first user\r\n\r\n* auth: add http endpoints to allowed return addresses\r\n\r\n* memberships: make init user member of groups as well\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "a09fad74443c2313bfc97f61f7b2a83c82423aef",
      "tree": "af5f1db30a2ab4d18180b3e97d52926cc5dac51e",
      "parents": [
        "618e243b36c6518a97e1d3a8ce9a6d69a5eaffad"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Mar 21 15:24:35 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 21 15:24:35 2024 +0400"
      },
      "message": "auth-proxy: verify group membership (#105)\n\n* auth-proxy: verify group membership\r\n\r\n* memberships: install memberships app and use it in few apps\r\n\r\n* app-repo: render auth\r\n\r\n* installer: always use external dependencies option in app configs\r\n\r\n* installer: fix auth handling\r\n\r\n* auth-proxy: configure membership-addr and groups flags in helm chart\r\n\r\n* installer: fix indentation\r\n\r\n* app-manager: fix how auth block is rendered\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "0ba5e4081640155aa4a356fa279c6d6bb9e55d90",
      "tree": "64cf73da6abcdf295404a76f7172151cd1a11c1b",
      "parents": [
        "d7744a6874c4eceeabf5011a18e68430725eed4d"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Wed Mar 20 15:56:30 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 20 15:56:30 2024 +0400"
      },
      "message": "auth-proxy: proxies only authenticated requests to upstream, redirects to login page otherwise (#103)\n\n* auth-proxy: inspects authenticated user\r\n\r\n* ingress: chart and use in rpuppy\r\n\r\n* auth-proxy: make it optional in rpuppy\r\n\r\n* kratos: whitelist env pub/priv domains for auth return_to addr\r\n\r\n* url-shortener: put behind auth-proxy\r\n\r\n* pihole: replace oauth2-client with auth-proxy\r\n\r\n* auth-proxy: fix upstream uri generation\r\n\r\n* pihole: remove old chart using oauth2\r\n\r\n* auth-proxy: remove temporary values file\r\n\r\n* url-shortener: check x-user header for authentication\r\n\r\n* auth: fix allowed_return_urls list\r\n\r\n* auth-proxy: fix current address generation logic\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    }
  ],
  "next": "9d5e3f5931af72a503654a24bea1950f5f108fbc"
}
