)]}'
{
  "log": [
    {
      "commit": "aadeb798a1f92b3d69ec7d6cde1b4567c2140452",
      "tree": "6278ec3b6a732f2d27e7948bcba8e7a579d0e5b1",
      "parents": [
        "4bbd8b34a5e81a28219ae95bedf7915568557800"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Mar 27 15:53:56 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Apr 06 14:26:33 2023 +0000"
      },
      "message": "c/agent: implement\n\nImplement the currently-required agent functionality, i.e. running with\nboth autoconfigured as well as static network configuration, interacting\nwith the BMaaS API and installing Monogon OS.\n\nThe early-stage setup is similar to Monogon OS itself, but after setting\nup the root supervisor this instead calls into the agent runnable which\nthen performs the rest of the work.\nIn the process I made both logtree as well as supervisor public as they\nare very generic and I see no reason to keep them scoped so tightly.\nMaybe we should move them to go/ at some point.\n\nThis currently calls into osimage without the optimization the\nregular installer performs, this is intentional as I have code which\nwill replace osimage with a high-performance version, obviating the\nneed to manually make this fast here.\n\nThis also comes with an end-to-end test\nwhich exercises the whole flow, installing TestOS and checking if it\nlaunches.\n\nChange-Id: Iab3f89598a30072ea565ec2db3b198c8df7999ef\nReviewed-on: https://review.monogon.dev/c/monogon/+/1405\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f71fe9278055d5a892448554aa7c59862256db7d",
      "tree": "4e94d3394eb60e6a6144545cc37dcf85560c951d",
      "parents": [
        "d09c58f33c523c9395446122fc552c58dbab80cc"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Mar 22 01:10:37 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Mar 22 10:43:52 2023 +0000"
      },
      "message": "m/installer: log to tty0 and ttyS0\n\nWithout this we only log to whatever the default system console is.\n\nChange-Id: I64b43f8617f3b8752332209b511ea470848c4481\nReviewed-on: https://review.monogon.dev/c/monogon/+/1381\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "f9bdf3126488a2728e265a2b28cba564c8072e04",
      "tree": "fb0c4b0b1de6bf314c397ddf264fe9338e5aaec7",
      "parents": [
        "53a85f7e9f68cfc50721e94de717b1973be2b858"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Mar 16 21:54:49 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Mar 16 21:05:05 2023 +0000"
      },
      "message": "m/installer/test: undo leftover test comment\n\nThis was introduced by review/1365, and it was just done for testing.\nUndoing this should not undo the flakiness fix.\n\nChange-Id: I7e3096f6b09b2cbd3f3f75dfb4b3602ddfae0959\nReviewed-on: https://review.monogon.dev/c/monogon/+/1367\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "05cf33dbfcc86f26f3771a5f489bfd6c78b8cdcf",
      "tree": "623584088f8922fc37f1662d1c957c1e1ad2d169",
      "parents": [
        "f2f85f5827b9df558606403d9451087873249265"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Mar 16 20:50:59 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Mar 16 20:52:16 2023 +0000"
      },
      "message": "m/installer/test: attempt to fix heisenbug\n\nChange-Id: Ib4dae5bec7c99b88d5b9d4e5ac90ece09fdc7c77\nReviewed-on: https://review.monogon.dev/c/monogon/+/1365\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "b033b380387a999b7ad19f9d001c42ec570c8945",
      "tree": "6093a955f5c08f29e6590fb71781849d100a3e0e",
      "parents": [
        "d8290c8082f752f52d0ba1c765f668e2992bc5d4"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Mar 07 20:06:36 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Mar 07 22:29:46 2023 +0000"
      },
      "message": "*: fix gomodproxy compatibility\n\nThis is necessary for the source to be fetchable from third-party Go\nprojects (currently via a replace directive, as source.monogon.dev isn\u0027t\ngo-getable). Otherwise, `go mod tidy` complains:\n\nreading https://sum.golang.org/lookup/github.com/monogon-dev/monogon@v0.0.0-20230223122556-665b10937eb8: 404 Not Found\n\tserver response:\n\tnot found: create zip: build/analysis/BUILD.bazel: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/BUILD.bazel: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/classify.go: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/importsort.go: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/importsort_test.go: case-insensitive file name collision: \"BUILD\" and \"build\"\n\tbuild/analysis/importsort/testdata/README.md: case-insensitive file name collision: \"BUILD\" and \"build\"\n\t[Truncated: too long.]\n\nChange-Id: If5947be74f7dfcf4ba4bd79c4dc37589f324b891\nReviewed-on: https://review.monogon.dev/c/monogon/+/1223\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "b838e05983828a443390479691dba3de086bcb53",
      "tree": "14eef15338691f9764f3e93452bc27fc0834f29c",
      "parents": [
        "9c315f1116567df934cf7fce5f3f341c70cb9b66"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Fri Aug 12 18:08:10 2022 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Thu Aug 25 11:26:58 2022 +0000"
      },
      "message": "m/c/metroctl: implement the \"describe\" command\n\nThis implements metroctl\u0027s \"describe\".\n\ncmd.TerminateIfFound was adjusted to meet new test needs.\n\nChange-Id: If86f35bc648d99396e7d5be48ab459d6b13334ce\nReviewed-on: https://review.monogon.dev/c/monogon/+/850\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6cdc976f681edc51f68454a76e7d7af64417ca7e",
      "tree": "dfcfa01566c2c82f41616cdc654937a3fbee0e31",
      "parents": [
        "18a67b033fd8ccd5dacb7c7e1f0c1a9c21eb0a6b"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Wed Aug 03 17:15:01 2022 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Thu Aug 25 11:26:58 2022 +0000"
      },
      "message": "m/p/cmd: use predicates in RunCommand\n\nThis generalizes RunCommand by making it accept any completion\npredicate function.\n\nChange-Id: Ic6b911244aaecd16c01000050fca618a8c8e09d7\nReviewed-on: https://review.monogon.dev/c/monogon/+/846\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f1234a9528f700bc3c44a45fe19d5a743da29af5",
      "tree": "26fd08130af2338c02b657eae8497454056e505d",
      "parents": [
        "cce1f0d12155fbaa4011ab459844575cd360036b"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Wed Jun 22 13:57:38 2022 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Mon Jul 11 12:09:15 2022 +0000"
      },
      "message": "m/p/cmd: implement RunCommand\n\nThis implements a new utility function RunCommand, based on existing\nm/installer/test implementation.\n\nRunCommand will be used in the upcoming metroctl test implementation.\n\nChange-Id: Ieb98acada7e7408249da0e289861674e80b4d581\nReviewed-on: https://review.monogon.dev/c/monogon/+/789\nTested-by: Jenkins CI\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "4f6fad3a6ed4e244c97aa5cb486aec5ca676c465",
      "tree": "7bd2c6ad46f3a035a425f1a32eec256d825e0c6c",
      "parents": [
        "f1bdfbe5679da9fc895f8172867f7e557476c5f6"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Wed May 25 16:34:30 2022 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Fri May 27 09:28:06 2022 +0000"
      },
      "message": "m/installer/test: prevent QEMU file lock race\n\nAlbeit rare on development machines, this flake showed up frequently in\nCI. QEMU processes weren\u0027t being waited on to finish before the next VM\nlaunch, leading to multiple processes attempting to lock the same file.\n\nIn addition, a go-diskfs image handle wasn\u0027t being closed, though only\nin a read-only context.\n\nChange-Id: I23529017f5473f9db24ad8e84ca2fa8a6a40d7e5\nReviewed-on: https://review.monogon.dev/c/monogon/+/699\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "898125b5d04bf820b50541c0290d1a1801de2ea4",
      "tree": "a7f56a1f9c4b39a1675843fe69b4bacc74601807",
      "parents": [
        "83d793ddcd4f75b3653255df5dac154ac3de4e87"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Mon Apr 25 13:38:35 2022 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Apr 26 11:07:26 2022 +0000"
      },
      "message": "m/installer: bump test size to \"medium\"\n\nI found the test timing out at times when the CI setup was especially\nbusy, possibly due to lower disk I/O speeds. I think it\u0027s reasonable to\ngive this one more time.\n\nChange-Id: I992ef3c7df3afc65bba628b3b443f74bb37c2963\nReviewed-on: https://review.monogon.dev/c/monogon/+/666\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "a393814a28df60f67fa6a39309a6d8604811ca95",
      "tree": "15ff5be928b1b6cb12ed38fdcf8a3679118495da",
      "parents": [
        "8ca9c292b2b8e5aa83500f2065da56919ce7af41"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Apr 04 17:04:47 2022 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Apr 05 14:41:28 2022 +0000"
      },
      "message": "m/node: add /dev/tty0 and /dev/ttyS0 to erofs\n\n... alongside a few other \u0027critical\u0027 /dev chardevs.\n\nThis is in preparation for making minit log into /dev/tty0 and\n/dev/ttyS0, as currently it does not log at all (broken by\nreview.monogon.dev/517).\n\nWhile we\u0027re at it, we chip away at the move-everything-to-fsspec\nrefactor, and unify initramfs/erofs /dev structure into a dedicated\nfsspec file, plus move directories from extra_dirs into its own fsspec\nfile as well. Fsspec targets can now take files in the fsspecs\nattribute, which we point at the newly created files.\n\nAlternatively we could\u0027ve made a \u0027fsspec_bundle\u0027 rule that would\ngenerate an fsspec provider from a definition (either as native starlark\ntypes or a prototext). We\u0027ll have to do something like this later so\nthat we can get rid of the files attribute in erofs_image, but let\u0027s not\nmake this change too large.\n\nSince we\u0027ve cleaned up some starlark attribute usage, we then pull on\nthat thread to remove some now unused code, like the builtin_fsspec\nfunctionality for fsspec-based rules, and the extra_dirs attribute.\n\nChange-Id: I0df6c60df20e38abfc9632d0a701d547292f3697\nReviewed-on: https://review.monogon.dev/c/monogon/+/650\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "d13c1c64387ca9a83bb832a3faa5c4b07268d265",
      "tree": "0c0f534db4726e4400486aad25235e8c573d455e",
      "parents": [
        "79a1a8f9dd49afe8e0a2364c4586b8f39525b204"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Mar 30 19:58:58 2022 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 05 10:35:29 2022 +0000"
      },
      "message": "treewide: switch to gomod and bump everything\n\nThis switches version resolution from fietsje to gomod and updates\nall Go dependencies. It also bumps rules_go (required by gVisor) and\nswitches the Gazelle naming convention from go_default_xxx to the\nstandard Bazel convention of the default target having the package\nname.\n\nSince Kubernetes dropped upstream Bazel support and doesn\u0027t check in\nall generated files I manually pregenerated the OpenAPI spec. This\nshould be fixed, but because of the already-huge scope of this CL\nand the rebase complexity this is not in here.\n\nChange-Id: Iec8ea613d06946882426c2f9fad5bda7e8aaf833\nReviewed-on: https://review.monogon.dev/c/monogon/+/639\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\n"
    },
    {
      "commit": "b6c0aa9703d7b92ea0a94f16a81a7218fc80d36b",
      "tree": "fde7cf7668a12c10d903576adc591d8d33b62412",
      "parents": [
        "942f5e2188f67d78fe8da86f42e1902427792f2b"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Feb 24 17:53:40 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Mar 08 12:26:08 2022 +0000"
      },
      "message": "metropolis: use microcode\n\nThis ties together all previous work and actually makes the installer\nand OS use microcode via the early microcode loader.\n\nChange-Id: I4e3214c30e4eff1d231d462fceddd2e353d28731\nReviewed-on: https://review.monogon.dev/c/monogon/+/549\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "304d42c86f034386a957eaec36b0d254aef8dc76",
      "tree": "404c736fb81daec84ba0ae93f52e9ba0a28cb127",
      "parents": [
        "0e22b1a41b028693e0e69db22cc8b708b09070f0"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Feb 24 17:53:08 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Mar 08 11:52:00 2022 +0000"
      },
      "message": "m/n/b/mkpayload: support multiple initramfs files\n\nLinux supports multiple concatinated initramfs files and requires using\nmultiple to provide certain data like microcode for the early loader.\nThis allows building such payloads with mkpayload.\n\nChange-Id: Ie7ee7886bbfe481d7b723e0476a26ee26425a0b6\nReviewed-on: https://review.monogon.dev/c/monogon/+/548\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "8c2c771a750f30b3edf240fc8352e777795e989b",
      "tree": "f7a30cb1af95485dd83998ca674d89ceffeea4b9",
      "parents": [
        "e2bf5742fe984bfb920fcb8b745bb0c6ac4de4db"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Jan 25 19:42:21 2022 +0100"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Mon Jan 31 16:31:41 2022 +0000"
      },
      "message": "m: enable dm-verity rootfs\n\nThis makes all the existing EFI unified kernel images boot from a\ndm-verity rootfs.\n\nChange-Id: Iac05942e40b81825252e84feb5c79c8ff215680a\nReviewed-on: https://review.monogon.dev/c/monogon/+/527\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "0e057feb0b5c932e1b86ba769ad92bfc9bfdcd65",
      "tree": "f4ee473eacbf446c85f553ad417a8e4902c07bb7",
      "parents": [
        "87bf0bf46c83f3a59536f577171985b4fa1db1eb"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 13 16:19:10 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 13 19:51:25 2022 +0000"
      },
      "message": "metropolis: use hybrid consoles\n\nThis enables two consoles, one on the serial port and one on the\non-screen EFI framebuffer, if it exists. It also enables quiet mode\nwhich stops Linux from logging purely informational messages to\nthe console making it hard to see our own output.\n\nChange-Id: I25499a1dda8cf0c566878ac24877bf19b64ddda6\nReviewed-on: https://review.monogon.dev/c/monogon/+/517\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "57d06a7cfa461f367d4362ccecf4a2d66068a1f9",
      "tree": "b7ba9bd74e49faf8965b70bb7a4ee75632ed7b00",
      "parents": [
        "8cde7ae0efa7dbef5d4d17759df5fd0a274db6fc"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 13 14:12:27 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 13 15:41:41 2022 +0000"
      },
      "message": "m/n/installer: wait for ESP block device to show up\n\nIn real-world hardware disks do not always show up before the kernel\nlaunches the init process. Wait up to 30s for the ESP to show up before\naborting because of that.\n\nChange-Id: I3f7972e699a06d6f9d0333fe0ae3355ae3ce9c73\nReviewed-on: https://review.monogon.dev/c/monogon/+/513\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "edffbb5a67e79fdb075c382995eaa0b52a16bfdd",
      "tree": "7941e1dfb40d13b00dbcd1071c3e7ecfdaee3963",
      "parents": [
        "950c26d52a08499ebf45ee2b4b0e46d3bea66dee"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Jan 11 15:27:22 2022 +0100"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Wed Jan 12 15:20:32 2022 +0000"
      },
      "message": "m/{t,n}/installer: move to m/installer\n\nChange-Id: I8fd15f1fa1e151369df251d1469e84cfeffd26fd\nReviewed-on: https://review.monogon.dev/c/monogon/+/510\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    }
  ]
}
