)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "4703175dcdf67dbdc3adcd6253efc741fed9b4fb",
      "tree": "c170708f9de074a7b187276e79133ca68f2adc98",
      "parents": [
        "5f2b91ca0e6d9de94997bfedd7e430d7d6eadd6d"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 12 14:34:33 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 12 14:34:33 2021 +0400"
      },
      "message": "Auth: prettier ui\n"
    },
    {
      "commit": "01a6b79754ecc66b1c76d5a9836d85724d9a50f2",
      "tree": "dc571ca8d829a1d81620252ce8f7f9ad56d9d225",
      "parents": [
        "9cdcc046dc2252a2e9b09f38476895d22dcadb5f"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Nov 11 19:01:17 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Nov 11 19:01:17 2021 +0400"
      },
      "message": "Installer: migrate internal services to *.p.{domain}\n"
    },
    {
      "commit": "95340e88088a9d27c1af1202cc019cb25a23cfa4",
      "tree": "5f8cd29ea8bfdf90f37a4f966bef6fa2b5bd112f",
      "parents": [
        "d9d85130a2c410d1afcc1552bb3048f7554f3d24"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Nov 08 21:36:55 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Nov 08 21:36:55 2021 +0400"
      },
      "message": "Installer: matrix with hydra maester to auto-register oauth2 client\n"
    },
    {
      "commit": "d9d85130a2c410d1afcc1552bb3048f7554f3d24",
      "tree": "80639b3209215130091d3688aa94d0d3b732e204",
      "parents": [
        "dd750802fc0efc8f0d799f3ab966f8f954a51a76"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Nov 07 14:18:46 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Nov 07 14:18:46 2021 +0400"
      },
      "message": "Installer: vaultwarden\n"
    },
    {
      "commit": "dd750802fc0efc8f0d799f3ab966f8f954a51a76",
      "tree": "992fd5504805c895b61c7d733599fbd7f0acb03a",
      "parents": [
        "f15d5a342e8c6a101f05392365164c5afefd811e"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Nov 07 13:24:21 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Nov 07 13:24:21 2021 +0400"
      },
      "message": "Installer: core auth services\n"
    },
    {
      "commit": "788dc6eaff422ebf660a76bb1d384015931b7e8f",
      "tree": "0f2cf93ceffa8af92bb1fb100eec4d9a98002b80",
      "parents": [
        "c4e512fc30b4c2067fd4bacae882d9171936d2c8"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Oct 25 20:40:53 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Mon Oct 25 20:40:53 2021 +0400"
      },
      "message": "Auth: implement consent logic\n"
    },
    {
      "commit": "eb590282e20f318678c4d527e4234e871122ef61",
      "tree": "6b0e0de955d5608defeeb00961387624eee6a3ed",
      "parents": [
        "603e73ad0d4a919b989f3affae761611e215a404"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 22 17:31:40 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 22 17:31:40 2021 +0400"
      },
      "message": "Auth: hydra deployment + basic integration with kratos/auth-ui flow\n"
    },
    {
      "commit": "603e73ad0d4a919b989f3affae761611e215a404",
      "tree": "6614b0633e9c01d37e54ad4dd78775ec05903078",
      "parents": [
        "7032d3c7941ba15908f9f9dd784743a7c51a7b96"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 22 14:46:45 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 22 14:46:45 2021 +0400"
      },
      "message": "Auth: registration/login/logout/whoami\n"
    },
    {
      "commit": "7032d3c7941ba15908f9f9dd784743a7c51a7b96",
      "tree": "fab512f2629f1093fae47d7fe04e54d822b40435",
      "parents": [
        "4c2413b474a4222f49e443d55fa0412c894dcb9b"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 22 14:46:31 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 22 14:46:31 2021 +0400"
      },
      "message": "Auth: ory/kratos deployment\n"
    },
    {
      "commit": "292993080b6025696ec5fac001acd04c24d928ce",
      "tree": "98cb86281d6fdf56262ab59345ddcf9c2a7808bd",
      "parents": [
        "1075b46e0aa19799501f8763f19a753b632c1da5"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Oct 20 12:26:29 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Oct 20 12:26:29 2021 +0400"
      },
      "message": "VPN: orginize nebula code\n"
    },
    {
      "commit": "4b2934b91d9422a23264e2f8248afdbbad1749e4",
      "tree": "0f6048874e82b709e17d71dc03c8bb47251f58fa",
      "parents": [
        "86980ef8dcff552151e5d75026ef7b87223ef021"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 08 19:37:12 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Oct 08 19:37:12 2021 +0400"
      },
      "message": "nebula management web interface\n"
    },
    {
      "commit": "695960b363e5cb5351e61969daf2ba5e48a72b89",
      "tree": "a89fefbcc31dc3ce5d5c81108d4c16a10446ef94",
      "parents": [
        "5ebab80b91aadde7c02584be8a5fb6da0958fe4a"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Oct 07 22:00:29 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Oct 07 22:00:29 2021 +0400"
      },
      "message": "CAController -\u003e NebulaController\n"
    },
    {
      "commit": "5ebab80b91aadde7c02584be8a5fb6da0958fe4a",
      "tree": "bc27e30e733813a66207cc737a0c0a6020c5d05d",
      "parents": [
        "96755fa5aecb45df50f13e1648c2a5882e1064a8"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Oct 07 21:50:34 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Thu Oct 07 21:50:34 2021 +0400"
      },
      "message": "process nodes\n"
    }
  ],
  "next": "96755fa5aecb45df50f13e1648c2a5882e1064a8"
}
