)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "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": "6e8131879a23be055b1230c7eef2caf025d4e64f",
      "tree": "62059ba557143d6b29211018520c15703b541bce",
      "parents": [
        "54902260b50b429b8d730860d7f81a89ecaaf46d"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 13:45:30 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 13:45:30 2023 +0400"
      },
      "message": "installer: separate suffix and prefix generation.\n\nReuse suffix for app dir name.\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": "b4a9c98b5f86cda0b936b03fda27db0f1b25ace0",
      "tree": "c9d0851e212cf99307e33500670d6f2aaca91442",
      "parents": [
        "6b887bedae2e4df46dea4aa98cc681f3087e5002"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 15:17:02 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 15:17:16 2023 +0400"
      },
      "message": "installer: env form\n"
    },
    {
      "commit": "6b887bedae2e4df46dea4aa98cc681f3087e5002",
      "tree": "45f35cf98a39f1e15a605550e0b79979c5d9363d",
      "parents": [
        "bc56b551a9d6e75f8af1f5f934c3cf8c0de28b8a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:38:19 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:38:19 2023 +0400"
      },
      "message": "installer: welcome accepts both form data and json input\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"
    }
  ]
}
