)]}'
{
  "log": [
    {
      "commit": "ca1cff0f214a1ed5ee967d421f5fe1fd5afa756d",
      "tree": "7ea16e63681ad4695f7d7cd1115c0168fc553d4b",
      "parents": [
        "4599aa2dfa42a7b694ad295bc700db03de96d7f5"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Mon Jun 26 17:52:44 2023 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jun 29 10:41:38 2023 +0000"
      },
      "message": "m/p/efivarfs: refactor\n\nThis accomplishes three things:\n\nFirst, split out the variable access layer from the rest of the code.\nThis cleans up the attribute handling, which is now done centrally as\nwell as making the high-level functions very short and clean. They now\nalso return better errors.\n\nSecond this introduces proper types for LoadOption, which can now also\nbe unmarshaled which was a requirement for A/B updates. This required\nimplementation of EFI\u0027s DevicePath structure.\nWhile refactoring the higher-level functions for this, this also\nfixes a bug where the variable index (the 4 hex nibbles at the end) were\nimproperly generated as lowercase hex.\n\nThird, this adds new high-level functions for interacting with more\nboot-related variables needed for the A/B effort.\n\nChange-Id: I53490fa4898a5e7a5498ecc05a9078bd2d66c26e\nReviewed-on: https://review.monogon.dev/c/monogon/+/1855\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@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": "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": "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": "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": "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": "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"
    }
  ]
}
