)]}'
{
  "log": [
    {
      "commit": "191bbf126ac037ffc902148b8a1cf583369dbfc1",
      "tree": "d97a1ea4e7692d72291b8a82516583e5c24b09a9",
      "parents": [
        "1f53cd8e2f9bf5f7aa52bbc06d786f10fcd5d950"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 04 19:59:58 2026 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 04 19:59:58 2026 +0100"
      },
      "message": "git: Cap cgit at 5 requests per second.\n\nA crawler botnet with thousands of rotating IPs and browser user agents\nsends about 60 requests per second to cgit, almost all of which time out\n(499) and saturate ifirn\u0027s CPU.  Neither the per-bot limit nor a per-IP\nlimit catches it, so add a per-host limit_req zone in ingress-nginx and\nuse it for git.benkard.de.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I54a92f89d36e1a1800dfdd82310b75c4b3a73b7d\n"
    },
    {
      "commit": "7f8981a5e418880e9dbf48db7f7e296a9782787d",
      "tree": "cacf333f3f59685bcfba5040a682a779a67d4f5e",
      "parents": [
        "65b41324ca548710ac5caef3b72b80ea9b8c1bf8"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 04 11:41:17 2026 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 04 11:41:17 2026 +0100"
      },
      "message": "git: Sync GitHub replication job with cluster state.\n\nThe live CronJob also mirrors kellertomaten/kartipalist, includes the\nmulkbav and dose repositories, and logs SKIP/COPY lines for each\nrepository and branch.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I663b5e6b96f584a10594f0f815d6e671a58deb46\n"
    },
    {
      "commit": "65b41324ca548710ac5caef3b72b80ea9b8c1bf8",
      "tree": "370485476a8b199c0b907385937c1c21e1c48f6d",
      "parents": [
        "05e482e3b905b1a32575239da6d6280ea4182efe"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 04 11:41:16 2026 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Nov 04 11:41:16 2026 +0100"
      },
      "message": "git: Pin cgit image to the deployed version.\n\nThe cluster runs docker.io/woahbase/alpine-cgit:x86_64_1.2.1_20210405,\nnot :latest.  Sync the manifest with the live Deployment.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\nChange-Id: Ia94cf7e3844b3186c1cb5d8781b34b711bf56cd7\n"
    },
    {
      "commit": "8c9b6135ae950c29cdb3e25d37ce0fc50c60e3fb",
      "tree": "0902f6618df82032d79b730852174881c271177c",
      "parents": [
        "faf5a0974b6edc0f875b0899878d4ce3b95b5971"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:51:33 2024 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:51:33 2024 +0100"
      },
      "message": "git: Add Gitolite back.\n\nChange-Id: If7c9e57546f4335830f7ff5277e31ccd2cd7b091\n"
    },
    {
      "commit": "faf5a0974b6edc0f875b0899878d4ce3b95b5971",
      "tree": "6495af031b6710370707e035f62002bebae28040",
      "parents": [
        "e96ddfba322ddaf633fca91119903b84692f778b"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:51:07 2024 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:51:07 2024 +0100"
      },
      "message": "git: Install packages for CGit Markdown rendering.\n\nChange-Id: I5b2eac3cf9e6f888dae16d37defadb4c271e2b0c\n"
    },
    {
      "commit": "e96ddfba322ddaf633fca91119903b84692f778b",
      "tree": "40ec2dfe562babad397e9fb6205bf234ebe0fcbc",
      "parents": [
        "06e9d791784cf6e38508041e6faa7016fd308a27"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:50:00 2024 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:50:00 2024 +0100"
      },
      "message": "git: Sync between GitLab, Gerrit, and GitHub.\n\nIt was previously only GitLab and GitHub.\n\nChange-Id: I2aa3041c030f4aea7384947e586fe433d80e2742\n"
    },
    {
      "commit": "06e9d791784cf6e38508041e6faa7016fd308a27",
      "tree": "251d379c3ccb10c5af3786468208b4cf287b4757",
      "parents": [
        "b214893ebecab32557a7bd9e811e7ffcb599ba88"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:49:24 2024 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Wed Mar 06 12:49:24 2024 +0100"
      },
      "message": "git: Add more repositories to sync between remotes.\n\nChange-Id: I690b65e7726a043ffeb06658912405e647a54410\n"
    },
    {
      "commit": "11298da4b8bb8a19d2696fc2f263938133124420",
      "tree": "b73ff6d5ca4994a473f68c0e9c188704d5d146f2",
      "parents": [
        "40bdab6942855592037707f53f87ef978078f856"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 02 18:27:17 2023 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Apr 02 18:27:17 2023 +0200"
      },
      "message": "git: Sync GitLab --\u003e Gitolite --\u003e GitHub.\n\nCloses #3, #5.\n\nChange-Id: I92426323d6ba9bd8d7f7cfa7fc4af37d3b9bbb93\n"
    },
    {
      "commit": "cbdcd90f32086a6032e2dd139eff9fa7edb40f7d",
      "tree": "4a068fbe09f10e2bad373c10c0766684558fd850",
      "parents": [
        "9216f7bda908a4da2c45b9ad1b854daa161f43fb"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Dec 27 15:31:15 2022 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Dec 27 15:31:15 2022 +0100"
      },
      "message": "git: Set concurrency policy.\n\nChange-Id: Iff4d53f7866f3069899813a4dd88703e67c0b75a\n"
    },
    {
      "commit": "7d78f7f911c2687180759770402861fa00bebaff",
      "tree": "e972d7b502a71a74b5588eebfc37c43db85505e2",
      "parents": [
        "c756035c2d2545551641fb6fe3b04c04ff23fa47"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Dec 28 17:44:20 2021 +0100"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Tue Dec 28 17:44:20 2021 +0100"
      },
      "message": "git: Add GitHub synchronization.\n\nChange-Id: I265ee9627d113febc9da97aee3a4324367a30fc7\n"
    },
    {
      "commit": "c756035c2d2545551641fb6fe3b04c04ff23fa47",
      "tree": "519036c5945be86e2472ac39dd7b9474cfaa3935",
      "parents": [
        "ae8f4ccff6059195fe71d705f5f969e7caa70595"
      ],
      "author": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Sep 05 12:25:13 2021 +0200"
      },
      "committer": {
        "name": "Matthias Andreas Benkard",
        "email": "code@mail.matthias.benkard.de",
        "time": "Sun Sep 05 12:25:13 2021 +0200"
      },
      "message": "Git: Import.\n\nChange-Id: I08532649a9cf8bcea8a79b8cade8bd6a87fdc12c\n"
    }
  ]
}
