)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "1506a4f79a878af09babf2bd27ec16cb813fefe5",
      "tree": "b7eb983a997380c66cf979e1a07f62729d0484dc",
      "parents": [
        "402fff9531b2dc90ba04d4f89a79533b69359c0e"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jul 11 11:49:02 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jul 11 11:49:02 2023 +0400"
      },
      "message": "installer: repoio readyaml\n"
    },
    {
      "commit": "402fff9531b2dc90ba04d4f89a79533b69359c0e",
      "tree": "0379202c9c1f48ff4b5c4ccb9e9761fbee2a53f5",
      "parents": [
        "a2f4bb2284b2f5771341cc6d6e7e08a8ba44cd05"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Jul 09 19:38:24 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Jul 09 19:38:57 2023 +0400"
      },
      "message": "bootstrap: use retry to wait for soft serve to come up\n"
    },
    {
      "commit": "a2f4bb2284b2f5771341cc6d6e7e08a8ba44cd05",
      "tree": "420c1b4e8a1d9661dd98c03dca87d60188301d63",
      "parents": [
        "6e1bed4cf962151bb12eff4ba57cea0d566fdcaa"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Jul 09 19:38:10 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Jul 09 19:38:10 2023 +0400"
      },
      "message": "fluxcd: use v2.0.0\n"
    },
    {
      "commit": "4257b905211f530f42934956ad9fd935cf501bff",
      "tree": "57bf9364f91b25d98bb2e05bec4edfb811e27099",
      "parents": [
        "af940c87b4c70277b5abfdfe2c54d90b174edaa9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jul 07 17:08:42 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jul 07 17:08:42 2023 +0400"
      },
      "message": "appmanager: replace svelte implementation with go based one\n"
    },
    {
      "commit": "9d03733c524209066eb5a71aa4cc5cff80034785",
      "tree": "acb76fb279e76245c1dbdbfbab26b443fc1b00de",
      "parents": [
        "da912e7b7f1d2877454c03c445429972662315ab"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 06 19:48:49 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jul 06 19:48:49 2023 +0400"
      },
      "message": "installer: configs\n"
    },
    {
      "commit": "6895466f563c9c420275ab6fc453436a49c577a4",
      "tree": "b8832f9ba4897413f11a1a96fbadb29b451f17d0",
      "parents": [
        "7695148eba5571cd3141d3f2e034b510c9dd7d1a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jul 03 10:15:01 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jul 03 10:15:01 2023 +0400"
      },
      "message": "appmanager: limit width\n"
    },
    {
      "commit": "7695148eba5571cd3141d3f2e034b510c9dd7d1a",
      "tree": "712d7c1ee9d0ecf1f6329616ca0a22cbc37ae62d",
      "parents": [
        "6e8131879a23be055b1230c7eef2caf025d4e64f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 23:25:09 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 23:25:09 2023 +0400"
      },
      "message": "appmanager: list and update app instances\n"
    },
    {
      "commit": "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": "54902260b50b429b8d730860d7f81a89ecaaf46d",
      "tree": "9642f4c7dae32f7ae16ad7de80d023dcf0d6d1bd",
      "parents": [
        "4a94da2af4391e36e2b3f556e1cb1cbaddca270b"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:48:38 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:48:38 2023 +0400"
      },
      "message": "appmanager-ui: network selector\n"
    },
    {
      "commit": "4a94da2af4391e36e2b3f556e1cb1cbaddca270b",
      "tree": "033e723fdd7085aca5e8721ff9d19f4743defa5f",
      "parents": [
        "3f689e3e8830deda7576e4210fb82be6837b925c"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:48:02 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:48:02 2023 +0400"
      },
      "message": "installer: rpuppy uses network configuration\n"
    },
    {
      "commit": "3f689e3e8830deda7576e4210fb82be6837b925c",
      "tree": "054573cce18d42cf6c01ae4b00faa02fff3cafb6",
      "parents": [
        "27b2b576fcc9f20ea6f11a7013e81c34fb43bffe"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:47:09 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:47:09 2023 +0400"
      },
      "message": "installer: penpot values template\n"
    },
    {
      "commit": "27b2b576fcc9f20ea6f11a7013e81c34fb43bffe",
      "tree": "1d9961b80b21992958874e1a61ce86c2e9d87041",
      "parents": [
        "15335c2376eb091c0753021b75711ffb51bc48a6"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:44:45 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 30 10:44:45 2023 +0400"
      },
      "message": "installer: separate infra and repo apps. make network configurable\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": "8fe056ba344b3ba6d11f154b3614a09af5e705a2",
      "tree": "e79095927fcd34477c95abe054f4a99c39205c63",
      "parents": [
        "b4a9c98b5f86cda0b936b03fda27db0f1b25ace0"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 23 12:01:43 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 23 12:26:08 2023 +0400"
      },
      "message": "installer: remove install cmd\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": "bc56b551a9d6e75f8af1f5f934c3cf8c0de28b8a",
      "tree": "e149d7a59174df99fa63d3b65dbcaed2a79b8040",
      "parents": [
        "9b3c50eabbccba70ee4ac9cd5a9aeb323941ec3a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:38:05 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:38:05 2023 +0400"
      },
      "message": "installer: welcome release name\n"
    },
    {
      "commit": "9b3c50eabbccba70ee4ac9cd5a9aeb323941ec3a",
      "tree": "e48357e3aaf1197a0b623e2da89ce9c9731f550e",
      "parents": [
        "12850ee12b7f4b0a60ae0f13757a875b29d84e89"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:37:42 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 14:37:42 2023 +0400"
      },
      "message": "installer: cert issuer public/private names\n"
    },
    {
      "commit": "12850ee12b7f4b0a60ae0f13757a875b29d84e89",
      "tree": "3cac4fb0cdf3ae81c032154580a07b4d1b4de8ed",
      "parents": [
        "63c0f91be02b4d6d9b52f344b0c6dfd4941c5f45"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 13:11:17 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 22 13:11:17 2023 +0400"
      },
      "message": "installer: welcome\n"
    },
    {
      "commit": "63c0f91be02b4d6d9b52f344b0c6dfd4941c5f45",
      "tree": "cf996db8e369d86846e3f453430b4d110ab31b09",
      "parents": [
        "71761893bc6686353e629cd8872454a5370a8661"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:03:35 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:03:35 2023 +0400"
      },
      "message": "appmanager: simple web ui\n"
    },
    {
      "commit": "71761893bc6686353e629cd8872454a5370a8661",
      "tree": "c71680c692e01540ed3665cce88af35eb917e47a",
      "parents": [
        "0ccd1481dbc083b60a7cb8ac33ad99bef2c1eb02"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:03:14 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:03:14 2023 +0400"
      },
      "message": "resource-renderer: add status ready\n"
    },
    {
      "commit": "0ccd1481dbc083b60a7cb8ac33ad99bef2c1eb02",
      "tree": "aa576e26ad40f83f2ad893f54fd6b0376e64faa6",
      "parents": [
        "44f9d599f546f4aaf9d42dc1db74f4989ac29513"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:02:24 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 15:02:24 2023 +0400"
      },
      "message": "installer: fully automate initial bootstrap and env creation\n"
    },
    {
      "commit": "44f9d599f546f4aaf9d42dc1db74f4989ac29513",
      "tree": "700f2443efea27736be7debf9e261d5363d56818",
      "parents": [
        "5b35646641aa1f5e3bc7d98e4f7bf4d692e60ab8"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 14:58:19 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 21 14:58:19 2023 +0400"
      },
      "message": "headscale-controller: add headscaleAddress to the HeadscaleUser crd\n"
    },
    {
      "commit": "e34a0619663e034438bbda9a3908b1bb0da327a6",
      "tree": "3e8793138b1775dbb077effa3e840fec85c9af4e",
      "parents": [
        "8921297821a5c14a6d5dd57a388ccdac167834ea"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 13:56:10 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 13:56:10 2023 +0400"
      },
      "message": "installer: app templates\n"
    },
    {
      "commit": "b591eae1517a526e455e67f07f8d66e08fdacf2a",
      "tree": "b7ca030284f971eee64849f035d41a18ac77d826",
      "parents": [
        "027ef4382ece1481f26d8757d41dd758a6865ec9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 12:31:49 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 12:31:49 2023 +0400"
      },
      "message": "resource renderer\n"
    },
    {
      "commit": "027ef4382ece1481f26d8757d41dd758a6865ec9",
      "tree": "87678362f83e972011d27cac0f8d491c794199de",
      "parents": [
        "7366dbb6cfe8570a5a7a9ce9dbd405efb11fa5fc"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 12:31:25 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 12:31:25 2023 +0400"
      },
      "message": "headscale client extract last line only\n"
    },
    {
      "commit": "7366dbb6cfe8570a5a7a9ce9dbd405efb11fa5fc",
      "tree": "88a8709d6c6a1bc922398a53d42a822ab54e2606",
      "parents": [
        "488ac3b13aec0a93fc571f99b86047b7d17a7bbe"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 12:31:03 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 16 12:31:03 2023 +0400"
      },
      "message": "headscale controller\n"
    },
    {
      "commit": "52814d93d9c7864fea539c36c642382018a6c40c",
      "tree": "49f3ecfe82ea9fef1f057b07caeb71ca23d039f9",
      "parents": [
        "37181d00bb970b10934caf4cfa6898a3f3d8295a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 15 19:30:32 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 15 19:30:32 2023 +0400"
      },
      "message": "core: headscale api\n"
    },
    {
      "commit": "fa57edf358cfa3771e3ee9c017cd80283a891e30",
      "tree": "1842b8b564e6fc0e4bb71d5ceffaa7e90db56652",
      "parents": [
        "38496bbce75fb81751be6997dccac51b98476977"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 14 13:49:47 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed Jun 14 13:49:47 2023 +0400"
      },
      "message": "installer: app value templates\n"
    },
    {
      "commit": "8be0b942e6bfbae45d7afe2a7de9ffd68508ce9a",
      "tree": "66b78d0e828b0ff3e001b2603753e426d57236c6",
      "parents": [
        "524485f13f8e7b463d45ee533a413c9abf0e53be"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jun 13 13:29:21 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jun 13 13:29:21 2023 +0400"
      },
      "message": "core-auth: use k8s internal service address for hydra-admin\n"
    },
    {
      "commit": "524485f13f8e7b463d45ee533a413c9abf0e53be",
      "tree": "7c933134ce79112ae8b07129de7dcc29d093260e",
      "parents": [
        "2c1253c28fe10dcbf63eaf3bfc9f55ae4c02f3f3"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jun 13 13:29:04 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Jun 13 13:29:04 2023 +0400"
      },
      "message": "installer: tailscale-proxy\n"
    },
    {
      "commit": "c921139aa816a234d9c809145ecc6a50e8615190",
      "tree": "ab712aa3a6148219f23e2b4c3c74a92ee52ab2cf",
      "parents": [
        "ad59bfbf10bef9067ffead4f603753ecd38c1f8f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jun 12 18:30:14 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jun 12 18:30:14 2023 +0400"
      },
      "message": "charts: install helm releases in main namespace\n"
    },
    {
      "commit": "ad59bfbf10bef9067ffead4f603753ecd38c1f8f",
      "tree": "de87480f7ec92d3f540522761a2b6ece8ffffd59",
      "parents": [
        "87be4ae37c810f0f294c3c3dbff4a83cf8ad9c5a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jun 12 00:04:17 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Mon Jun 12 00:04:17 2023 +0400"
      },
      "message": "installer: create namespace with kustomization\n"
    },
    {
      "commit": "87be4ae37c810f0f294c3c3dbff4a83cf8ad9c5a",
      "tree": "fb80a2a4dfce913ae403c562fdf0ee7dc0e47e48",
      "parents": [
        "3550b4302ac99b271dd8d323b6537b66a7ec7238"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Jun 11 23:41:09 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Sun Jun 11 23:41:09 2023 +0400"
      },
      "message": "installer: env uses repoio\n"
    },
    {
      "commit": "3550b4302ac99b271dd8d323b6537b66a7ec7238",
      "tree": "76bde1f80b4ac22da878a27ab0ad90f485e39e41",
      "parents": [
        "7659fc3da39e3814828f672e5f69fb6b59e9d480"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 19:37:51 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 19:37:51 2023 +0400"
      },
      "message": "installer: configure pcloud repo during bootstrap\n"
    },
    {
      "commit": "d6e80cc2659bd65d496e2e2ab29859b6051e97bf",
      "tree": "686bd481afd0e3aa9f46154cc2f6ff50398e3639",
      "parents": [
        "938b073ad13e3d1530af000cbe61907da4b33241"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 17:38:49 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 17:38:49 2023 +0400"
      },
      "message": "installer: bootstrap installs smb driver\n"
    },
    {
      "commit": "938b073ad13e3d1530af000cbe61907da4b33241",
      "tree": "66197c89cf6084dfd9e620ff2bcf602a38df8453",
      "parents": [
        "26224800e3f3554c563f90e48f91eb26c9dc0e84"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 13:14:01 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 13:14:01 2023 +0400"
      },
      "message": "installer: fetch before install\n"
    },
    {
      "commit": "19960c5d85e9cc267064a330622728762e11826c",
      "tree": "9509b0c0ed48f0f2908b8e86ecc5c7f9a7072772",
      "parents": [
        "bde185518a7c17ba54e948c94f5bc7588292f545"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:55:08 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:55:08 2023 +0400"
      },
      "message": "installer: qbittorrent readme\n"
    },
    {
      "commit": "bde185518a7c17ba54e948c94f5bc7588292f545",
      "tree": "3cc0c0fa1a5f120a2dbba2f3215675a0e2b338d4",
      "parents": [
        "acc4a63652e15e446487f35368412b48d49a51af"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:54:24 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:54:24 2023 +0400"
      },
      "message": "installer: configure longhorn default path during bootstrap\n"
    },
    {
      "commit": "acc4a63652e15e446487f35368412b48d49a51af",
      "tree": "c701b7ea68f949cae173b63cb3bdb99ae4dd1e8f",
      "parents": [
        "50ed2f37913b1d2944aef45e9e08f875b29e5232"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:50:21 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 09 12:50:21 2023 +0400"
      },
      "message": "installer: helmrelease for app namespaces\n"
    },
    {
      "commit": "c647025153355c2aff851a04e654a124bb212777",
      "tree": "aad46b64607742d70bdcb28864ad58c31e07c9ee",
      "parents": [
        "8bbf18d88bdc0db68ff2872b7782c2dcb3cee286"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 14:50:39 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 14:50:39 2023 +0400"
      },
      "message": "charts qbittorrent\n"
    },
    {
      "commit": "8bbf18d88bdc0db68ff2872b7782c2dcb3cee286",
      "tree": "b0ad62defa21b0ff058cc1a7e5a063b62d66f6c9",
      "parents": [
        "28ad45123bb65b144b7678031c4e38cd5a8be039"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:44:41 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:45:21 2023 +0400"
      },
      "message": "vaultwarden\n"
    },
    {
      "commit": "28ad45123bb65b144b7678031c4e38cd5a8be039",
      "tree": "8152404d1b378802f722be8d37afa4dc5f3843b9",
      "parents": [
        "4d2784df122176cb62ba24b7b492749b54a81a71"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:44:27 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jun 02 11:45:16 2023 +0400"
      },
      "message": "pihole\n"
    },
    {
      "commit": "4d2784df122176cb62ba24b7b492749b54a81a71",
      "tree": "a4eede35ea9dd3c0bb9138dd79465d8cba6b80bb",
      "parents": [
        "e390a14fcff1f90ce9cbfe0b8808e51da6955ebd"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 01 14:27:32 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jun 01 14:27:32 2023 +0400"
      },
      "message": "headscale ingress-private\n"
    },
    {
      "commit": "0c5b8bebda895075dfc6d8ffb2c61329a0438542",
      "tree": "0679732dc42bb39ced1d21cadfb7adbdc55065ac",
      "parents": [
        "5b1e8eef161b57ccb0490836b5d2081d1985735a"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed May 31 14:15:52 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed May 31 14:15:52 2023 +0400"
      },
      "message": "installer: core-auth\n"
    },
    {
      "commit": "5b1e8eef161b57ccb0490836b5d2081d1985735a",
      "tree": "0cb1e0777dd109265a633bb8963e2898430acd85",
      "parents": [
        "a624b8400886d899093c8f8f06ca9da966042e87"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed May 31 14:15:28 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Wed May 31 14:15:28 2023 +0400"
      },
      "message": "appmanager: empty config\n"
    },
    {
      "commit": "8c99d62f9f247075f62cb838a41653fbf8382795",
      "tree": "e8d34b48d14e25338b588569f66452cea56d1a40",
      "parents": [
        "3ca1f3fe3115fefc0dd06e8c2ce06bb37abc9016"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:40:50 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:40:50 2023 +0400"
      },
      "message": "charts: postgresql\n"
    },
    {
      "commit": "3ca1f3fe3115fefc0dd06e8c2ce06bb37abc9016",
      "tree": "d9963043aa5e851f3804ef0cf0a4e3d3c72b80f6",
      "parents": [
        "3a907050027e5d36d6a50539ff8190e70599dcc6"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:33:02 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 14:34:33 2023 +0400"
      },
      "message": "core-auth\n"
    },
    {
      "commit": "3a907050027e5d36d6a50539ff8190e70599dcc6",
      "tree": "65dbb74dfd2b620508617daf5c3fc9045496c61c",
      "parents": [
        "ce3c64d0af507ba46ef3cda53afc20f0b573838f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:33:32 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:33:32 2023 +0400"
      },
      "message": "appmanager-api: headscale\n"
    },
    {
      "commit": "ce3c64d0af507ba46ef3cda53afc20f0b573838f",
      "tree": "3a54e29adcb5294379646ed669670cc8df0f463b",
      "parents": [
        "c77ec4286e32e4e9ef16971db802e77a868e4b62"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:28:08 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:28:08 2023 +0400"
      },
      "message": "charts: headscale global/app config\n"
    },
    {
      "commit": "c77ec4286e32e4e9ef16971db802e77a868e4b62",
      "tree": "0fc8185e163a45418825bbd49096b4e7e437a360",
      "parents": [
        "03ee585dc6756729e4543b1cefcc8c6057a800cd"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:21:15 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:21:15 2023 +0400"
      },
      "message": "appmanager-ui: list and install apps\n"
    },
    {
      "commit": "03ee585dc6756729e4543b1cefcc8c6057a800cd",
      "tree": "bc1281a71886ce2c61ca7207a249a3595d41fa57",
      "parents": [
        "7efe22f412bb249bd1f41bdcc758edbd749198c8"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:20:10 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:20:10 2023 +0400"
      },
      "message": "installer-api: include config in app\n"
    },
    {
      "commit": "7efe22f412bb249bd1f41bdcc758edbd749198c8",
      "tree": "93e0846c9814426677787f9d49b7066ab8852ee0",
      "parents": [
        "bd6be7f5122b7158121e9cf79215b78eeaefff17"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:01:53 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue May 30 13:01:53 2023 +0400"
      },
      "message": "appmanager-api: render, install\n"
    },
    {
      "commit": "bd6be7f5122b7158121e9cf79215b78eeaefff17",
      "tree": "98c48eccf343193176fe53dec0ec334d338073d8",
      "parents": [
        "677b457f1a09389e54ae3f8ec48ef661cbe07fc4"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 15:51:28 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 15:51:28 2023 +0400"
      },
      "message": "installer: appmanager cmd\n"
    },
    {
      "commit": "677b457f1a09389e54ae3f8ec48ef661cbe07fc4",
      "tree": "4f37c48b55b892d0f662fecbc2c47eda0b544b90",
      "parents": [
        "46c627e07ada6d7f4427c160af0632729e935eb9"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 15:02:37 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 15:02:37 2023 +0400"
      },
      "message": "fix bootstrap\n"
    },
    {
      "commit": "23ef7f8e2581fd0a6d7e9278691f1a4d865d813f",
      "tree": "99366cfed41973c7d8f6e60aac9423565c6c9b3f",
      "parents": [
        "620caa83cc92b2c9522c4c24167771be7dbbe4e5"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 11:57:48 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri May 26 11:57:48 2023 +0400"
      },
      "message": "installer: env and app manager\n"
    },
    {
      "commit": "8aa73e80a629d5047730ff43a204811856f6e33e",
      "tree": "78d6755819f5c490d52991a3a5da9eb733d09d21",
      "parents": [
        "b696f19cfb56615cca89bdcf7c97b27e66bb99f5"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Jul 09 11:34:39 2022 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Jul 09 11:34:39 2022 +0400"
      },
      "message": "installer: clean up codebase\n\n* introduce helper soft package to work with SoftServe\n* move commands to cmd/\n"
    },
    {
      "commit": "9eacb1aa9c0779fbd1687d0ebb377ec5a141f3cc",
      "tree": "0a683d3b88e466b1c155719173bf10224cf293a2",
      "parents": [
        "875548da4bbb7a1fc0bbdb74e0d8ffd3359457ad"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat May 21 13:57:19 2022 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat May 21 13:57:19 2022 +0400"
      },
      "message": "bootstrap: fix service account permission issues\n"
    },
    {
      "commit": "716efb913e77382bc77d80239502f8491673b3ac",
      "tree": "be89bb0fe80647fa5213a7a54990f84c7b5aa8e3",
      "parents": [
        "a5d1eb695b43d1914dbfcf7ba7f53165146e6eb0"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat May 07 23:08:58 2022 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat May 07 23:13:47 2022 +0400"
      },
      "message": "core-installer: bootstrap logic\n\nInstalls soft-serve git server and fluxcd.\nFluxcd stores all system resource configurations on soft-serve.\n"
    },
    {
      "commit": "ef76a3e49aa32b4da9387d7c6eb417ff656a58f4",
      "tree": "c8ab4da0129d3cfb2aa2040b6f7b372074849275",
      "parents": [
        "6bb21c22dfa2d271b79b8c1253cdf90607cb24d3"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Jan 10 12:22:28 2022 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Jan 10 12:22:28 2022 +0400"
      },
      "message": "apps: qbittorrent + jellyfin\n"
    },
    {
      "commit": "6bb21c22dfa2d271b79b8c1253cdf90607cb24d3",
      "tree": "e62b3488968b682b7acf1b27912289a9a2a7e2fd",
      "parents": [
        "7ef25e7c99ae1a2087d4b1aca3d6d086e519f1f0"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 29 21:31:08 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 29 21:31:08 2021 +0400"
      },
      "message": "VPN: move certificate signing logit to api service to which controller delegates ops\n"
    },
    {
      "commit": "050609f66431dba5a0f8bdc53bced2e10c96ff12",
      "tree": "37732e563792d710be32f27f726ed928ccd95ade",
      "parents": [
        "08531a4f9f63ae422921a5543074c35754b7afe8"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 29 15:51:40 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 29 15:51:40 2021 +0400"
      },
      "message": "installer cmd line tool\n"
    },
    {
      "commit": "08531a4f9f63ae422921a5543074c35754b7afe8",
      "tree": "a8d865c53e4d87ef98d36ee0c266bf02f9433d6b",
      "parents": [
        "3f0dcdad1a9dcb594c8e2e186e32b941fba97a7c"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Dec 27 17:52:28 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Dec 27 17:52:28 2021 +0400"
      },
      "message": "rm android\n"
    },
    {
      "commit": "3f0dcdad1a9dcb594c8e2e186e32b941fba97a7c",
      "tree": "323dcd104ee8af8a23b795bfc6e6609086074537",
      "parents": [
        "1026d2d879f25afeaf12d28657ce0f36c1e680e9"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 22 23:32:49 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 22 23:32:49 2021 +0400"
      },
      "message": "vpn client + api: add feature to approve one device from another\n"
    },
    {
      "commit": "1026d2d879f25afeaf12d28657ce0f36c1e680e9",
      "tree": "7143024ee8b2212d5b5d8a336408c8f9b3590faa",
      "parents": [
        "8d6a0ca8059490666da2156f3d8406c926bd2f1a"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Dec 19 19:09:15 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Dec 19 19:09:15 2021 +0400"
      },
      "message": "vpn client: use device hostname\n"
    },
    {
      "commit": "8d6a0ca8059490666da2156f3d8406c926bd2f1a",
      "tree": "b70ac37be3c1c55e4c9dfd3f8e5e633b06058903",
      "parents": [
        "96202c5d06dda85ff0f243681d00be8459a7ed9a"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Dec 19 17:42:25 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Dec 19 17:42:25 2021 +0400"
      },
      "message": "client-android: store network config as app prefs\n"
    },
    {
      "commit": "96202c5d06dda85ff0f243681d00be8459a7ed9a",
      "tree": "f6af7946b24791397b0dea873b01f34c0b457398",
      "parents": [
        "52da88adc600fdea6a73f30bb02f07253af9262f"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Dec 18 12:45:34 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Dec 18 12:45:34 2021 +0400"
      },
      "message": "client app: use actual buttons\n"
    },
    {
      "commit": "52da88adc600fdea6a73f30bb02f07253af9262f",
      "tree": "4211a1be2271b319e589950cd18ad6172e40d63d",
      "parents": [
        "cc3ebcb0578941ce614d9459e784e88f399c0b9d"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 17 18:08:25 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 17 18:08:25 2021 +0400"
      },
      "message": "VPN client: start Nebula controller locally\n"
    },
    {
      "commit": "cc3ebcb0578941ce614d9459e784e88f399c0b9d",
      "tree": "5a19f7ff69ab39b5f26740d2f87601eadcb0ee3f",
      "parents": [
        "90c2003eaedcad4eb675c2e25d54a6fd82615627"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 17 10:52:17 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 17 10:52:17 2021 +0400"
      },
      "message": "VPN: API server returnes config template while client app merges private key into it\n"
    },
    {
      "commit": "90c2003eaedcad4eb675c2e25d54a6fd82615627",
      "tree": "747cf3d26bc4c85acbe4189b01e15d7adee85c9d",
      "parents": [
        "f58a76906588162b976fdf0a16064e3d5f55da11"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 15 18:06:20 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 15 18:06:20 2021 +0400"
      },
      "message": "rm build targets\n"
    },
    {
      "commit": "f58a76906588162b976fdf0a16064e3d5f55da11",
      "tree": "4dff0e118826df0774c47e27dda7a16ee9f9ff3e",
      "parents": [
        "313ee2b1737d155125aeab2d5d27c3d640372c29"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 15 18:05:39 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 15 18:05:39 2021 +0400"
      },
      "message": "Client: send join request with signed message to verify validity\n"
    },
    {
      "commit": "313ee2b1737d155125aeab2d5d27c3d640372c29",
      "tree": "8cd6b2e633b16946d7e26df6b4eb9b2a460642b5",
      "parents": [
        "b64297c85b54526cf44da8af7d1fc5409babbe2f"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 15 15:17:29 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 15 15:17:29 2021 +0400"
      },
      "message": "Client: cross-platform app (tested on OSX and Android)\n"
    },
    {
      "commit": "b64297c85b54526cf44da8af7d1fc5409babbe2f",
      "tree": "1678dbddbee9f1d2a1b49386263451c73f0f69ea",
      "parents": [
        "2cacf45265777462ad8cbb8234a5f648d8d06af5"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Dec 13 14:36:32 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Dec 13 14:36:32 2021 +0400"
      },
      "message": "Basic implementation of client: render qa code and scan from mobile app\n"
    },
    {
      "commit": "2cacf45265777462ad8cbb8234a5f648d8d06af5",
      "tree": "ab0d15756214689b5cfb7a1965d9c60eff5c054c",
      "parents": [
        "c054df13a2a16ad16021200cb5fd10635735f52c"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Dec 09 19:06:17 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Dec 09 19:06:17 2021 +0400"
      },
      "message": "nebula api\n"
    },
    {
      "commit": "c6859b05f2d90a36393d2852f0bcf61d8cdd5890",
      "tree": "789107acb02dc995f6467436e2f6190a3349c8c5",
      "parents": [
        "4db32e18397487fe6dbd6e61b86efe0d8c8af0e8"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Dec 09 18:40:51 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Dec 09 18:40:51 2021 +0400"
      },
      "message": "Nebula: separate controller from api\n"
    },
    {
      "commit": "4db32e18397487fe6dbd6e61b86efe0d8c8af0e8",
      "tree": "90a0eef396b9087f095c67e3019b37ec68fdbf69",
      "parents": [
        "34eef552340692317c63dacc66c73e1c7066ceac"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Dec 09 18:17:40 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Dec 09 18:17:40 2021 +0400"
      },
      "message": "rm old nebula dir\n"
    },
    {
      "commit": "6f3e233c7121388e7dff3700f9aaf9d20e302b01",
      "tree": "1a02d6daefaeb7ad1ef71a02bf97ca5fa01578ad",
      "parents": [
        "704bfd9e58a16d97f821857f95d1db55ac5b2a40"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Dec 04 19:42:13 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Dec 04 19:42:13 2021 +0400"
      },
      "message": "Build multi-arch container images across stack\n"
    },
    {
      "commit": "7fc15e7f3ceb8abd9da1f0baf433c362ce029fdf",
      "tree": "af33c478c1ac889787c28c60ff30d132f02af26d",
      "parents": [
        "26a96815245899b58f51679b99e55d739dc6e873"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 15:54:42 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 15:54:42 2021 +0400"
      },
      "message": "Installer: make vpn ip configurable\n"
    },
    {
      "commit": "7e73ba7b0734c3651a46f285018dc2bd53fc9201",
      "tree": "7f87c818fa1683ced994f4dc355d309fb5134953",
      "parents": [
        "f1c350311ff0af0d09c9a0a75cdedd6dc6463f56"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 13:14:20 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 13:14:20 2021 +0400"
      },
      "message": "Installer: nebula controller\n"
    }
  ],
  "next": "4703175dcdf67dbdc3adcd6253efc741fed9b4fb"
}
