)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "704bfd9e58a16d97f821857f95d1db55ac5b2a40",
      "tree": "598a03c64ebcf903f2cf0de394bc5e77a984f229",
      "parents": [
        "7527b7d24c22ea0a398d5e5546acdc4450e21683"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 15:55:11 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 15:55:11 2021 +0400"
      },
      "message": "installer: maddy cleanup mta-sts\n"
    },
    {
      "commit": "7527b7d24c22ea0a398d5e5546acdc4450e21683",
      "tree": "1586756a14d28f1ec64d2cbd2ba63dfb41a4a922",
      "parents": [
        "7fc15e7f3ceb8abd9da1f0baf433c362ce029fdf"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 15:55:00 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 15:55:00 2021 +0400"
      },
      "message": "installer: keep namespaces on delete\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": "26a96815245899b58f51679b99e55d739dc6e873",
      "tree": "aaf3f958122d7023f729f482b3c2802a0491b9ff",
      "parents": [
        "a2cf492bdebb5dd1c9ac702d6a445c7c17143c0e"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 13:36:02 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 13:36:02 2021 +0400"
      },
      "message": "Installer: separate certificates from ingress and annotate to keep them after helm uninstall\n"
    },
    {
      "commit": "a2cf492bdebb5dd1c9ac702d6a445c7c17143c0e",
      "tree": "22263abdecc56444a3cf5c9c9b76643f327205e4",
      "parents": [
        "7e73ba7b0734c3651a46f285018dc2bd53fc9201"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 13:18:49 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Dec 03 13:18:49 2021 +0400"
      },
      "message": "Intaller: nebula controller chart\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": "3085046b1e51c71c6e037e55180781a4741aff0f",
      "tree": "b477e9cc8c1ba54d64a77ca2678aca65dc97bb74",
      "parents": [
        "ee3a57b2e2402fded29c75d19a2ae8b1fa36a52a"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 01 16:23:50 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 01 16:23:50 2021 +0400"
      },
      "message": "Installer: introduce namespacePrefix, fix certificates, split matrix installation using pre-install hook\n"
    },
    {
      "commit": "ee3a57b2e2402fded29c75d19a2ae8b1fa36a52a",
      "tree": "1c121ff3d5a5411268a0aba1ac516786ff9df193",
      "parents": [
        "3423ac2a4e2299895b1a833fed1c58276f106f9d"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 01 16:18:23 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Dec 01 16:18:23 2021 +0400"
      },
      "message": "Installer: mail-gateway configure downstream smtp server addresses\n"
    },
    {
      "commit": "3423ac2a4e2299895b1a833fed1c58276f106f9d",
      "tree": "4f13d0396380f217d36d39c42a827e143b8e8d31",
      "parents": [
        "8fc32cefc24a3140041de184ba95ef31d6511c7a"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Nov 28 20:47:34 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sun Nov 28 20:47:34 2021 +0400"
      },
      "message": "Installer: infra - mail gateway\n"
    },
    {
      "commit": "11881b5f1453916b039ccdd2cb4a1f598bf33fdf",
      "tree": "e7c460fc43e7d0f7fd1b92ae0fe82b47983b57a8",
      "parents": [
        "9fcfd4df61071b1144a486e9c5a8e8775e518dd3"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Nov 27 16:51:58 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Nov 27 16:51:58 2021 +0400"
      },
      "message": "Installer: configure cert-manager(-webhook-gandi), kubed as part of infrastructure\n"
    },
    {
      "commit": "75ee27167691521d040bae25be3edb856795da30",
      "tree": "8340561edc8e7352045cfaf16af2902cac6cec63",
      "parents": [
        "7fe15197e5a36d6c524721b35152923f9d6ec94b"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 26 13:57:12 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 26 13:57:12 2021 +0400"
      },
      "message": "mail-gateway\n"
    },
    {
      "commit": "7fe15197e5a36d6c524721b35152923f9d6ec94b",
      "tree": "48a6767f7e1a5c5c9b53ba62d6ee59b23a0d11d5",
      "parents": [
        "4703175dcdf67dbdc3adcd6253efc741fed9b4fb"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 19 13:58:16 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 19 13:58:16 2021 +0400"
      },
      "message": "Installer: maddy\n"
    },
    {
      "commit": "5f2b91ca0e6d9de94997bfedd7e430d7d6eadd6d",
      "tree": "22ff4f0ddd2805d5eb92b10bcc43e2384f294b75",
      "parents": [
        "01a6b79754ecc66b1c76d5a9836d85724d9a50f2"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 12 11:39:57 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 12 11:39:57 2021 +0400"
      },
      "message": "Installer: use default certificates\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": "9cdcc046dc2252a2e9b09f38476895d22dcadb5f",
      "tree": "73c609fc0d34f8a6e4c5da7b1691b91b43bd2def",
      "parents": [
        "99c6cdd4d538ae3a560921451d29fa890ad5d332"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Nov 10 15:24:54 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Nov 10 15:24:54 2021 +0400"
      },
      "message": "Installer: vaultwarden use public domain on private network\n"
    },
    {
      "commit": "99c6cdd4d538ae3a560921451d29fa890ad5d332",
      "tree": "1067a5d222df72f779bee329abe2a520bd67ea3e",
      "parents": [
        "17861bc0aff3b876e2cbaf8e64459348bc7efc59"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Nov 10 15:12:48 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Wed Nov 10 15:12:48 2021 +0400"
      },
      "message": "Installer: use helm secrets to encrypt secrets locally and avoid regenerating them on every upgrade\n"
    },
    {
      "commit": "17861bc0aff3b876e2cbaf8e64459348bc7efc59",
      "tree": "8d154681f0b936d36a64a0b065c73701ad1b6edf",
      "parents": [
        "01b3d3bc65d3a381eda181cdbb3ebed9cfdb7399"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Tue Nov 09 19:50:50 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Tue Nov 09 19:50:50 2021 +0400"
      },
      "message": "Installer: assign pihole public domain to private VPN IP with letsencrypt verifiable certificate\n"
    },
    {
      "commit": "01b3d3bc65d3a381eda181cdbb3ebed9cfdb7399",
      "tree": "9df2bb68633c4691093dc07e39365c8cfd3f66c5",
      "parents": [
        "95340e88088a9d27c1af1202cc019cb25a23cfa4"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Tue Nov 09 17:48:28 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Tue Nov 09 17:48:28 2021 +0400"
      },
      "message": "Installer: pihole + root-ca-server + fix bitwarden cert issuer name\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": "f15d5a342e8c6a101f05392365164c5afefd811e",
      "tree": "c7afa952077dd91845437f7c470381c2dcc3dec5",
      "parents": [
        "5cd321671998810692f365f9c1c715abed58621f"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Nov 06 16:42:58 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Sat Nov 06 16:42:58 2021 +0400"
      },
      "message": "Installer: certificate issuer\n"
    },
    {
      "commit": "5cd321671998810692f365f9c1c715abed58621f",
      "tree": "01c4cf2c0d1c47529840c1fcac5429c0c680864c",
      "parents": [
        "4a021b196f7bf24b0f1634f68c85d0642b90ddc5"
      ],
      "author": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 05 20:10:19 2021 +0400"
      },
      "committer": {
        "name": "giolekva",
        "email": "giolekva@gmail.com",
        "time": "Fri Nov 05 20:10:19 2021 +0400"
      },
      "message": "Installer: use helmfile for installing base \u0026 user services. For now only ingress with vpn mesh is covered\n"
    }
  ]
}
