)]}'
{
  "log": [
    {
      "commit": "a09fad74443c2313bfc97f61f7b2a83c82423aef",
      "tree": "af5f1db30a2ab4d18180b3e97d52926cc5dac51e",
      "parents": [
        "618e243b36c6518a97e1d3a8ce9a6d69a5eaffad"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Thu Mar 21 15:24:35 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 21 15:24:35 2024 +0400"
      },
      "message": "auth-proxy: verify group membership (#105)\n\n* auth-proxy: verify group membership\r\n\r\n* memberships: install memberships app and use it in few apps\r\n\r\n* app-repo: render auth\r\n\r\n* installer: always use external dependencies option in app configs\r\n\r\n* installer: fix auth handling\r\n\r\n* auth-proxy: configure membership-addr and groups flags in helm chart\r\n\r\n* installer: fix indentation\r\n\r\n* app-manager: fix how auth block is rendered\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "0ba5e4081640155aa4a356fa279c6d6bb9e55d90",
      "tree": "64cf73da6abcdf295404a76f7172151cd1a11c1b",
      "parents": [
        "d7744a6874c4eceeabf5011a18e68430725eed4d"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Wed Mar 20 15:56:30 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 20 15:56:30 2024 +0400"
      },
      "message": "auth-proxy: proxies only authenticated requests to upstream, redirects to login page otherwise (#103)\n\n* auth-proxy: inspects authenticated user\r\n\r\n* ingress: chart and use in rpuppy\r\n\r\n* auth-proxy: make it optional in rpuppy\r\n\r\n* kratos: whitelist env pub/priv domains for auth return_to addr\r\n\r\n* url-shortener: put behind auth-proxy\r\n\r\n* pihole: replace oauth2-client with auth-proxy\r\n\r\n* auth-proxy: fix upstream uri generation\r\n\r\n* pihole: remove old chart using oauth2\r\n\r\n* auth-proxy: remove temporary values file\r\n\r\n* url-shortener: check x-user header for authentication\r\n\r\n* auth: fix allowed_return_urls list\r\n\r\n* auth-proxy: fix current address generation logic\r\n\r\n---------\r\n\r\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "7c037394ea830a06b24415c59ed6fd1a4fee72d9",
      "tree": "1e08868585b5e98a3d166eac76b98d1eaa3b929d",
      "parents": [
        "03d6f4b45e22385d45017f2f56e21f44071d4bcf"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "giolekva@gmail.com",
        "time": "Mon Mar 11 14:40:24 2024 +0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 11 14:40:24 2024 +0400"
      },
      "message": "installer: remove old yaml config files (#78)\n\nCo-authored-by: Giorgi Lekveishvili \u003clekva@gl-mbp-m1-max.local\u003e"
    },
    {
      "commit": "08af67aef1c07d1f0ff4f8d93a77237263db737e",
      "tree": "8c438f7f33bd1f540b4d4baaf5ca15204b3bf7ba",
      "parents": [
        "ef21c1313e8bc150ff4b571dab4cbee50fbe0029"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 18 08:53:05 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 18 08:53:05 2024 +0400"
      },
      "message": "installer: refactor App interface\n"
    },
    {
      "commit": "9b52ab9df80ef838278c7de02aed292483aa2775",
      "tree": "df58256943e8aa12edf41a38b8af2f7aa5bd3ff4",
      "parents": [
        "3f697b1b5f446a39cb5f45368cd1df06cca946a4"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jan 05 13:12:48 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Fri Jan 05 13:30:55 2024 +0400"
      },
      "message": "appmanager: use cue config when available, migrate rpuppy to cue\n"
    },
    {
      "commit": "3f697b1b5f446a39cb5f45368cd1df06cca946a4",
      "tree": "20166b108262f301b9c0f0070f10ae495cc8baf3",
      "parents": [
        "7c427602668a33eaec70a1a678a5884a555c284b"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:56:06 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:56:06 2024 +0400"
      },
      "message": "appmanager: make app responsible for rendering its own resources\n"
    },
    {
      "commit": "7c427602668a33eaec70a1a678a5884a555c284b",
      "tree": "07ce64790f298e73a2699ca60ff70020877ef959",
      "parents": [
        "d76414ebcf4a079b003f1edd67edbee330408c94"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:13:55 2024 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Thu Jan 04 00:13:55 2024 +0400"
      },
      "message": "appmanager: refactor schema into interface, introduce cuelang\n"
    },
    {
      "commit": "378ea88919ca0aa15a1b3d12ece501bd3f6aee2e",
      "tree": "536f646d6f3ba4d5cef5526e96e6a35ec3570771",
      "parents": [
        "4eb72068cc17b2131e8c414f8d5b45db003d8f0f"
      ],
      "author": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 12 13:59:18 2023 +0400"
      },
      "committer": {
        "name": "Giorgi Lekveishvili",
        "email": "lekva@gl-mbp-m1-max.local",
        "time": "Tue Dec 12 13:59:18 2023 +0400"
      },
      "message": "installer-env: wait for services to be reachable\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ]
}
