)]}'
{
  "log": [
    {
      "commit": "db274d18bded70f68a886f4943fcc47dd54e22d5",
      "tree": "0fc01ff5833969727404310e00fcffb50081cd11",
      "parents": [
        "3cdee59de09438ef564aec0eb4975b51bedc24b0"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Apr 19 11:53:18 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v1.dodo.cloud",
        "time": "Fri Apr 19 19:44:51 2024 +0400"
      },
      "message": "Ingress: clear X-Frame-Options header from responses.\n\nThis enables applications to be loaded in iframes. Although it does\nsacrifice security a bit.\n\nhttps: //developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options\nChange-Id: Ibb5568b5461bbe001106724a0cf64ec25e7fd4ce\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": "4a9d83d0879fb97b0edaa6af5f84ea5d22168d3e",
      "tree": "b7f635f816dbbb7c893c42eae6ab2097d55b8a5d",
      "parents": [
        "eb8345cf25b1659a7d83b42d6fc0fe820032db24"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Sun Apr 14 13:14:40 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Mon Apr 15 08:53:12 2024 +0000"
      },
      "message": "zot: helm chart and app cue configuration\n\nZot OCI registry: https://zotregistry.dev/\n\nChange-Id: I40ec7383cdc6450613deae862d92d25cc647c892\n"
    },
    {
      "commit": "eb8345cf25b1659a7d83b42d6fc0fe820032db24",
      "tree": "e5250f1bcd5d9aefa0ea6bf593796b311f4c4f45",
      "parents": [
        "e5b1657c7220673ae9284421740c6e038fc4f050"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Fri Apr 12 16:58:49 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Mon Apr 15 08:13:29 2024 +0000"
      },
      "message": "gerrit: add more default plugins to improve user experience\n\nPlugins added: singleusergroup, codemirror-editor, reviewnotes\n\nChange-Id: I33c5e61b777143334a87ec3b65e81962b79d2dc9\n"
    },
    {
      "commit": "a1a6506bc85255fd1c91809e0fb8b5ee1856fc4d",
      "tree": "bacc2551b1a8971e793f258d59d9815cc074a80f",
      "parents": [
        "35982660303868b6f48ace10d553b8b98f0c52b2"
      ],
      "author": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Sat Apr 13 09:20:44 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Sat Apr 13 09:20:44 2024 +0400"
      },
      "message": "matrix: bump synapse version from v1.98.0 to v1.104.0\n\nChange-Id: Ib94a0461be46e2327f60b059329bf2fb8c6f9f10\n"
    },
    {
      "commit": "35982660303868b6f48ace10d553b8b98f0c52b2",
      "tree": "931cb9e607e23f6e6d8157869896b8f30a6d794a",
      "parents": [
        "bbc6fad85be02f2473955929e15f1c287d8e8b2c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Apr 05 13:05:40 2024 +0400"
      },
      "committer": {
        "name": "gio",
        "email": "gio@v0.dodo.cloud",
        "time": "Fri Apr 12 13:51:46 2024 +0000"
      },
      "message": "jenkins: helm chart and cue configuration\n\nChange-Id: I3398b0fab8af43c4a138112a258263153d3ab473\n"
    },
    {
      "commit": "ef7f8334aae2639c186808b1872795dc98f1b501",
      "tree": "48bbafb392dbe9e3a84fc340e458f4f7633350c5",
      "parents": [
        "b59b7c21e16cdbc0989787c075f1055a295e8235"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Apr 08 19:46:54 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Apr 10 13:39:44 2024 +0400"
      },
      "message": "gerrit: use pcloud oauth provider instead of auth-proxy\n\nChange-Id: I555a05ca00c90e84d3c82f31ccd53a220feff344\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": "e9c05499ec80f74658f378d377b68603cf77a9d5",
      "tree": "75fa879127feae808174df3cbac8f42dc06a6ce5",
      "parents": [
        "b6a5806f163b36847c41619339693b2f46e75847"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Apr 03 15:14:18 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Apr 03 15:14:18 2024 +0400"
      },
      "message": "gerrit: enable download-commands plugin\n\nChange-Id: I191eceff5813f09fce9b150f6a93807fce4ea95e\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": "ee15ee2ff85bd1ac46d9c199f18ce25dd2086b2e",
      "tree": "0da2d7647d8151407a8129bd724570a3ac05d38f",
      "parents": [
        "4b44ff4f5973c14e74e3852f752341bbf6ce71bd"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Mar 28 12:35:10 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Apr 02 16:26:38 2024 +0400"
      },
      "message": "gerrit: charts and app configuration\n\nChange-Id: If4f05f749719d6ba0e2ced8da563699bc6fbc4c0\n"
    },
    {
      "commit": "13da8ff2f198880745bf185dabc430b67063ea35",
      "tree": "56964586e719a79cdfa9075f9a84d5453fd5631d",
      "parents": [
        "9fe49184b20ae766397260e9cd2f5b60f717d716"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Tue Mar 26 12:12:24 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 26 12:12:24 2024 +0400"
      },
      "message": "ingress: force ssl for both private and public ingresses (#124)\n\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "3c91e8b6b312ae2faaf37e3bd3d0667979d4cb3a",
      "tree": "90bb44b5ce91737e6b6b89b203837da4f7974237",
      "parents": [
        "329af57afc69ffec3f292ef7bc87b3e68da97931"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Mon Mar 25 20:20:14 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 25 20:20:14 2024 +0400"
      },
      "message": "appmanager: behind auth-proxy (#119)\n\ncloses #117"
    },
    {
      "commit": "329af57afc69ffec3f292ef7bc87b3e68da97931",
      "tree": "9d59d7accb3eff582c5b0d3f8574a9fe01be03e9",
      "parents": [
        "908bb851e18b122c07664f950f5d25d6be8ec905"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Mon Mar 25 20:14:41 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 25 20:14:41 2024 +0400"
      },
      "message": "memberships: run api service on a different port from ui (#118)\n\n* memberships: run api service on different port\r\n\r\n* memberships: add api service to chart\r\n\r\n* installer: use membership api endpoint instead\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": "6738396b324f0e3a7aaccf02ef8b7520c00ad5f8",
      "tree": "1c995e0cc7238536e066969dcf58adf358546c50",
      "parents": [
        "c0b4d8fbf6a6aecd60a5f320d2e3389b73c5759c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Fri Mar 22 19:27:34 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 22 19:27:34 2024 +0400"
      },
      "message": "auth-proxy: reusable ingress with auth proxy object for cue configs (#113)\n\naffects: #110\r\n\r\nCreates reusable auth proxy object in base cue config, and migrates rpuppy, url-shortener, pihole and memberships app to it.\r\n\r\nMemberships app always requires authentication.\r\nurl-shortener now supports non-auth based interactions."
    },
    {
      "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": "618e243b36c6518a97e1d3a8ce9a6d69a5eaffad",
      "tree": "df50d1e61ca43394900091b54cfbbebec028086a",
      "parents": [
        "0ba5e4081640155aa4a356fa279c6d6bb9e55d90"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Wed Mar 20 21:07:52 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 20 21:07:52 2024 +0400"
      },
      "message": "auth: memberships behind the auth-proxy (#106)\n\n* auth proxy ingress added\r\n\r\n* removed ingress from install\r\n\r\n* port \u003e portName"
    },
    {
      "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"
    },
    {
      "commit": "0d8025964db3ecfd9963aa7049597f58de003eb5",
      "tree": "130d0816588baebc661eadc279ef8e7e2f8048a8",
      "parents": [
        "c724578ebc273c12bae1dc0b391a2d878be0ef93"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Tue Mar 19 17:42:45 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 19 17:42:45 2024 +0400"
      },
      "message": "auth: groups and memberships (#97)\n\n* group membership unpolished\r\n\r\n* fixed index.html\r\n\r\n* fixed undefined variable errors\r\n\r\n* Implemented adding a user to a group.\r\n\r\n* fixed variable names, moved permission check into handler, separated fanctionality for adding ownership or membership for user\r\n\r\n* minor changes: Gave variables consistent names\r\n\r\n* separated tables for owners and members. some clean code fixes. added group description into group page.\r\n\r\n* added to creat child group. minor fixes\r\n\r\n* added yaml files\r\n\r\n* added cue file\r\n\r\n* moved groupOwnership check separatly. redo conditionals into oneline. separated status string check.\r\n\r\n* added mempership into app.go infraAppConfigs\r\n\r\n* changed svg icon. fixed indentation\r\n\r\n* svg icon fix\r\n\r\n* added  transaction\r\n\r\n* minor owner add fix\r\n\r\n* added multiple db rollbacks\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "925f0deb100ab516297348798a01a5f55db76c1a",
      "tree": "029ea39d0adb5180f863fcdedf756c11886a30c2",
      "parents": [
        "ba589ae864f8a3afc6d897d966b0372433cce11c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Mar 14 18:51:56 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 14 18:51:56 2024 +0400"
      },
      "message": "chart: extract hydra maester chart out of auth/charts/hydra.tar.gz (#96)\n\n* chart: extract hydra maester chart out of auth/charts/hydra.tar.gz\r\n\r\n* auth: install shared hydra maester during bootstrap\r\n\r\n* hydra-maester: fix chart name typo\r\n\r\n* hydra-maester: fix charts repo namespace\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "0c6b324af80de6ccca61675e2fbfff304f26767b",
      "tree": "f9680131f783932af086629c0816bd045ff2ec18",
      "parents": [
        "024757cc787b7d33ff039d42599810a64b7dc365"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Mar 14 15:31:08 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 14 15:31:08 2024 +0400"
      },
      "message": "oauth2-client: migrate apps to use oauth2-client helm chart (#90)\n\n* headscale: use oauth2-client helm chart\r\n\r\n* pihole: use oauth2-client helm chart\r\n\r\n* matrix: use oauth2-client helm chart\r\n\r\n* oauth2: pass issuer address to pihole, headscale and matrix apps\r\n\r\n* pihole: fix secret name\r\n\r\n* matrix: fix version to v1.98.0\r\n\r\n* headscale: make oauth2-client depend on auth release\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "b4fcaa251b740ab36de4d695d804a3ff33b129f4",
      "tree": "b1747f4a3605e968547cae9800169a6614f8b9b4",
      "parents": [
        "9d5e3f5931af72a503654a24bea1950f5f108fbc"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Wed Mar 13 16:34:49 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 13 16:34:49 2024 +0400"
      },
      "message": "url-shortener: fix cue config file (#91)\n\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "9d5e3f5931af72a503654a24bea1950f5f108fbc",
      "tree": "99cda7daebd9bc84b8d0aa8717ad8fb0761cd729",
      "parents": [
        "0993581136984e5f80177987b08fa11bd4ef1541"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Wed Mar 13 15:02:50 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 13 15:02:50 2024 +0400"
      },
      "message": "env-manager: dynamically generate cidr for new env (#85)\n\n* env-manager: allocate env cidrs dynamically\r\n\r\n* fix: net.IP to netip.Addr conversion\r\n\r\n* bootstrapper: generate empty env-cidrs.yaml\r\n\r\n* fix: net.IP to netip.Addr conversion for IP pool\r\n\r\n* infra: expose provided startIP subnet via tailscale proxy\r\n\r\n* headscale: pass private network ip subnet to expose to api service\r\n\r\n* dns: make ingress IP configurable\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "0993581136984e5f80177987b08fa11bd4ef1541",
      "tree": "2314c9ab86ced0f242a21c7e6500f1f5bdb1e17d",
      "parents": [
        "dc76b400ca9adb12b19d13217081af94055ce71c"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Wed Mar 13 13:47:39 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 13 13:47:39 2024 +0400"
      },
      "message": "url-shortener: helm chart with cue config file (#89)\n\n* added cue file for url-shortener\r\n\r\n* added yaml files for url-shortener\r\n\r\n* fixed yaml and cue for url-shortener\r\n\r\n* port variable  fix\r\n\r\n* cue minor fix\r\n\r\n* added url-shortener into appstore svg change\r\n\r\n* minor fixes\r\n\r\n* version fix\r\n\r\n* added url-shortener into app.go"
    },
    {
      "commit": "0d2e9ad9c225dbc89a07ad20709520139ded3c1a",
      "tree": "59fb3bce799a8d5b98d13bd69b4363119ac125cc",
      "parents": [
        "83b7219dc678a0e40751caf594f652f73a888266"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Wed Mar 13 13:30:15 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 13 13:30:15 2024 +0400"
      },
      "message": "welcome: cleanup login-addr flag (#87)\n\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "83b7219dc678a0e40751caf594f652f73a888266",
      "tree": "cfedee7894e996172df23f789feb60b6151ee7a1",
      "parents": [
        "3183056f2cb91eca8d0b182fc56169af0033c750"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Mon Mar 11 18:36:14 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 11 18:36:14 2024 +0400"
      },
      "message": "welcome: successful registration page (#82)\n\n"
    },
    {
      "commit": "3183056f2cb91eca8d0b182fc56169af0033c750",
      "tree": "e956ebb7c7e92d0d4b2a32b976790a67b5bd9c6f",
      "parents": [
        "7c037394ea830a06b24415c59ed6fd1a4fee72d9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Mon Mar 11 14:40:55 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 11 14:40:55 2024 +0400"
      },
      "message": "auth: bump kratos and hydra versions (#79)\n\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "7c037394ea830a06b24415c59ed6fd1a4fee72d9",
      "tree": "1e08868585b5e98a3d166eac76b98d1eaa3b929d",
      "parents": [
        "03d6f4b45e22385d45017f2f56e21f44071d4bcf"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Mon Mar 11 14:40:24 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 11 14:40:24 2024 +0400"
      },
      "message": "installer: remove old yaml config files (#78)\n\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "03d6f4b45e22385d45017f2f56e21f44071d4bcf",
      "tree": "f8c02bdcc9602ee7084311a3a767af7ba68826c1",
      "parents": [
        "525933992ab86d6902969647e44ca663cff1dca1"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Fri Mar 08 13:05:21 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 08 13:05:21 2024 +0400"
      },
      "message": "configure app names (#77)\n\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "186eae5d5922e675c88bd8096df784100ed460e8",
      "tree": "c9e4b1def6b487aa4fec446bf132a015124d9c4d",
      "parents": [
        "8339905ead513754448d09758c02be7208cd3ccc"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Feb 15 14:21:41 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 15 14:21:41 2024 +0400"
      },
      "message": "installer: fix how collection of in memory app configs is created (#74)\n\nWas allocating non empty slice before, which followed by appends\r\nwould leave nil-s at the beginning of the slice.\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "08af67aef1c07d1f0ff4f8d93a77237263db737e",
      "tree": "8c438f7f33bd1f540b4d4baaf5ca15204b3bf7ba",
      "parents": [
        "ef21c1313e8bc150ff4b571dab4cbee50fbe0029"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 18 08:53:05 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 18 08:53:05 2024 +0400"
      },
      "message": "installer: refactor App interface\n"
    },
    {
      "commit": "ef21c1313e8bc150ff4b571dab4cbee50fbe0029",
      "tree": "81177095d71ab879a4e4d72c119d452049150518",
      "parents": [
        "71353b5b7b2516a5dbb2005de5623c2bf89493f6"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jan 17 18:57:58 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jan 17 18:59:49 2024 +0400"
      },
      "message": "installer: migrate app repository client to cuelang based configs\n"
    },
    {
      "commit": "e009a5dd3fbd34d4586d2f2f9d08347b0f31ad6b",
      "tree": "9d7550cc19de32cc82e05a631c6da62b8bfc7979",
      "parents": [
        "b00a1db3769c05f06d10aca90acec784b9e4c2ee"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jan 05 14:10:11 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jan 17 12:39:32 2024 +0400"
      },
      "message": "installer: migrate apps to cuelang\n"
    },
    {
      "commit": "9b52ab9df80ef838278c7de02aed292483aa2775",
      "tree": "df58256943e8aa12edf41a38b8af2f7aa5bd3ff4",
      "parents": [
        "3f697b1b5f446a39cb5f45368cd1df06cca946a4"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jan 05 13:12:48 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jan 05 13:30:55 2024 +0400"
      },
      "message": "appmanager: use cue config when available, migrate rpuppy to cue\n"
    },
    {
      "commit": "7c427602668a33eaec70a1a678a5884a555c284b",
      "tree": "07ce64790f298e73a2699ca60ff70020877ef959",
      "parents": [
        "d76414ebcf4a079b003f1edd67edbee330408c94"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:13:55 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:13:55 2024 +0400"
      },
      "message": "appmanager: refactor schema into interface, introduce cuelang\n"
    },
    {
      "commit": "d76414ebcf4a079b003f1edd67edbee330408c94",
      "tree": "fcd481ac8bf95ff5ecc8bbf1bca57d6576c3d580",
      "parents": [
        "c89b900f8c8f0bc1d9ed13dbfe1abf1a86559fb1"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 21 13:30:23 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 21 13:30:23 2023 +0400"
      },
      "message": "auth: disable registration on ui\n"
    },
    {
      "commit": "c89b900f8c8f0bc1d9ed13dbfe1abf1a86559fb1",
      "tree": "1ba2b3a64fd3e0f22703070bdfdf31d74fc4f6b6",
      "parents": [
        "fedd00675f604327578d433cea4831f116262460"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 21 13:09:26 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 21 13:09:26 2023 +0400"
      },
      "message": "welcome: call api to create account\n"
    },
    {
      "commit": "9d4c10df6901a642e92f6069e43876be4cd0b279",
      "tree": "7911ac14b6ce5a55bf782fbbb8343e97db8b8d76",
      "parents": [
        "cf5f0b19cf990d793942f4c8259c5c409933e45f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 20:22:47 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 20:22:47 2023 +0400"
      },
      "message": "matrix: bump version\n"
    },
    {
      "commit": "30c887a2b1f0e252ebceec5a1ac410777f76758b",
      "tree": "8c3060cfd8a371328ebf115c95747a4669d4f93b",
      "parents": [
        "6d7dcb84b2075b3dcb9eba690c9e8eb637dfcc6b"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:28:31 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:28:31 2023 +0400"
      },
      "message": "matrix: fix database locale\n"
    },
    {
      "commit": "6d7dcb84b2075b3dcb9eba690c9e8eb637dfcc6b",
      "tree": "df4f0ca1032dc31edb4745b41e6777eb2b55a751",
      "parents": [
        "d2f3dca1a79cafbcf9a52be44d2a3ae16db6f8fd"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 14:44:42 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 17:23:42 2023 +0400"
      },
      "message": "matrix: use resource renderer\n"
    },
    {
      "commit": "3fd5e4c5a9377f023ceb8e5dd6a3113484fe46ef",
      "tree": "84d6969af18be4cd9196554add023df4e0ca4bdc",
      "parents": [
        "d4b76ee9bda3c59d09fe373eee7f3599410d89b9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 19 22:09:40 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 19 22:09:40 2023 +0400"
      },
      "message": "apps: penpot\n"
    },
    {
      "commit": "0435b204c8526cb00e4e33e710b8e4efb083b99b",
      "tree": "698b088ed13aef77828de88a971777e2cc2c594f",
      "parents": [
        "9e2fafad32b5ee7e050d30dd6c1c5925f9ccb0a5"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 18:23:06 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 18:23:06 2023 +0400"
      },
      "message": "pihole: admin.enabled \u003d false\n"
    },
    {
      "commit": "561f3d3e6531f3bbef2ce5fde987dddfec43fd1c",
      "tree": "01551bc8ad7e139098242d62f2bdcd47bc07c485",
      "parents": [
        "9bce26cfb03fd5f058e8244fa41124773234b993"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 14:12:06 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 14:12:06 2023 +0400"
      },
      "message": "charts: pihole - disable admin password\n"
    },
    {
      "commit": "9bce26cfb03fd5f058e8244fa41124773234b993",
      "tree": "e7a7f783510dda9012a3ce92cf13ba6c2fbc13a2",
      "parents": [
        "6972e851a29d5ddca6009913995fa1e42cfbb336"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 10:22:36 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 10:22:36 2023 +0400"
      },
      "message": "bootstrapper: fix fluxcd-reconciler pcloud env name\n"
    },
    {
      "commit": "2df23dbf85fe616b2ea83fcbf77834e4a336a595",
      "tree": "2476557a336b2d3b236e36496682e0cefa894543",
      "parents": [
        "1caed36cebccd7b8b13666667d044547bb6751dc"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 14 07:55:22 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 14 07:55:22 2023 +0400"
      },
      "message": "fluxcd-reconciler, env creator calling it every 30 sec to sync the cluster\n"
    },
    {
      "commit": "e287076723578f067df050e8d314183417840157",
      "tree": "fd0b629c75fcc9ab39553e7f8be1849dbcbb5097",
      "parents": [
        "2d1c2eb09083cf7ad106e9bdfdc47e5dbb8b5ab8"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sat Dec 09 14:21:22 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Dec 10 08:28:50 2023 +0400"
      },
      "message": "headscale: run ui container\n"
    },
    {
      "commit": "cced4c38d6caa647196f234191e3678388fb9a0a",
      "tree": "792bfeb8bd4dc32eb33d614c8a5972f3831d7197",
      "parents": [
        "5c2c0b9624d05a915fa317c2024989106d7e8670"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Dec 08 08:56:40 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Dec 08 10:26:31 2023 +0400"
      },
      "message": "env: create private cert issuer as part of new env\n"
    },
    {
      "commit": "5c2c0b9624d05a915fa317c2024989106d7e8670",
      "tree": "896473347017fa36c6b22c15b04277b140ea0485",
      "parents": [
        "91494a688c3f0287a9636659e3827fa2979501ea"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 17:35:40 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 20:31:20 2023 +0400"
      },
      "message": "bootstrapper: tie up all dns related services\n"
    },
    {
      "commit": "91494a688c3f0287a9636659e3827fa2979501ea",
      "tree": "a8ee8b8660baca372c12ca4fe15aaaf1ed72ab20",
      "parents": [
        "109a5675bbb6806c750c7f7742cd6166b09bd7eb"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 16:07:12 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 16:07:12 2023 +0400"
      },
      "message": "cert-manager: use recursive dns resolvers\n"
    },
    {
      "commit": "2dbce6c29b843b13f2f3b9201cc7f452d44f3312",
      "tree": "61bd166d6c4c0c71af9ff499d07cac05d493a691",
      "parents": [
        "39913697ac3878fcbec0a110b424cc2d9a5d458f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 05 15:16:27 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 05 19:13:09 2023 +0400"
      },
      "message": "installer: combine private ingress and proxy into private-network\n"
    },
    {
      "commit": "39913697ac3878fcbec0a110b424cc2d9a5d458f",
      "tree": "bbff7059f862bb99c9916a7bbbd8cf1e3b219d45",
      "parents": [
        "6ae65d1402c77dc29905296d293fcee0ddc72d71"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 05 08:58:08 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 05 09:18:13 2023 +0400"
      },
      "message": "installer: create headscale user resource\n"
    },
    {
      "commit": "6ae65d1402c77dc29905296d293fcee0ddc72d71",
      "tree": "4ff02a2d0adc02f8105ea0a816fc4d479e748321",
      "parents": [
        "123a3675b35f1b7c6f7249f3d63a7e65a1909fe1"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 15:37:53 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 16:49:17 2023 +0400"
      },
      "message": "env: create tailscale-proxy for ingress-private IP with new env\n"
    },
    {
      "commit": "106a935ae765f18fec9d51b94e2625a145f35ec7",
      "tree": "55761dd455a3acb033ef2ae1c1902fd5687ee197",
      "parents": [
        "93fde528a6409c4182caff32f7cd4ba4507fde3c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 11:20:11 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 11:20:44 2023 +0400"
      },
      "message": "installer: install dns zone manager\n"
    },
    {
      "commit": "724885f1f6e7cc78bc0b00612579221687f76a09",
      "tree": "74a5cfb8f716bb1d42eff37cdc1d1ac4de519f8a",
      "parents": [
        "aa0b179309782f8746f75e9ad7166776e429d6ae"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Nov 29 16:18:42 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Nov 29 16:18:42 2023 +0400"
      },
      "message": "installer: create individual soft-serve instances for each env\n"
    },
    {
      "commit": "6bcc497f07b3c5303cbdcd30e82ffdc21832ff31",
      "tree": "b44112aaa606e79e80c8fef22aa732746e747224",
      "parents": [
        "5c1d1cad7e010a8c6849e5623170512e991ca899"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Nov 27 20:02:29 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Nov 27 20:02:29 2023 +0400"
      },
      "message": "coredns manual setup\n"
    },
    {
      "commit": "a2122f19506cda38a3528834de4acd060c4f085b",
      "tree": "9fef18e1b636b2be9c81b248bc5f0c2467b55ef7",
      "parents": [
        "a1e7790c41fbccde0c4796c2606cf7b1734fb950"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Nov 07 14:57:20 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Nov 07 14:57:20 2023 +0400"
      },
      "message": "headscale: use env name to generate public ingress class name\n"
    },
    {
      "commit": "a1e7790c41fbccde0c4796c2606cf7b1734fb950",
      "tree": "6dba18f5e5987fcd0295b42e7488c13196c5f42d",
      "parents": [
        "29c95caac0f7f792bc6d3b145c7d6b075ef6612c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Nov 06 14:48:27 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Nov 06 14:48:27 2023 +0400"
      },
      "message": "installer: use soft-serve keygen lib\n"
    },
    {
      "commit": "502bdd0d77b17e86559ea2a7b9594bde2c9b46f8",
      "tree": "a61e6453e142012d31c7393d5b9294cd1a6f6408",
      "parents": [
        "41563dca1339d525c5dc525de5effcd990c51968"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:38:16 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:38:16 2023 +0400"
      },
      "message": "random cleanup\n"
    },
    {
      "commit": "41563dca1339d525c5dc525de5effcd990c51968",
      "tree": "6cba66760500f13afc89995380fdb937c79ca56b",
      "parents": [
        "bfb33a862d1d30be4d5784d886b2ef22383d93f9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:37:35 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:37:35 2023 +0400"
      },
      "message": "charts: replace use of metallb-config-env with metallb-ipaddresspool\n"
    },
    {
      "commit": "94cda9d032659b5745ed20ae57f67a04cae52052",
      "tree": "86563aa1c8fe04e621766cdf57d9233913b68162",
      "parents": [
        "2d843c340aa4b7e31651da43e135b530e7722872"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:16:09 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:16:09 2023 +0400"
      },
      "message": "installer: orginize bootstrapper, improve service IP handling\n"
    },
    {
      "commit": "4fc294304dd0ac8b7313fa970a1903891d0b02ab",
      "tree": "cd395f676b7a30efe048ce61d053e6c64b565d1f",
      "parents": [
        "062134266bc1a35e783aa96d30e54a72f7962f34"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:03:28 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:06:00 2023 +0400"
      },
      "message": "chart: metallb-ipaddresspool\n"
    },
    {
      "commit": "672af5d8ee15a53eb178439badbaa72228ddd920",
      "tree": "bac409c5a54998f7dfc86a1b6721ef457548787d",
      "parents": [
        "bf1e6e8e9afe6a5983061fce4ea253f192123f01"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jul 12 11:57:51 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jul 12 11:57:51 2023 +0400"
      },
      "message": "installer: add soft-serve\n"
    },
    {
      "commit": "4257b905211f530f42934956ad9fd935cf501bff",
      "tree": "57bf9364f91b25d98bb2e05bec4edfb811e27099",
      "parents": [
        "af940c87b4c70277b5abfdfe2c54d90b174edaa9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jul 07 17:08:42 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jul 07 17:08:42 2023 +0400"
      },
      "message": "appmanager: replace svelte implementation with go based one\n"
    },
    {
      "commit": "9d03733c524209066eb5a71aa4cc5cff80034785",
      "tree": "acb76fb279e76245c1dbdbfbab26b443fc1b00de",
      "parents": [
        "da912e7b7f1d2877454c03c445429972662315ab"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 06 19:48:49 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 06 19:48:49 2023 +0400"
      },
      "message": "installer: configs\n"
    },
    {
      "commit": "7695148eba5571cd3141d3f2e034b510c9dd7d1a",
      "tree": "712d7c1ee9d0ecf1f6329616ca0a22cbc37ae62d",
      "parents": [
        "6e8131879a23be055b1230c7eef2caf025d4e64f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 23:25:09 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 23:25:09 2023 +0400"
      },
      "message": "appmanager: list and update app instances\n"
    },
    {
      "commit": "4a94da2af4391e36e2b3f556e1cb1cbaddca270b",
      "tree": "033e723fdd7085aca5e8721ff9d19f4743defa5f",
      "parents": [
        "3f689e3e8830deda7576e4210fb82be6837b925c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:48:02 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:48:02 2023 +0400"
      },
      "message": "installer: rpuppy uses network configuration\n"
    },
    {
      "commit": "3f689e3e8830deda7576e4210fb82be6837b925c",
      "tree": "054573cce18d42cf6c01ae4b00faa02fff3cafb6",
      "parents": [
        "27b2b576fcc9f20ea6f11a7013e81c34fb43bffe"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:47:09 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:47:09 2023 +0400"
      },
      "message": "installer: penpot values template\n"
    },
    {
      "commit": "7fb28bf283eeb8ab765e7c405932c11498122696",
      "tree": "de8868c1ac163fad35b45acf5de41b5825ba2d2f",
      "parents": [
        "8fe056ba344b3ba6d11f154b3614a09af5e705a2"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sat Jun 24 19:51:16 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sat Jun 24 19:51:16 2023 +0400"
      },
      "message": "installer: create namespaces with kube client\n"
    },
    {
      "commit": "bc56b551a9d6e75f8af1f5f934c3cf8c0de28b8a",
      "tree": "e149d7a59174df99fa63d3b65dbcaed2a79b8040",
      "parents": [
        "9b3c50eabbccba70ee4ac9cd5a9aeb323941ec3a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:38:05 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:38:05 2023 +0400"
      },
      "message": "installer: welcome release name\n"
    },
    {
      "commit": "9b3c50eabbccba70ee4ac9cd5a9aeb323941ec3a",
      "tree": "e48357e3aaf1197a0b623e2da89ce9c9731f550e",
      "parents": [
        "12850ee12b7f4b0a60ae0f13757a875b29d84e89"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:37:42 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:37:42 2023 +0400"
      },
      "message": "installer: cert issuer public/private names\n"
    },
    {
      "commit": "12850ee12b7f4b0a60ae0f13757a875b29d84e89",
      "tree": "3cac4fb0cdf3ae81c032154580a07b4d1b4de8ed",
      "parents": [
        "63c0f91be02b4d6d9b52f344b0c6dfd4941c5f45"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 13:11:17 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 13:11:17 2023 +0400"
      },
      "message": "installer: welcome\n"
    },
    {
      "commit": "0ccd1481dbc083b60a7cb8ac33ad99bef2c1eb02",
      "tree": "aa576e26ad40f83f2ad893f54fd6b0376e64faa6",
      "parents": [
        "44f9d599f546f4aaf9d42dc1db74f4989ac29513"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:02:24 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:02:24 2023 +0400"
      },
      "message": "installer: fully automate initial bootstrap and env creation\n"
    },
    {
      "commit": "e34a0619663e034438bbda9a3908b1bb0da327a6",
      "tree": "3e8793138b1775dbb077effa3e840fec85c9af4e",
      "parents": [
        "8921297821a5c14a6d5dd57a388ccdac167834ea"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 13:56:10 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 13:56:10 2023 +0400"
      },
      "message": "installer: app templates\n"
    },
    {
      "commit": "fa57edf358cfa3771e3ee9c017cd80283a891e30",
      "tree": "1842b8b564e6fc0e4bb71d5ceffaa7e90db56652",
      "parents": [
        "38496bbce75fb81751be6997dccac51b98476977"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 14 13:49:47 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 14 13:49:47 2023 +0400"
      },
      "message": "installer: app value templates\n"
    },
    {
      "commit": "524485f13f8e7b463d45ee533a413c9abf0e53be",
      "tree": "7c933134ce79112ae8b07129de7dcc29d093260e",
      "parents": [
        "2c1253c28fe10dcbf63eaf3bfc9f55ae4c02f3f3"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jun 13 13:29:04 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jun 13 13:29:04 2023 +0400"
      },
      "message": "installer: tailscale-proxy\n"
    },
    {
      "commit": "c921139aa816a234d9c809145ecc6a50e8615190",
      "tree": "ab712aa3a6148219f23e2b4c3c74a92ee52ab2cf",
      "parents": [
        "ad59bfbf10bef9067ffead4f603753ecd38c1f8f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jun 12 18:30:14 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jun 12 18:30:14 2023 +0400"
      },
      "message": "charts: install helm releases in main namespace\n"
    },
    {
      "commit": "acc4a63652e15e446487f35368412b48d49a51af",
      "tree": "c701b7ea68f949cae173b63cb3bdb99ae4dd1e8f",
      "parents": [
        "50ed2f37913b1d2944aef45e9e08f875b29e5232"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:50:21 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:50:21 2023 +0400"
      },
      "message": "installer: helmrelease for app namespaces\n"
    },
    {
      "commit": "c647025153355c2aff851a04e654a124bb212777",
      "tree": "aad46b64607742d70bdcb28864ad58c31e07c9ee",
      "parents": [
        "8bbf18d88bdc0db68ff2872b7782c2dcb3cee286"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 14:50:39 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 14:50:39 2023 +0400"
      },
      "message": "charts qbittorrent\n"
    },
    {
      "commit": "8bbf18d88bdc0db68ff2872b7782c2dcb3cee286",
      "tree": "b0ad62defa21b0ff058cc1a7e5a063b62d66f6c9",
      "parents": [
        "28ad45123bb65b144b7678031c4e38cd5a8be039"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:44:41 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:45:21 2023 +0400"
      },
      "message": "vaultwarden\n"
    },
    {
      "commit": "28ad45123bb65b144b7678031c4e38cd5a8be039",
      "tree": "8152404d1b378802f722be8d37afa4dc5f3843b9",
      "parents": [
        "4d2784df122176cb62ba24b7b492749b54a81a71"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:44:27 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:45:16 2023 +0400"
      },
      "message": "pihole\n"
    },
    {
      "commit": "4d2784df122176cb62ba24b7b492749b54a81a71",
      "tree": "a4eede35ea9dd3c0bb9138dd79465d8cba6b80bb",
      "parents": [
        "e390a14fcff1f90ce9cbfe0b8808e51da6955ebd"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 01 14:27:32 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 01 14:27:32 2023 +0400"
      },
      "message": "headscale ingress-private\n"
    },
    {
      "commit": "0c5b8bebda895075dfc6d8ffb2c61329a0438542",
      "tree": "0679732dc42bb39ced1d21cadfb7adbdc55065ac",
      "parents": [
        "5b1e8eef161b57ccb0490836b5d2081d1985735a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed May 31 14:15:52 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed May 31 14:15:52 2023 +0400"
      },
      "message": "installer: core-auth\n"
    },
    {
      "commit": "8c99d62f9f247075f62cb838a41653fbf8382795",
      "tree": "e8d34b48d14e25338b588569f66452cea56d1a40",
      "parents": [
        "3ca1f3fe3115fefc0dd06e8c2ce06bb37abc9016"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:40:50 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:40:50 2023 +0400"
      },
      "message": "charts: postgresql\n"
    },
    {
      "commit": "3ca1f3fe3115fefc0dd06e8c2ce06bb37abc9016",
      "tree": "d9963043aa5e851f3804ef0cf0a4e3d3c72b80f6",
      "parents": [
        "3a907050027e5d36d6a50539ff8190e70599dcc6"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:33:02 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:34:33 2023 +0400"
      },
      "message": "core-auth\n"
    },
    {
      "commit": "3a907050027e5d36d6a50539ff8190e70599dcc6",
      "tree": "65dbb74dfd2b620508617daf5c3fc9045496c61c",
      "parents": [
        "ce3c64d0af507ba46ef3cda53afc20f0b573838f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:33:32 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:33:32 2023 +0400"
      },
      "message": "appmanager-api: headscale\n"
    },
    {
      "commit": "ce3c64d0af507ba46ef3cda53afc20f0b573838f",
      "tree": "3a54e29adcb5294379646ed669670cc8df0f463b",
      "parents": [
        "c77ec4286e32e4e9ef16971db802e77a868e4b62"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:28:08 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:28:08 2023 +0400"
      },
      "message": "charts: headscale global/app config\n"
    },
    {
      "commit": "7efe22f412bb249bd1f41bdcc758edbd749198c8",
      "tree": "93e0846c9814426677787f9d49b7066ab8852ee0",
      "parents": [
        "bd6be7f5122b7158121e9cf79215b78eeaefff17"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:01:53 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:01:53 2023 +0400"
      },
      "message": "appmanager-api: render, install\n"
    },
    {
      "commit": "23ef7f8e2581fd0a6d7e9278691f1a4d865d813f",
      "tree": "99366cfed41973c7d8f6e60aac9423565c6c9b3f",
      "parents": [
        "620caa83cc92b2c9522c4c24167771be7dbbe4e5"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 11:57:48 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 11:57:48 2023 +0400"
      },
      "message": "installer: env and app manager\n"
    },
    {
      "commit": "ef76a3e49aa32b4da9387d7c6eb417ff656a58f4",
      "tree": "c8ab4da0129d3cfb2aa2040b6f7b372074849275",
      "parents": [
        "6bb21c22dfa2d271b79b8c1253cdf90607cb24d3"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Jan 10 12:22:28 2022 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Jan 10 12:22:28 2022 +0400"
      },
      "message": "apps: qbittorrent + jellyfin\n"
    },
    {
      "commit": "050609f66431dba5a0f8bdc53bced2e10c96ff12",
      "tree": "37732e563792d710be32f27f726ed928ccd95ade",
      "parents": [
        "08531a4f9f63ae422921a5543074c35754b7afe8"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 29 15:51:40 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 29 15:51:40 2021 +0400"
      },
      "message": "installer cmd line tool\n"
    }
  ]
}
