)]}'
{
  "log": [
    {
      "commit": "30021af6eaf9f2963d83314c283ebdd23fff2674",
      "tree": "b8be79d10a869ebb1e2aac4a5a89ce187206bb60",
      "parents": [
        "ea6353fd49b3978cfef7f99ada99a99f8bc10715"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 13:30:11 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jun 20 14:19:43 2023 +0000"
      },
      "message": "metropolis/node/build: allow impure code in root if race checking is enabled\n\nThis allows us to build the root filesystem with race detection enabled.\n\nChange-Id: I370ce2114090f828f0d9843fd4a7dc87c47bd153\nReviewed-on: https://review.monogon.dev/c/monogon/+/1835\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6c45434189e387b234109b68b1ed5a8f2cd5b439",
      "tree": "4cff8bb2fac00df28699559256ce7649b38877e1",
      "parents": [
        "46bf7d6c6437dfbf9dcc1e1d7d80fcc1c601f9b5"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 01 12:23:38 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jun 13 13:44:46 2023 +0000"
      },
      "message": "m/node: build Linux with modules\n\nThis introduces modules into our Linux build. I originally didn\u0027t want\nto do this, this is why this wasn\u0027t done until now. But various things\nin the kernel weren\u0027t set up for this, for example the AMD and Intel KVM\nmodules cannot both be loaded, only the first one loaded works. Also,\nthe Linux kernel cannot load firmware for built-in modules reliably as\nthe filesystem it tries to load it from is not always mounted first,\neven if the kernel itself mounts it.\n\nThe firmware issue was brought up multiple times on LKML, but Linus is\nof the opinion that the firmware should be next to the kernel module,\nthus either built-in (not viable for licensing and size reasons) or the\nmodules need to be loadable and on the same filesystem as the firmware.\n\nThus unless we want to carry signifcant patches against the Kernel in a\ndeadlock-prone area, we are forced to adopt a design with loadable\nmodules (or ship everything twice in an initramfs which is also not\ndesirable).\n\nThe kernel config currently only has the modules as non-builtin which\nrequire firmware, everything else has been left as-is. For boot-time\nperformance it would eventually be a good idea to move to a setup with\nmore modules once we\u0027re confident in the implementation and everything\ncan deal with late-loaded modules/devices.\n\nAs a drive-by fix this also moves the kernel builds to out-of-tree so\nthat we no longer pollute the source folder. Bazel protected us from\nserious issues due to this, but it\u0027s still bad practice.\n\nChange-Id: Iced8e12234565e5b7447e732716651e05e67d55b\nReviewed-on: https://review.monogon.dev/c/monogon/+/1791\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f0b22ff77c0126ac092aa1c6965f08a7c50002a1",
      "tree": "e957358311a40371a2ab77f5c86d25035d03ed43",
      "parents": [
        "dea7cd0e3d0aeee571f25209d76b52cc495a389f"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue May 02 16:04:20 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue May 02 15:12:13 2023 +0000"
      },
      "message": "m/node: also log to ttyS1\n\nSome systems have their serial console connected to ttyS1, not ttyS0.\nWe currently have no way of passing this information to the system as we\nlock down boot parameters and\nthere is significant risk in letting people change this, both in terms\nof security (some kernel parameters can affect the integrity of the OS)\nas well as availability as such a setting needs to be respected by both\nA and B loaders, thus any misconfiguration could make the node\nnon-functional without an obvious way to roll back.\n\nThus this just adds ttyS1 to the list of serial consoles for the time\nbeing. When we have such a mechanism, we\u0027ll likely undo the hardcoding\nof all consoles anyways.\n\nFixes #216\n\nChange-Id: I2f35edad049ceae1bb5cfc22b89bf6a1664cfbf8\nReviewed-on: https://review.monogon.dev/c/monogon/+/1625\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "51350b0cc10f2647be9831832eabc3030f9181af",
      "tree": "e7e58e87a3362453b8bb5bc0870dbeeeb895c6cb",
      "parents": [
        "28883b7d12852e85f03dc9c7f0bb4499cfccf22e"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 18 00:34:53 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Apr 18 11:48:46 2023 +0000"
      },
      "message": "m/n/b/mkcpio: work around lib symlink bug\n\nThe library we\u0027re using to write these, github.com/cavaliergopher/cpio,\ndoes not handle writing symlinks. It does provide a field to put a\nsymlink target, but it only reads into it and ignores it while writing.\nThis causes symlinks in our initramfs to be broken. Work around this for\nthe time being by manually emitting the correct content.\n\nChange-Id: I3e78572d122e802d4a02b48bc87dab5152b2b913\nReviewed-on: https://review.monogon.dev/c/monogon/+/1552\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@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": "d026b37c2a27d414821f860ccd0effb522be1ce4",
      "tree": "223512570e3c0857d7f34e3ee588d21163b213b0",
      "parents": [
        "a01b4ee048e27dc05452912d25d6f718fb263c61"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Feb 13 19:38:45 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Feb 13 21:01:06 2023 +0000"
      },
      "message": "m/n/build: fix incorrect device number\n\nThe device node major number for our console device is wrong.\nThe major number for the console device is 5, not 1 as seen in\nDocumentation/admin-guide/serial-console.rst.\n\nI stumbled upon this when looking at this spec as a reference for an\nissue with an unrelated device.\n\nChange-Id: Icbae264d2b4a5dc8770cb1e15e33d56c504a50c5\nReviewed-on: https://review.monogon.dev/c/monogon/+/1126\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bc93c2b50690e66712d80e4da5837554588ca065",
      "tree": "68842095e93b11649cdc23da3bb4a6ef24f9dc8a",
      "parents": [
        "e1ebf729194f3673ea0638f0aceb90cb70de23aa"
      ],
      "author": {
        "name": "Leopold",
        "email": "leo@monogon.tech",
        "time": "Sat Jan 14 13:12:23 2023 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jan 19 19:07:21 2023 +0000"
      },
      "message": "*: migrate to CC toolchains and Bazel 5.4.0\n\nChange-Id: Iff3c0ddda4413dd0c5fa657a5b7813223e98611e\nReviewed-on: https://review.monogon.dev/c/monogon/+/1079\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "d1bc4a61ebcebe25fc45fbaba577867a6f293b97",
      "tree": "373e0119dca4af4b8d3002008296ec1e7e8da0e6",
      "parents": [
        "4c50f99747ed78f74924e7ff9724fe4486ca2ec9"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Sep 12 16:45:18 2022 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Sep 13 11:32:54 2022 +0000"
      },
      "message": "m/n/build: fix fsspec rules duplicating specs\n\nCurrently if a rule which outputs an fsspec outputs both a DefaultInfo\nas well as an FSSpecInfo provider and both are propulated, the fsspec\ncore implementation will use both instead of only using the FSSpecInfo.\nThis leads to spurious errors when the fsspec consumers detect duplicate\nfiles.\nThis change makes the fsspec rule ignore the DefaultInfo provider if a\nFSSpecInfo provider exists on an input label.\n\nChange-Id: Iec8975200380889732c840ff16d17f791fa1ba83\nReviewed-on: https://review.monogon.dev/c/monogon/+/902\nTested-by: Jenkins CI\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "fdc3a2473e4ebfd77db342252e1088882e01b2d6",
      "tree": "addfe894acce55d3088764cc49a6c1c3cee55573",
      "parents": [
        "33ce3bcd5c4791cb66a3020b7792829c534c97c6"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 06 15:56:38 2022 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Apr 19 08:01:17 2022 +0000"
      },
      "message": "third_party/go: fix `go mod tidy`\n\nThis makes our root repository somewhat more gomod-compliant, to the\npoint where we can run `go mod tidy` to manage dependencies.\n\nThe generated placeholder files turn their parent paths into enough of a\nGo package that the go tooling is appeased, but they are ignored by\nGazelle.\n\nIdeally, we will generate these placeholders automatically before\nrunning `go mod tidy` and gitignore them, but this will do as a first\npass.\n\nWe also remove some unused dependencies which got caught by `go mod\ntidy`.\n\nChange-Id: I81e7e92a45f22c8ef9c92207f67a5bd6cc773da5\nReviewed-on: https://review.monogon.dev/c/monogon/+/652\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\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": "d3ce0ac027b205b1eeccbbcb062c9d417e205df4",
      "tree": "b026e8c1b1d327531a739449b383ad21f8fd9c20",
      "parents": [
        "304d42c86f034386a957eaec36b0d254aef8dc76"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 03 12:51:21 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Mar 08 11:52:07 2022 +0000"
      },
      "message": "m/n/b/fwprune: process links from metadata file\n\nThe linux-firmware repository has a metadata file called WHENCE which\ncontains mostly license and origin information, but critically it also\ncontains data for symbolic links which are not materialized inside the\nrepo itself. So we need to parse that file and create these symlinks\nourselves.\n\nChange-Id: I9e6973e60d6f06e844dc879f658c9dd1913c432d\nReviewed-on: https://review.monogon.dev/c/monogon/+/555\nReviewed-by: Mateusz Zalega \u003cmateusz@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": "f099c09760ea9b860b87776b8386f8c29a164fea",
      "tree": "ccb1523d90612ceb3d5f96d54fd169caf0e325c5",
      "parents": [
        "80deba52ce3d1ff3c60fa2901cbbb0135e40f90b"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Feb 24 17:22:26 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Mar 01 19:32:09 2022 +0000"
      },
      "message": "m/n/build: format efi.bzl\n\nThese are the changes from running buildifier on efi.bzl.\nThis is in preparation for changing this file as otherwise the\nformatting changes would be intertwined with actual changes.\n\nChange-Id: I2e32e011107e5af9301300d927a2196fbe06e574\nReviewed-on: https://review.monogon.dev/c/monogon/+/547\nReviewed-by: Leopold Schabel \u003cleo@nexantic.com\u003e\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "80deba52ce3d1ff3c60fa2901cbbb0135e40f90b",
      "tree": "659869cf80fae0c808d7caae2d8341669bd8e1c5",
      "parents": [
        "ac82c0d984cd23b4b35163b223c9ed0001df8f55"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Feb 24 17:07:13 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Mar 01 19:32:09 2022 +0000"
      },
      "message": "m/node: build microcode payloads\n\nThis adds a builder for loadable microcode payloads for the Linux\nkernel and microcode for Intel and AMD CPUs. It also adds a rule\ngenerating a microcode payload for Metropolis at\n//metropolis/node:ucode but does not integrate it yet.\n\nChange-Id: I00145e4c983d9ff3e81881e92cbecc3e09392665\nReviewed-on: https://review.monogon.dev/c/monogon/+/546\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "17c4c8bb0feaa0395b31757c8186521ec3c0d723",
      "tree": "abcc2f8419659ac3f9dcb55a1c0c3de43f4008f0",
      "parents": [
        "b6a9d3c613847de99be456f17c6b18cc4d1c4e63"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 01 12:59:47 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 08 13:06:05 2022 +0000"
      },
      "message": "m/n/b/fwprune: adapt to fsspec and use\n\nThis modifies the fwprune tool to generate fsspecs instead of making\ncopies and makes it take a list of paths for suffix matching instead\nof a directory as input. It also adds the fsspec_linux_firmware rule\nwhich uses the utility to actually build a partial fsspec. Finally it\nintegrates the linux-firmware external repository and uses that rule\nto ship firmware in Metropolis.\n\nChange-Id: I0552995105eda84e63d7259040ad36d794079308\nReviewed-on: https://review.monogon.dev/c/monogon/+/534\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "b6a9d3c613847de99be456f17c6b18cc4d1c4e63",
      "tree": "65aa9692174230796bfcc30aba663d5063190d6b",
      "parents": [
        "26d5225a142057b6eb04cff9ba86173a6682b626"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 27 18:56:20 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 08 13:06:05 2022 +0000"
      },
      "message": "m/n/build: implement new fsspec infrastructure\n\nThis makes the node_initramfs and erofs_image use the new common fsspec\ninfrastructure. It also adds the fsspecs attribute to both which can\nlater be used to add arbitrary fsspecs.\n\nChange-Id: I384e04712c0a70f82c5c975911cbb1d0d5e6cabc\nReviewed-on: https://review.monogon.dev/c/monogon/+/530\nReviewed-by: Sergiusz Bazanski \u003cserge@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": "e2bf5742fe984bfb920fcb8b745bb0c6ac4de4db",
      "tree": "1ff6d79fe3c2b237e6c6e15d6e1c0ac93b7244ba",
      "parents": [
        "ba1da9d64dddec392fd2ae8b495d339f4fe41883"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Jan 25 19:36:08 2022 +0100"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Mon Jan 31 16:31:33 2022 +0000"
      },
      "message": "m/n/build: implement verity_image rule\n\nverity_image provides a dm-verity target image together with its\nmapping table.\n\nChange-Id: I3a16dbae0c25130fdec16aec136792b7236c30e2\nReviewed-on: https://review.monogon.dev/c/monogon/+/526\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "ba1da9d64dddec392fd2ae8b495d339f4fe41883",
      "tree": "45de7129c77f263721e1a78cde453d11f49899cf",
      "parents": [
        "8ed99764d8bd692f31e84c1ffed8b86df7bca2d6"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Jan 25 19:12:02 2022 +0100"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Mon Jan 31 08:34:28 2022 +0000"
      },
      "message": "m/n/b/mkverity: produce a combined image\n\nmkverity was updated to output a copy of the source image, with Verity\nmetadata appended to it, instead of a separate hash image. This is\nneeded by the upcoming verity rootfs implementation.\n\nChange-Id: I2a311da6851dabf5a09d77551dc3e9d35bcc845f\nReviewed-on: https://review.monogon.dev/c/monogon/+/525\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "8ed99764d8bd692f31e84c1ffed8b86df7bca2d6",
      "tree": "65048c7c5fb8727941a8279a5a95e0e7b83ca391",
      "parents": [
        "e803fc1e34e349ebdd61e174b0e63c1eeea98d5a"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Jan 25 19:02:22 2022 +0100"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Mon Jan 31 08:34:16 2022 +0000"
      },
      "message": "m/n/b/mkpayload: init\n\nmkpayload is an objcopy wrapper meant to perform actions that neither\nthe buildsystem or objcopy could perform by themselves. This is needed\nby the upcoming dm-verity rootfs integration.\n\nChange-Id: I8ad097a1ad26bec0fb2db4f8b14e75a1b038f8fb\nReviewed-on: https://review.monogon.dev/c/monogon/+/524\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "4c326027feb8b02f5ea0497cd6d2e9ac3956c70a",
      "tree": "edd54f05bcac497fadda5cf322cd22e1d7eff67b",
      "parents": [
        "075465c4f4437d6bcd0326cd673aedf2b5bbc686"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jan 25 13:42:45 2022 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jan 25 16:57:03 2022 +0000"
      },
      "message": "metropolis/node/build: prepare fsspec for use in initramfs\n\nThis moves fsspec up into the node build directory as it\u0027s going to be\nused in multiple tools (like mkinitcpio) in the future. It also adds\nspecial files support to it as that\u0027s going to be required at least for\ninitramfs support but it may prove useful for erofs as well.\n\nChange-Id: I8d559bb761b4da350c0070b23b5ab393ba6e9872\nReviewed-on: https://review.monogon.dev/c/monogon/+/521\nReviewed-by: Sergiusz Bazanski \u003cserge@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"
    },
    {
      "commit": "6c35e97e7da34dd8497f4d40172ecf745448ad21",
      "tree": "17e023a1849f629a641c43eff27e4dfdc7a9c04a",
      "parents": [
        "999e1db0130f148ac6e79e1acbb5ee68db1dcb64"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Dec 14 03:08:23 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Dec 14 11:27:13 2021 +0000"
      },
      "message": "metropolis: align EFI partition layout\n\nThis moves non-EFI-related data inside the ESP from under the EFI\nsubdirectory to the root. The data moved is never accessed from EFI and\nthus shouldn\u0027t be under the EFI folder. This also aligns localstorage\nwith the new layout as previously it and osimage didn\u0027t agree on a\nspecific layout, indirectly breaking the installer.\n\nChange-Id: I36bdc9782e181dafab40aaa85cc0b4eaf2448f6e\nReviewed-on: https://review.monogon.dev/c/monogon/+/483\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "612a0335e94100137d8d95cbaf43da328bfb2e80",
      "tree": "839adcb5b38bbf92f5bad000b44816499e324fa0",
      "parents": [
        "290436425ac7e9f9c3a9c5a79520b48c623c95bd"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Wed Nov 17 20:04:52 2021 +0100"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Wed Dec 08 17:36:42 2021 +0000"
      },
      "message": "efivarfs, osimage: fix boot entry handling\n\nefivarfs was updated to handle partition UUIDs in the mixed-endian\nformat [1], enabling it to produce correct boot entries. Its interface\nwas changed in the process, leading to further changes in osimage.\n\nIn addition, BootEntry.Marshal will replace any backslash with a\nforward slash in the EFI executable path.\n\n[1] https://en.wikipedia.org/wiki/Universally_unique_identifier#Encoding\n\nChange-Id: Ib8300e01fd1664d0c08bb033b1dc36addb925b20\nReviewed-on: https://review.monogon.dev/c/monogon/+/456\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8f72b5ddae45109331258cea8af0662a608c1123",
      "tree": "00525a79ad1d4a0baa8e59a5aebae7767a5616d7",
      "parents": [
        "02d69e99f0c8ccdd9f53e5bc6c2a5e4ee26cbd83"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Fri Dec 03 17:08:59 2021 +0100"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Dec 07 12:13:07 2021 +0000"
      },
      "message": "coding style: fix error strings\n\nThe way errors are passed to log was changed according to [1].\n\n[1] https://github.com/golang/go/wiki/CodeReviewComments#error-strings\n\nChange-Id: I75194557d4f3b2f9f5e286a40fe4f0a4648eb71f\nReviewed-on: https://review.monogon.dev/c/monogon/+/458\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "43e2107d9b76e8c1df0974c3125878ca64f2bb61",
      "tree": "3dbf072846ba3439240043f6f2f161f02d18ec50",
      "parents": [
        "cb2dcf6c3ffa2d50293faa1708fad975ea237afa"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Fri Oct 08 18:05:29 2021 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Nov 30 15:09:01 2021 +0000"
      },
      "message": "m/{n,t}/installer: init\n\nThis adds partial implementation of the installer [1].\n\nIt needs to be integrated with the installer bundle to become\nfunctional.\n\n[1] https://github.com/monogon-dev/monogon/issues/44\n\nChange-Id: I6223e50dc02bc1ad1a8d1351b556ecba43f30a2f\nReviewed-on: https://review.monogon.dev/c/monogon/+/408\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "764a2de7911a42d57720911332a12895f0aad707",
      "tree": "dd0e31cee8fb5c753a762462e9eb16f776c3ec73",
      "parents": [
        "e65731049afb6fd49da80f064fa40a28c9d5741d"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Nov 22 16:26:36 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Nov 22 20:39:51 2021 +0000"
      },
      "message": "tree-wide: rewrite ioutil functions to their replacements\n\nThe ioutil package has been deprecated in Go 1.16 [1]. This CL removes\nall our own users of that package and rewrites them to use their\nreplacements in the os package. I initially wanted to do this with a\ngofix but because all replacements were signature-compatible I just\ndid it with a few string replaces and then ran goimports to fix up the\nimports.\n\nI intentionally didn\u0027t rewrite the patches as that would require a\ndifferent process and is IMO of less value.\n\n[1] https://github.com/golang/go/issues/42026\n\nChange-Id: Iac6663a1f1ee49f9b1c6e4b3d97e73f2c3b54a13\nReviewed-on: https://review.monogon.dev/c/monogon/+/449\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "c71efc9d3b6c9d626e752ec5e17ea6893a3fbe34",
      "tree": "00fc1385013f39898a3cdada31695de69a42a838",
      "parents": [
        "a7d65e1e672f996746084afd679869518a4a2b42"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Sep 07 16:46:25 2021 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Mon Nov 22 12:05:56 2021 +0000"
      },
      "message": "n/b/mkimage/osimage: init\n\nCommon parts of mkimage were moved to osimage.\n\nmkimage remains in use as a frontend to osimage, with backward\ncompatible use semantics.\n\nChange-Id: I08c1c44afdf7bf0c07333ab3c6bbebf53ff4d0db\nReviewed-on: https://review.monogon.dev/c/monogon/+/324\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "2f9f3876dd51d6a3031220d578a18c98270c74a8",
      "tree": "2174a0aacd26955d17d7ac462c00769001226469",
      "parents": [
        "5d40c67126d51ab1d78f44f51ec23cb75e9887fc"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Sep 29 19:48:08 2021 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Oct 04 15:04:34 2021 +0000"
      },
      "message": "m/n/b/unifiedefi: add bazel rule for EFI unified kernel images\n\nThis adds a new Bazel rule for generating EFI unified kernel images.\nIt also wraps the current Metropolis kernel in one for future use\nand as a cheap test.\n\nChange-Id: I74d7a25cc3c12d5f240eb218fbbd8ba09db1333a\nReviewed-on: https://review.monogon.dev/c/monogon/+/336\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "356b896eb4c3db9608d637c775845a09fc20fd07",
      "tree": "af30addfbc8caba5275febf71847196f13aba8a5",
      "parents": [
        "116c4a69dc90827d82023c362cbc26a17e188787"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Aug 10 17:27:15 2021 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Sep 28 12:14:43 2021 +0000"
      },
      "message": "m/n/b/mkverity: refactor into VerityEncoder\n\nThe implementation was refactored into a stream-oriented VerityEncoder and exposed for use outside the mkverity tool. In addition, end-to-end tests were provided.\n\nChange-Id: I2d009ca8030d6a86e9d6dbe6d6ae60a3b84d2d74\nReviewed-on: https://review.monogon.dev/c/monogon/+/314\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "1445396219351e711f82d4cebad6e84a46553bda",
      "tree": "798347e10dba644f861fd9dbf55fe59cef9fb82f",
      "parents": [
        "6767e052c761f2b19a4966f707c65d8bc08c3c3c"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Fri Jul 23 16:58:02 2021 +0200"
      },
      "committer": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Tue Aug 10 14:39:14 2021 +0000"
      },
      "message": "m/n/b/mkverity: implement a dm-verity hash image generator\n\nBackground: https://github.com/monogon-dev/monogon/issues/57\n\nThe piece of code included implements a subset of veritysetup\nfunctionality (see: dm-verity). It was written in an attempt to\nminimize projected higher maintenance cost of packaging cryptsetup\nfor metropolis in the long term.\n\nThe implementation was verified with the original veritysetup tool:\n\u003e$ ./go-veritysetup format file1 file2\n\u003e33359c1f1bdd25e7afc2e98cd27c440e7af9ef2fb55462ce562a1b8254bf02e4\n\u003e$ veritysetup --debug --verbose verify file1 file2 33359c1f1bdd25e7afc2e98cd27c440e7af9ef2fb55462ce562a1b8254bf02e4\n\nKtest-based tests and buildsystem integration are still pending.\n\nCompatibility with the original cryptsetup tool might be dropped\neventually, if it\u0027s found beneficial to do so.\n\nChange-Id: I5a6e1b18b692b1701e405013f132f6f2711b2c96\nReviewed-on: https://review.monogon.dev/c/monogon/+/250\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "216fe7b3ae949376467f626f339423a31ea7da97",
      "tree": "b0fe587b671a76bf6229339825d2a61df7fc847b",
      "parents": [
        "6ebdc418f3c4799c12368e34ea78dc9c9757fb54"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri May 21 18:36:16 2021 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Fri May 28 17:54:03 2021 +0200"
      },
      "message": "*: reflow comments to 80 characters\n\nThis reformats the entire Metropolis codebase to have comments no longer\nthan 80 characters, implementing CR/66.\n\nThis has been done half manually, as we don\u0027t have a good integration\nbetween commentwrap/Bazel, but that can be implemented if we decide to\ngo for this tool/limit.\n\nChange-Id: If1fff0b093ef806f5dc00551c11506e8290379d0\n"
    },
    {
      "commit": "0ed2f96a3a86aff2c9ce36289aa5d58a75f4d59b",
      "tree": "afbe1fb6cd0a1667e981edfe97969338437bdaca",
      "parents": [
        "056042962060369bd7607ecfea51c515fc3a8140"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Mon Mar 15 16:39:30 2021 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Mon Mar 15 16:39:30 2021 +0100"
      },
      "message": "metropolis/proto: EnrolmentConfig -\u003e NodeParameters\n\nThis starts off the move to a node configuration API conforming to\nthe lifecycle management design document.\n\nInstead of an Enrolment Config used only to join an existing cluster, we\nmove to a NodeParameters proto that must always be given to a node if\nit\u0027s supposed to either bootstrap a new cluster or join an existing one.\n\nThis links the existing cluster management code (and its state machine)\nto work with this file. However, that state machine will be removed very\nsoon, anyway.\n\nWe also remove everything related to golden tickets.\n\nThis breaks multi-node tests.\n\nX-Origin-Diff: phab/D710\nGitOrigin-RevId: f22615fbccab975f2d5e6928bdc7387ab3aa5714\n"
    },
    {
      "commit": "ddd6caff9edac56dad727a79eb5b0faf4dbd6cb9",
      "tree": "120710eb4a9acf0c3ad1086d9f6f6f3c850a0d70",
      "parents": [
        "bcae658f9530e95cde2ac931beacae71c9fb240e"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Thu Mar 04 17:16:04 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Thu Mar 04 17:16:04 2021 +0100"
      },
      "message": "Build mkfs.xfs using rules_cc\n\nThis drops the old big genrule for mkfs.xfs and replaces it with a nice rules_cc build system\nwith the help of bazel_cc_fix generated patches and our musl-based toolchain.\nWhile we\u0027re at it I bumped the versions of all related dependencies to their latest stable release.\nThis also means pulling in ini.h which is a dependency of the new xfstools version.\n\nInstructions to regenerate the patches are included in the spec files.\n\nToolchain selection is done by the existing transition in our rootfs rule so we automatically get a musl-built\nstatic binary when building for the rootfs.\n\nTest Plan: Tested with E2E tests, should fail fairly catastrophically if something were wrong.\n\nX-Origin-Diff: phab/D708\nGitOrigin-RevId: 648a05cdd08cfa84a8a9f4c057c52446e7005631\n"
    },
    {
      "commit": "3a99c590543394ceb5260282ef8e924b44e8eef8",
      "tree": "e1b727a0c12b387e1bc12d71826405b8b588fa40",
      "parents": [
        "6b13bf1a98c4a612d13ae939e68802e77fb45474"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Tue Jan 26 19:57:21 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Tue Jan 26 19:57:21 2021 +0100"
      },
      "message": "Switch Metropolis to EROFS-based root filesystem\n\nThis gets rid of the old large initramfs and switches to an EROFS-based root\nfilesystem. It also drops the copy \u0026 remount compatibility code. As this filesystem is\nproperly read-only and not just ephemeral, this also brings various changes to the code\nto make systems compatible with that.\n\nTest Plan: Covered by E2E tests, also manually smoke-tested.\n\nX-Origin-Diff: phab/D696\nGitOrigin-RevId: 037f2b8253e7cff8435cc79771fad05f53670ff0\n"
    },
    {
      "commit": "6b13bf1a98c4a612d13ae939e68802e77fb45474",
      "tree": "bcd1f6566df193d026889da174a6773b8689d643",
      "parents": [
        "10b9ee96d4c2b8a011af4cd4db3390c1fd1ddf93"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Tue Jan 26 19:54:24 2021 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@nexantic.com",
        "time": "Tue Jan 26 19:54:24 2021 +0100"
      },
      "message": "Add EROFS creation utility and Bazel rule\n\nThis adds a binary which can create EROFS filesystems from a spec and a Bazel rule similar to\nnode_initramfs which creates EROFS filesystems.\n\nTest Plan: Tested in subsequent revision\n\nX-Origin-Diff: phab/D695\nGitOrigin-RevId: 4e8f970938c93606da46f475387de1e013b1c35c\n"
    },
    {
      "commit": "31370b07f0df2dc2765d812d4ce00a6b35185b16",
      "tree": "15563902eee9591083284441c8505b084b275d0a",
      "parents": [
        "313816f41244d7520eb2b6f8c231328ee5b7a4ef"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Thu Jan 07 16:31:14 2021 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Thu Jan 07 16:31:14 2021 +0100"
      },
      "message": "*: git.monogon.dev -\u003e source.monogon.dev\n\nThis implements T882, setting our (virtual) GOPATH to source.monogon.dev\nfor this repository.\n\nTest Plan: Refactor, CI only.\n\nX-Origin-Diff: phab/D686\nGitOrigin-RevId: c5e2309089948ffc3a98e68e2e0e1cbb157d3a36\n"
    },
    {
      "commit": "0be9be88224dd87eedb10436b11615fa59862271",
      "tree": "2cffcd0ca273ada48c0b42a36bd25bb1cc2da35c",
      "parents": [
        "549b72b2d65051403301f53111509f77e88b379b"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Thu Jan 07 15:23:44 2021 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Thu Jan 07 15:23:44 2021 +0100"
      },
      "message": "metropolis: Lock down visibility rules\n\nThis formalizes the package structure introduced by D683.\n\nTest Plan: Pure refactor, CI only.\n\nX-Origin-Diff: phab/D684\nGitOrigin-RevId: 574aa14c71faf94f4a5c02a2110e2e3fef7d36ac\n"
    },
    {
      "commit": "662b5b3119b0798980b887d1ef9fa1b5632aa7fb",
      "tree": "3e1fc4ab033530e6d579112ba500d2c6edb43368",
      "parents": [
        "39f2f691726dc6e0a291aa8609085b835a313dad"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Mon Dec 21 13:49:00 2020 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Mon Dec 21 13:49:00 2020 +0100"
      },
      "message": "smalltown -\u003e metropolis\n\nThis pass removes all mentions of Smalltown, both from code and comments,\nand replaces them with appropriate new terminology.\n\nTest Plan: Refactor, covered by CI.\n\nX-Origin-Diff: phab/D674\nGitOrigin-RevId: 04a94d44ef07d46f7821530da5614daefe16d7ea\n"
    },
    {
      "commit": "77cb6c5ec3acadf02ad5005dd751cfbf0ec1602f",
      "tree": "7ddfcdf78c489a5d6fad7a20bd3580d803407450",
      "parents": [
        "26d41999e0c71813648c16ad84bba810c3b9d593"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Sat Dec 19 00:09:22 2020 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@nexantic.com",
        "time": "Sat Dec 19 00:09:22 2020 +0100"
      },
      "message": "core -\u003e metropolis\n\nSmalltown is now called Metropolis!\n\nThis is the first commit in a series of cleanup commits that prepare us\nfor an open source release. This one just some Bazel packages around to\nfollow a stricter directory layout.\n\nAll of Metropolis now lives in `//metropolis`.\n\nAll of Metropolis Node code now lives in `//metropolis/node`.\n\nAll of the main /init now lives in `//m/n/core`.\n\nAll of the Kubernetes functionality/glue now lives in `//m/n/kubernetes`.\n\nNext steps:\n     - hunt down all references to Smalltown and replace them appropriately\n     - narrow down visibility rules\n     - document new code organization\n     - move `//build/toolchain` to `//monogon/build/toolchain`\n     - do another cleanup pass between `//golibs` and\n       `//monogon/node/{core,common}`.\n     - remove `//delta` and `//anubis`\n\nFixes T799.\n\nTest Plan: Just a very large refactor. CI should help us out here.\n\nBug: T799\n\nX-Origin-Diff: phab/D667\nGitOrigin-RevId: 6029b8d4edc42325d50042596b639e8b122d0ded\n"
    }
  ]
}
