)]}'
{
  "log": [
    {
      "commit": "62f1d3680947e1d78bacf2a7277fb4b2007ebacb",
      "tree": "38c2fe1d57b68788f79ae018075b246f228310cc",
      "parents": [
        "60461b2b23eb57319525a3e00d7ae57e51598ebc"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Nov 14 16:18:24 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Nov 14 16:44:03 2023 +0000"
      },
      "message": "treewide: stop using LZ4 for initrd compression\n\nThere are two issues at play here: One is a bug in pierrec/lz4 when\nusing the legacy framing format [1]. This bit us when we hit a broken\nsize region with CL:2130, taking hours to debug.\n\nThe other is the fact that the Linux LZ4 frame format has significant\ndesign issues [2], especially with concatenanted initrds.\n\nThe first issue could be fixed by switching to a different LZ4\nimplementation (we do even have the reference impl in the monorepo) but\nthere is no API to generate the legacy frame format and things like [3],\na patch carried by Ubuntu to fix more edge cases just do not inspire\nconfidence in such a solution.\n\nThus, this CL switches over to using zstd for compressing initrds.\n\nZstd is slower than LZ4 for decompressing, but it still decompresses at\nmultiple GB/s per core while having a much better compression ratio.\nIt also doesn\u0027t have any Linux-specific bits and Linux uses the\nreference implementation for decoding, which should make it much more\nrobust. So overall I think this is a good tradeoff.\n\n[1] https://github.com/pierrec/lz4/issues/156\n[2] https://github.com/lz4/lz4/issues/956#issuecomment-736705712\n[3] https://launchpadlibrarian.net/507407918/0001-unlz4-Handle-0-size-chunks-discard-trailing-padding-.patch\n\nChange-Id: I69cf69f2f361de325f4b39f2d3644ee729643716\nReviewed-on: https://review.monogon.dev/c/monogon/+/2313\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "d0be371ea905c3729f98d91d255d775b7c5193d3",
      "tree": "37aeb8f7a5674f6439521b227075fbbb5d4747d5",
      "parents": [
        "5d503b38fce16535f898b070e3ae7624e75d9bba"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 11 13:22:25 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Apr 12 12:59:55 2023 +0000"
      },
      "message": "c/takeover: add fallback DNS servers\n\nAs it\u0027s not possible to reliably dump DNS servers from a Linux system,\nadd Google\u0027s and Cloudflare\u0027s public DNS servers if none were found.\n\nChange-Id: Id9dd3a884217cccc0260bd61514aeb545874c708\nReviewed-on: https://review.monogon.dev/c/monogon/+/1522\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "5d503b38fce16535f898b070e3ae7624e75d9bba",
      "tree": "212235a4876ae0cf148370f9fae44bf422df632a",
      "parents": [
        "d67eb4f7d6eff30320eac3fc564af2dbaff06a82"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 11 13:20:23 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Apr 12 12:59:55 2023 +0000"
      },
      "message": "c/agent: log to extra kernel consoles\n\nCurrently the list of consoles to which logtree output is piped is\nhardcoded to be tty0 (the first virtual console) as well as ttyS0\n(the first platform serial port). On some platforms this is\ninsufficient, so also log to any kernel consoles defined.\n\nThe same problem exists for Metropolis itself, but there we first need a\nmechanism to pass a per-machine command line as for safety reasons it\u0027s\ncurrently hardcoded in the stub loader.\n\nChange-Id: I918525ed69a87323cbea561f3500b2166c842aae\nReviewed-on: https://review.monogon.dev/c/monogon/+/1511\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "23fa5c1f021739297bfc3def8514f3e1324503b7",
      "tree": "f4600843b28aedf574563b55b137f94e168e39bc",
      "parents": [
        "8867b2ccc6d991abe4a765f5db4124e5f4c2a1a5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 06 20:34:50 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 06 22:07:41 2023 +0000"
      },
      "message": "cloud/shepherd/equinix/manager: embed takeover agent\n\nChange-Id: Ibd3841dfe9d6e40042b1812d335eec3025841db1\nReviewed-on: https://review.monogon.dev/c/monogon/+/1510\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "5b8b86069584664f8be69467290d7cae7d000b8d",
      "tree": "9eae59a652bcafb11e017a61db58e41c67f42977",
      "parents": [
        "2d284b5718ad0948e7ef5afc5905f36701f4a3ab"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 09 17:22:21 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 09 20:09:06 2023 +0000"
      },
      "message": "cloud: use machine_id for all agent communication\n\nThe original proto used provider-scoped provider_ids, these are being\nreplaced by  a single machine_id, assigned by the BMaaS service.\nIts API works in terms of machine_id, not provider_id (see\nAgentHeartbeatRequest), so this needs to be changed.\n\nChange-Id: If13942d02a8ac0e2901c549a92a67b6b10a1e196\nReviewed-on: https://review.monogon.dev/c/monogon/+/1263\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "2d284b5718ad0948e7ef5afc5905f36701f4a3ab",
      "tree": "1525231844ed4fb336e9cf3b0b252008f4f44393",
      "parents": [
        "7922d41e98a28458e17e4ff33c9ece0d9ff6578a"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Mar 08 17:05:12 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 09 20:09:06 2023 +0000"
      },
      "message": "c/takeover/e2e: add takeover end-to-end test\n\nThis adds an end-to-end test to the takeover system.\nIt launches a QEMU VM running a Debian Cloud Image which is configured\nvia cloud-init to accept SSH access from the test.\nIt connects to that VM via SSH, copies the takeover binary under test\nto it via SFTP and launches it.\nIt passes a test TakeoverInit message to it, performs basic sanity\nchecking on the response and then looks on the serial port for a flag\nmesage that the agent has started.\n\nChange-Id: I8edce6163259da305bb43660a2d70474f7f11612\nReviewed-on: https://review.monogon.dev/c/monogon/+/1262\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7922d41e98a28458e17e4ff33c9ece0d9ff6578a",
      "tree": "f9258008879a4cfae6c97b5a76d52788e896a0ec",
      "parents": [
        "6da0f614b42ce9e82edba885222fc5ed59eb4338"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 21 20:47:39 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 09 20:09:06 2023 +0000"
      },
      "message": "c/takeover: init\n\nAdd takeover, a tool which is used to take over machines running any\npretty much any Linux distribution as long as it has kexec support and\none can run the takeover binary on it.\n\nAfter takeover it launches the cloud agent which can then perform\nfurther work on the machine.\n\nChange-Id: If26015f626f439c44be473221c98b5e9a8fa9adc\nReviewed-on: https://review.monogon.dev/c/monogon/+/1143\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    }
  ]
}
