)]}'
{
  "log": [
    {
      "commit": "0757f8a4376f57bb6d89fc96261ab3e05a71110d",
      "tree": "c3bd7497556b307bf0f15fcb9a17109dfd377eea",
      "parents": [
        "5c1b06ef92a2992fb2a97a03a8ecdbd7379eda51"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Thu Mar 28 16:49:09 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 28 16:49:09 2024 +0400"
      },
      "message": "memberships: modal for confirmation (#130)\n\n* unpolished version of working modal\r\n\r\n* separated JS script\r\n\r\n* minor change in JS\r\n\r\n* minor changes JS file"
    },
    {
      "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": "078385f049306b01d32dd5b8d055aa8740b49ed8",
      "tree": "0e671086a3c8b2c906b786f8c5ddd3f9e3fde1bf",
      "parents": [
        "2b224bff53bbc8b08a35c6cbcb94ae9bdd576d6a"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Wed Mar 27 14:49:05 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 27 14:49:05 2024 +0400"
      },
      "message": "memberships: handlers endpoint rework (#129)\n\n* reworked api endpoints\r\n\r\n* minor fix"
    },
    {
      "commit": "2b224bff53bbc8b08a35c6cbcb94ae9bdd576d6a",
      "tree": "5b0ca6c4048f0ea679b7bf58b05e69cd7af8ba15",
      "parents": [
        "5d735e34c80cf431b79b8f7f28d157a3c716d185"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Wed Mar 27 13:25:49 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 27 13:25:49 2024 +0400"
      },
      "message": "memberships: remove owner, member and child group (#128)\n\n* remove child group\r\n\r\n* remove group as a child fixed\r\n\r\n* remove group as a child fixed\r\n\r\n* remove owner and member from group\r\n\r\n* removed table names from html, changed api url approach\r\n\r\n* changed handler url"
    },
    {
      "commit": "5d735e34c80cf431b79b8f7f28d157a3c716d185",
      "tree": "9e56a48f2073d39dfd3db1efded6d81cceaadc7a",
      "parents": [
        "6cf332b0d98447576ef95bc473e467f24ddbadd8"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Tue Mar 26 16:01:06 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 26 16:01:06 2024 +0400"
      },
      "message": "memberships: user page (#126)\n\n* reworked homepage and userhandler\r\n\r\n* minor fixes for UI"
    },
    {
      "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": "9fe49184b20ae766397260e9cd2f5b60f717d716",
      "tree": "9f2f00bd02231bc58e9ae106e84f5c4dafb0f46a",
      "parents": [
        "3c91e8b6b312ae2faaf37e3bd3d0667979d4cb3a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Tue Mar 26 10:54:07 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 26 10:54:07 2024 +0400"
      },
      "message": "cleanup: remove old unused files (#122)\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": "908bb851e18b122c07664f950f5d25d6be8ec905",
      "tree": "391a4efd780c2f579f8d20012d0782a31052bb4b",
      "parents": [
        "d542b734b96290e10786e3936af01b7e379b3814"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Mon Mar 25 20:07:57 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 25 20:07:57 2024 +0400"
      },
      "message": "membership: groupname and username validations (#116)\n\n* group and username validations lowercase names\r\n\r\n* fixed changes validations\r\n\r\n* removed username validation\r\n\r\n* lowercasing username"
    },
    {
      "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": "942c76164eae4f82ea9cfcbe363fa57966c56331",
      "tree": "87cba7a8c0c59c22bc45e8abdffe0309c19492c7",
      "parents": [
        "6738396b324f0e3a7aaccf02ef8b7520c00ad5f8"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Fri Mar 22 19:27:48 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 22 19:27:48 2024 +0400"
      },
      "message": "memberships: api init endpoint (#114)\n\nAdds API endpoint to initialise database with first owner and groups.\r\n\r\naffects: #108"
    },
    {
      "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": "c0b4d8fbf6a6aecd60a5f320d2e3389b73c5759c",
      "tree": "f9ea655647ef98c893d3368f1a175e3df4ec64a5",
      "parents": [
        "a09fad74443c2313bfc97f61f7b2a83c82423aef"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Fri Mar 22 17:25:10 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 22 17:25:10 2024 +0400"
      },
      "message": "membership: list child and parent groups (#107)\n\n* Group page shows child and parent groups\r\n\r\n* moved recursion as a helper\r\n\r\n* reworked several funcs to return directly Group type\r\n\r\n* added TransitiveGroups on homepage\r\n\r\n* added circular reference detection\r\n\r\n* improved performance of transitive groups\r\n\r\n* minor fix\r\n\r\n* GetAllTransitiveGroupsForGroup parameter changed to string\r\n\r\n* cover getting transitive groups with unit test\r\n\r\n* recursion logic needs fix\r\n\r\n* refactor: reuse code for processing user/group transitive groups\r\n\r\n* recursion fix\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": "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": "d7744a6874c4eceeabf5011a18e68430725eed4d",
      "tree": "3c0353189b254b8a493e1816ce2a3494a35038ce",
      "parents": [
        "0d8025964db3ecfd9963aa7049597f58de003eb5"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Wed Mar 20 14:09:15 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 20 14:09:15 2024 +0400"
      },
      "message": "membership: api group membership endpoint (#104)\n\n* added api group handler\r\n\r\n* func name fixes\r\n\r\n* changed json encoding"
    },
    {
      "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": "024757cc787b7d33ff039d42599810a64b7dc365",
      "tree": "286b5c550ef7dfe8c98b37f31ec7a0d12cceea2b",
      "parents": [
        "98fe81999fd177d6383419809d492afc868c74fd"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Mar 14 13:27:29 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 14 13:27:29 2024 +0400"
      },
      "message": "installer: use main branch for chart discovery (#92)\n\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": "525933992ab86d6902969647e44ca663cff1dca1",
      "tree": "3e3fe41309b9c156fd10fc3f5fab1491786af19a",
      "parents": [
        "186eae5d5922e675c88bd8096df784100ed460e8"
      ],
      "author": {
        "name": "DTabidze",
        "email": "130773020+DTabidze@users.noreply.github.com",
        "time": "Fri Mar 08 12:53:20 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 08 12:53:20 2024 +0400"
      },
      "message": "welcome: username error handling (#75)\n\n* username error handling welcome ui\r\n\r\n* added short username check with separate error handling function\r\n\r\n* nothing happaned here\r\n\r\n* added username error handling, form saves info\r\n\r\n* pull75 fixes\r\n\r\n* pull75 fixes ui\r\n\r\n* CSS change\r\n\r\n* separate css for errors, added logic for several type of errors\r\n\r\n* rename extractErrorMessage\r\n\r\n* validation changes\r\n\r\n* added validations in api\r\n\r\n* changed rendering template, recives errors in JSON format\r\n\r\n* rolled back schema and makefile in kratos\r\n\r\n* changes in HTML\r\n\r\n* combined kratos and manual validations\r\n\r\n* fixed rendering and handling JSON error response\r\n\r\n* rollback unused index.html\r\n\r\n* minor fixes\r\n\r\n* refactored the repeated logic of Errors into a separate function\r\n\r\n* rollback\r\n\r\n* refactor: group errors and form data together\r\n\r\n* rollback picocss version\r\n\r\n* use picocss 2.0.6\r\n\r\n---------\r\n\r\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": "8339905ead513754448d09758c02be7208cd3ccc",
      "tree": "94bc6da9fe4508d42ab212870d925791ef4bf46c",
      "parents": [
        "cefecf15e39337665c4507cd7e69c0644eb9e720"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Feb 14 13:27:30 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Feb 14 13:29:05 2024 +0400"
      },
      "message": "welcome: dump error message as response\n"
    },
    {
      "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": "3f697b1b5f446a39cb5f45368cd1df06cca946a4",
      "tree": "20166b108262f301b9c0f0070f10ae495cc8baf3",
      "parents": [
        "7c427602668a33eaec70a1a678a5884a555c284b"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:56:06 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:56:06 2024 +0400"
      },
      "message": "appmanager: make app responsible for rendering its own resources\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": "fedd00675f604327578d433cea4831f116262460",
      "tree": "61907067933b2d618d5f614e681923611c3eda4a",
      "parents": [
        "bae313542250c1a1457ae611320dd5dc2d3a0416"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 21 10:52:49 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 21 12:11:12 2023 +0400"
      },
      "message": "core-auth: api to create new identities\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": "cf5f0b19cf990d793942f4c8259c5c409933e45f",
      "tree": "006fad2a2c98c2cd66f88d800cc524ca09eb33e5",
      "parents": [
        "d680582e2e09ceaac20b56262abc6dd6c9c4a9d9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:31:22 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:31:22 2023 +0400"
      },
      "message": "resource-renderer: use sprig functions\n"
    },
    {
      "commit": "d680582e2e09ceaac20b56262abc6dd6c9c4a9d9",
      "tree": "2dcf6cb6f10acd13a1b8da7d921948c7f213f86b",
      "parents": [
        "c85504d6686fbe77002de91cf7be8acc7a7788e7"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:30:05 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:30:05 2023 +0400"
      },
      "message": "bootstrapper: sleep after soft-server install\n"
    },
    {
      "commit": "c85504d6686fbe77002de91cf7be8acc7a7788e7",
      "tree": "6ea555622896389f6caf29c12316b0b9a8f11b0f",
      "parents": [
        "37c6bcd085bff911beaecd223a9bf2f508d31a3b"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:29:47 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:29:47 2023 +0400"
      },
      "message": "env: fix env key redirect\n"
    },
    {
      "commit": "37c6bcd085bff911beaecd223a9bf2f508d31a3b",
      "tree": "8b894640ca1ae9892c0e11bde7cf534ce7a26b53",
      "parents": [
        "cf252f04a43851614c41dbd8089d875ff375ef1d"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:29:32 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 19:29:32 2023 +0400"
      },
      "message": "resource-renderer: use sprig template functions\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": "d2f3dca1a79cafbcf9a52be44d2a3ae16db6f8fd",
      "tree": "ca3c98d991c4cec0884071ea6b309b29443bcae7",
      "parents": [
        "3fd5e4c5a9377f023ceb8e5dd6a3113484fe46ef"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 09:31:30 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 20 09:31:30 2023 +0400"
      },
      "message": "installer: call reconciler on app install/update/remove\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": "1eec3e12e6817ea99f5a59e52d16df822c32a5b6",
      "tree": "6f0890b2d646a0c12e6a1f8e8a46816c956e3ddb",
      "parents": [
        "0435b204c8526cb00e4e33e710b8e4efb083b99b"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 21:12:29 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 21:12:29 2023 +0400"
      },
      "message": "installer-env: generate env task key\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": "9e2fafad32b5ee7e050d30dd6c1c5925f9ccb0a5",
      "tree": "b254c7a66d0bb6da3bc7495e4836ff4ea31a4117",
      "parents": [
        "561f3d3e6531f3bbef2ce5fde987dddfec43fd1c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 14:12:34 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 14:12:34 2023 +0400"
      },
      "message": "dns-solver: add loggin\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": "6972e851a29d5ddca6009913995fa1e42cfbb336",
      "tree": "907e0fb585272a6e06d3c19613c0e2e40382d956",
      "parents": [
        "18791c04589408ad8618514a1e4cd6bdd9e27452"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 10:21:55 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 18 10:21:55 2023 +0400"
      },
      "message": "fluxcd-reconciler: rm charts dir from reconciler\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": "1caed36cebccd7b8b13666667d044547bb6751dc",
      "tree": "af93a72a9f4d59c8e2a4e23ae49f6635bb9079b0",
      "parents": [
        "cd9e42c008f77aee31c05e9d5f236472eb65fdd2"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 13 16:29:43 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 13 16:29:43 2023 +0400"
      },
      "message": "installer-env: automate dns update with registrar\n"
    },
    {
      "commit": "cd9e42c008f77aee31c05e9d5f236472eb65fdd2",
      "tree": "16035a45080eda26b3f94f156af144fd4a911b40",
      "parents": [
        "efce51ff114b84d036aed12e8fc8b15e4286a5da"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 13 09:49:44 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Dec 13 09:49:44 2023 +0400"
      },
      "message": "installer-env: render dns records to publish\n"
    },
    {
      "commit": "378ea88919ca0aa15a1b3d12ece501bd3f6aee2e",
      "tree": "536f646d6f3ba4d5cef5526e96e6a35ec3570771",
      "parents": [
        "4eb72068cc17b2131e8c414f8d5b45db003d8f0f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 12 13:59:18 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 12 13:59:18 2023 +0400"
      },
      "message": "installer-env: wait for services to be reachable\n"
    },
    {
      "commit": "4eb72068cc17b2131e8c414f8d5b45db003d8f0f",
      "tree": "53b00c4eb87cd175dd0bfc7d224f1d1f31c1b300",
      "parents": [
        "77ee2dc27dd9d72d57ee46b4d27d000df835c964"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 11 16:51:25 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 11 16:51:25 2023 +0400"
      },
      "message": "installer: use nonroot container image\n"
    },
    {
      "commit": "77ee2dc27dd9d72d57ee46b4d27d000df835c964",
      "tree": "04da237dbbd6b6613e881e124e4e9f404357ca1b",
      "parents": [
        "df874f40556b287be77967d925678bbbfe286185"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 11 16:51:10 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 11 16:51:10 2023 +0400"
      },
      "message": "installer: helper leaf/parent tasks\n"
    },
    {
      "commit": "df874f40556b287be77967d925678bbbfe286185",
      "tree": "9859e50aa3080a83bc4e2fefcd28e3caf423f6fd",
      "parents": [
        "46743d4ccf9881f0c7a121310b3a6d3d04ea7a50"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 11 15:46:46 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 11 15:46:46 2023 +0400"
      },
      "message": "installer-env: update ui\n"
    },
    {
      "commit": "46743d4ccf9881f0c7a121310b3a6d3d04ea7a50",
      "tree": "3a3f176699d5959905350089b0e220be3c54a097",
      "parents": [
        "e287076723578f067df050e8d314183417840157"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Dec 10 15:47:23 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Dec 10 15:47:23 2023 +0400"
      },
      "message": "installer: split up new env creation into chain of tasks\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": "260a97db59484417514eddc29bd256c15bdc530c",
      "tree": "a748fde0fdc9f7b5518922036f8ea21f4266692c",
      "parents": [
        "1d58704611b01300dffd29a278eb4af364ca0ac7"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Dec 08 15:04:16 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Dec 08 15:04:16 2023 +0400"
      },
      "message": "welcome: remove gandi api token\n"
    },
    {
      "commit": "1d58704611b01300dffd29a278eb4af364ca0ac7",
      "tree": "e0b0174a288237344b69a67f866d0c5ea16a7586",
      "parents": [
        "1afafb44491c71cf87efa35daec9297826a12260"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Dec 08 10:49:26 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Dec 08 10:49:26 2023 +0400"
      },
      "message": "dns-challenge-solver: fix api configmap field names\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": "109a5675bbb6806c750c7f7742cd6166b09bd7eb",
      "tree": "69cb0d066a8d11e7d1e4066cdd3c56e111ca6c1f",
      "parents": [
        "d847412d1a87ab5dde66bb364e5f18fa4674e925"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 16:05:42 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 16:05:42 2023 +0400"
      },
      "message": "ns-controller: do not use cname aliases\n"
    },
    {
      "commit": "d847412d1a87ab5dde66bb364e5f18fa4674e925",
      "tree": "cf2b521cb3d93c4bc8eed92808aad79b79f0e727",
      "parents": [
        "c9d88a067babf04f2047308774fb7e805f5d3b9d"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 16:05:04 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 16:05:04 2023 +0400"
      },
      "message": "env: public ips\n"
    },
    {
      "commit": "e58fc59cf4e5751ad521d040123d87aba8f2b6ae",
      "tree": "b724c9dc1013c24b0f1d732abc29a246f1f15085",
      "parents": [
        "ae1a4a47226f02c0f2ffc3edd9e5e68d49f861e5"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 13:24:07 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 13:24:07 2023 +0400"
      },
      "message": "ns-controller: manage txt records\n"
    },
    {
      "commit": "ae1a4a47226f02c0f2ffc3edd9e5e68d49f861e5",
      "tree": "5f56c7169e6678f36deeb449fe73ecc973f63278",
      "parents": [
        "e71e8143cdac0fc89bb3a90fc8c90e6c7c8946fb"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 13:23:17 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Dec 07 13:23:17 2023 +0400"
      },
      "message": "cert-manager dns-challenge-solver\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": "123a3675b35f1b7c6f7249f3d63a7e65a1909fe1",
      "tree": "b552314a3f8c24d69459dbb2357140f7842df6e1",
      "parents": [
        "58cb148faf14b29c310a4075b739c4ef2aa54b7c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 13:01:29 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 13:01:29 2023 +0400"
      },
      "message": "installer: use gorilla/mux in create account server\n"
    },
    {
      "commit": "58cb148faf14b29c310a4075b739c4ef2aa54b7c",
      "tree": "e7b1b390bf9944ee02f5cdcafe4f6a5612726bc7",
      "parents": [
        "106a935ae765f18fec9d51b94e2625a145f35ec7"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 12:33:49 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Dec 04 12:33:49 2023 +0400"
      },
      "message": "auth-ui: picocss\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": "e8b2f010c0f4f3a3e459ac68596f42ee5c104682",
      "tree": "1659e3879b67b801dd70928ab768814f828edcff",
      "parents": [
        "724885f1f6e7cc78bc0b00612579221687f76a09"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Nov 30 19:05:03 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Nov 30 19:05:03 2023 +0400"
      },
      "message": "dns-zone-controller: with env-manager generating dnssec key and zone records\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": "c06164d22fcd28ab62318cb0154c396b2755a952",
      "tree": "4c347cf8a207f83ee9b74cfe335cd0b866e4d0b8",
      "parents": [
        "285ab62ddcc4e1c06fe73d9a318f9db5587a83c3"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Nov 22 13:51:29 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Nov 22 13:51:29 2023 +0400"
      },
      "message": "bootstrapper: update infrastructure releases\n"
    },
    {
      "commit": "743fb432c977f4b7a98d37407cccdbe8605dd9cf",
      "tree": "0f487c2274b46553425202ed67e5ebb66451be78",
      "parents": [
        "e1c6a2c6fecae7b8fd6663ff3ee0c26e04a2c169"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Nov 08 17:19:40 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Nov 08 17:19:40 2023 +0400"
      },
      "message": "appmanager: fetch app configs from app-repository\n"
    },
    {
      "commit": "081f18fb45eb1e29fe91ca4d296724ebc20bb981",
      "tree": "7ea817b724319d3ea6f692c7a4272e50c33090e5",
      "parents": [
        "a2122f19506cda38a3528834de4acd060c4f085b"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Nov 07 14:58:10 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Nov 07 14:58:39 2023 +0400"
      },
      "message": "installer: generate and use invitations\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": "57dffb3c7752c6506439ee56f0f747cd552201e7",
      "tree": "bd1e8cc5d0856e4063cc705f7cc0cc7dba0e8558",
      "parents": [
        "196b6f4082507a86382d0fc6f3b0284d946e7d46"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Aug 07 15:45:43 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Aug 07 15:45:43 2023 +0400"
      },
      "message": "installer: use main config when creating new env\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": "4549c353379589a14426c487d8af6903a4918c94",
      "tree": "189f07ee3085a1deed885a4b4cba344f6bd1d714",
      "parents": [
        "a4552a354b6f573b12b0c6e66dd34c9f88b654b1"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:18:52 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:18:52 2023 +0400"
      },
      "message": "installer: update bootstrap manifest\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": "2d843c340aa4b7e31651da43e135b530e7722872",
      "tree": "1939efade6d9724f84a243035e4ad97895c52aec",
      "parents": [
        "e47fa8c00570f431d01e61724a0319905992e956"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:10:24 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:10:24 2023 +0400"
      },
      "message": "core-controllers: multi-arch container images\n"
    },
    {
      "commit": "e7746c6a511f7f1afcc51f5b3a930117413f60b7",
      "tree": "79ecf011e917de32971fe28099d7b8bd38af15bb",
      "parents": [
        "4fc294304dd0ac8b7313fa970a1903891d0b02ab"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:07:06 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 20 10:07:06 2023 +0400"
      },
      "message": "core: service-transport controller\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": "25c705bdced6d462d564c9b69e1f0699bc5c347d",
      "tree": "4c4258ae82cebb53ce85f38f86cf6eb2ed86cb2d",
      "parents": [
        "672af5d8ee15a53eb178439badbaa72228ddd920"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jul 12 11:58:31 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jul 12 11:58:31 2023 +0400"
      },
      "message": "installer: soft-serve version\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": "bf1e6e8e9afe6a5983061fce4ea253f192123f01",
      "tree": "e83a713f9b03da7a6dc9d6f8c4274b27bfcf8589",
      "parents": [
        "5f7d441af6b0c3d3aa7742d3612a8bad63389073"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jul 12 11:57:24 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jul 12 11:57:24 2023 +0400"
      },
      "message": "installer: welcome use new fluxcd api version\n"
    }
  ],
  "next": "1506a4f79a878af09babf2bd27ec16cb813fefe5"
}
