)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "6da0f614b42ce9e82edba885222fc5ed59eb4338",
      "tree": "e87a769409b72366d51122e24f9f4ffd5f21324d",
      "parents": [
        "595dfe95bd3dd0d4e7eb81b3d9552fc981073fc2"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 21 20:44:28 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 09 20:09:06 2023 +0000"
      },
      "message": "c/agent: add initramfs build\n\nThe agent will be used directly on top of a Monogon kernel as an\ninitamfs. Add build rules for generating said initramfs.\n\nChange-Id: I960fb3d82d4a7f227db48ca0714c48c63958d31f\nReviewed-on: https://review.monogon.dev/c/monogon/+/1142\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "595dfe95bd3dd0d4e7eb81b3d9552fc981073fc2",
      "tree": "981234291526796596d324c3abf0eece634d3940",
      "parents": [
        "8733950f8ee7a47141c92b5ad82e2fe87471a7a2"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Feb 21 19:13:02 2023 +0100"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Mar 09 20:09:06 2023 +0000"
      },
      "message": "c/a/api: reorganize and add AgentInit\n\nMove hardware reporting-related data into a separate file for better\norganization.\n\nAlso add an AgentInit message which will be used to pass data to the\nAgent.\n\nChange-Id: I1eecbd5a78da03170651f76f9f24e134dddaca4f\nReviewed-on: https://review.monogon.dev/c/monogon/+/1140\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7448f28cad048a5a7c2fad432dbe31ef91a73867",
      "tree": "17581107a23c8b0002b33b44015ba90ab0a886bf",
      "parents": [
        "9eb903d18540192d22c626e80745eed0630930e6"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 14:15:51 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Feb 23 09:37:40 2023 +0000"
      },
      "message": "cloud/equinix/wrapngo: implement configurable parallelism\n\nSetting this to a value higher than \u00271\u0027 is beneficial in case we want to\ncall some fast endpoints while we\u0027re executing a long-standing hardware\nreservation list call. This can happen in the Equinix Shepherd.\n\nChange-Id: I57cf416de1e5fe23cb28248ddf8bb1b2ad73b6a8\nReviewed-on: https://review.monogon.dev/c/monogon/+/1134\nTested-by: Jenkins CI\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "9eb903d18540192d22c626e80745eed0630930e6",
      "tree": "55c135fe20ef12988b4efa992d30fa89d2e1edf7",
      "parents": [
        "1038313b7a4f929dcd942a3ac24d371877ee8ce7"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 14:28:19 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Feb 23 09:01:29 2023 +0000"
      },
      "message": "cloud/shepherd/equinix: implement initializer parallelism\n\nThis adds a flag which allows starting multiple initializers in\nparallel, sharing the same SSH key/config and API rate limiting.\n\nChange-Id: I415e855d9b649fac258e25d884cac17f895c91c0\nReviewed-on: https://review.monogon.dev/c/monogon/+/1135\nTested-by: Jenkins CI\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "1038313b7a4f929dcd942a3ac24d371877ee8ce7",
      "tree": "7d0233b57288509591d1df4f4d5d3ab3e3ac595e",
      "parents": [
        "48e9bab7237448c7fabfef1721f2ac48e6b77822"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 15:39:45 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Feb 21 09:15:20 2023 +0000"
      },
      "message": "cloud: rename ShepherdInstall to ShepherdAccess and clean up other \u0027installation\u0027 references\n\nShepherdInstall should\u0027ve been called ShepherdAgentStart from the\nbeginning, but got named incorrectly because of a momentary lapse of\nreason.\n\nInstead of doing a rename, we widen that Process to anything that\ninvolved the Shepherds directly accessing the underlying provider\nmachines, be it starting the agent, trying to fix the machine, or\nrebooting a machine. This wide meaning makes sure no two shepherds work\non the same machine ever, regardless of the actual workflow each one is\nperforming.\n\nChange-Id: Ic247919d1bcf1c5ec9fcf7125f17b90413068ed5\nReviewed-on: https://review.monogon.dev/c/monogon/+/1138\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "48e9bab7237448c7fabfef1721f2ac48e6b77822",
      "tree": "165b4e9b78acdbbd4ac0521721acfed1f1dad578",
      "parents": [
        "c8fc902aab9fb7a00a4241ebd31df31b00d9a1d1"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 15:28:59 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Feb 21 09:15:14 2023 +0000"
      },
      "message": "cloud/bmdb: add up/down migration test\n\nThis isn\u0027t very exhaustive, but it\u0027s enough to catch migration issues\nwhich we already had.\n\nChange-Id: Ie26b7646bb8b051a613e75cb69a1708f9288a0cc\nReviewed-on: https://review.monogon.dev/c/monogon/+/1137\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "c8fc902aab9fb7a00a4241ebd31df31b00d9a1d1",
      "tree": "ac814e6133006b3d0617d33ad05c67dae6c9ffb6",
      "parents": [
        "7762831b4c4d68f77bdc9fbf1f812390d970a4b3"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 15:28:12 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Feb 21 09:15:14 2023 +0000"
      },
      "message": "cloud/bmdb: always setup default migration source, even if we\u0027re not migrating on startup\n\nChange-Id: I05501d1d04e7c19e766dad9cad84b62ad9571618\nReviewed-on: https://review.monogon.dev/c/monogon/+/1136\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "7762831b4c4d68f77bdc9fbf1f812390d970a4b3",
      "tree": "bc89893327ed28301aaf53cfb31560ba56e39db7",
      "parents": [
        "9e7875c98f78c2ee0419c043211785159e1539de"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Feb 15 23:33:22 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 14:45:38 2023 +0000"
      },
      "message": "cloud/bmaas: implement webug\n\nWebug (pronounced: /wɛbʌɡ/, not /wiːbʌɡ/) is a web debug interface for\nBMDB, inspired by the great web debug interfaces of old.\n\nIt uses the new BMDB reflection API to access most\nmachine/tag/work/backoff information, plus sqlc queries to access\nsession information.\n\nChange-Id: If0e65b6fc33ad92baef9c6d98333f90a02efa1b3\nReviewed-on: https://review.monogon.dev/c/monogon/+/1132\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "9e7875c98f78c2ee0419c043211785159e1539de",
      "tree": "d71d9bc3ee2759aba5e0098c7d6523aef14a2752",
      "parents": [
        "caa1208a769351f70e55369e908fa3e823f72090"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 13:55:58 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 14:45:29 2023 +0000"
      },
      "message": "bmdb/reflection: expose Tags as pointers, as its methods have pointer receivers\n\nChange-Id: I6ab972f37735409e089b8a3c3c088375c4b210c6\nReviewed-on: https://review.monogon.dev/c/monogon/+/1133\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "caa1208a769351f70e55369e908fa3e823f72090",
      "tree": "47f3c8bd9174b3b610e07f0e3b0cd2a62151e1a8",
      "parents": [
        "6a058e7e0c84306cb0470f2641102a284f98fc0b"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Feb 16 14:54:04 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 12:12:19 2023 +0000"
      },
      "message": "cloud/shepherd/equinix/manager: init\n\nThis adds implementation managing Equinix Metal server lifecycle as\npart of the BMaaS project.\n\nCo-authored-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\nSupersedes: https://review.monogon.dev/c/monogon/+/990\nChange-Id: I5537b2d07763985ad27aecac544ed19f933d6727\nReviewed-on: https://review.monogon.dev/c/monogon/+/1129\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "6a058e7e0c84306cb0470f2641102a284f98fc0b",
      "tree": "13b4ef9a4db8275a51bbaa5026f5d926efe67b3f",
      "parents": [
        "424e201b27ce334714d870c0ad0c6e9046a14981"
      ],
      "author": {
        "name": "Mateusz Zalega",
        "email": "mateusz@monogon.tech",
        "time": "Wed Nov 30 18:03:07 2022 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 12:12:19 2023 +0000"
      },
      "message": "cloud/shepherd/equinix/wrapngo: init\n\nThis adds a wrapper extending packngo for use with the upcoming\nShepherd implementation.\n\nSupersedes: https://review.monogon.dev/c/monogon/+/989\nChange-Id: I55d1a609a8b5241704c5fe4ce8c2294122cfa0c8\nReviewed-on: https://review.monogon.dev/c/monogon/+/1128\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "424e201b27ce334714d870c0ad0c6e9046a14981",
      "tree": "4aa923d5e9ae25fec2a437967c8d97f301485443",
      "parents": [
        "de4e841682bb0afbd4865f9e24239f3e228e643f"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Feb 15 23:31:49 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 12:12:19 2023 +0000"
      },
      "message": "cloud/bmaas: implement BMDB reflection\n\nThis is the foundation for runtime introspection of BMDBs, to be used in\ndebug and operator tooling.\n\nChange-Id: Id1eb0cd1dfd94c5d4dafde82448695497525e24f\nReviewed-on: https://review.monogon.dev/c/monogon/+/1131\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "de4e841682bb0afbd4865f9e24239f3e228e643f",
      "tree": "84e64deb0bb74e4177d8094937d618026d438d49",
      "parents": [
        "e643fd65d3ad308054f064bf0df7f95fc21af4d9"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Feb 15 23:28:04 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Feb 20 10:24:02 2023 +0000"
      },
      "message": "cloud/bmaas: clean up bmdb package\n\nEverything living in sessions.go made this a bit unreadable.\n\nWe also drive-by add some extra metadata fields to Connection. This will\ncome in handy in an upcoming change.\n\nChange-Id: Ibabec9e3bd0b29b727638b9450a53ba28c33e678\nReviewed-on: https://review.monogon.dev/c/monogon/+/1130\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "e643fd65d3ad308054f064bf0df7f95fc21af4d9",
      "tree": "ac00c6230b05da3f6df1c6d38c52ec6a7e6e5826",
      "parents": [
        "1cf17953163089f6b90d0922bff0994e06c95e29"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Feb 14 00:01:38 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Feb 16 12:09:02 2023 +0000"
      },
      "message": "c/l/sinbin: init\n\nThis adds a sinbin library, useful for temporarily timing out some\nprocessed elements in-memory. We\u0027ll use this in the Equinix Shepherd\nprovisioner loop to keep note of bad hardware reservations.\n\nChange-Id: If68b2c0856364cde70cee68729cfc0203c5a8446\nReviewed-on: https://review.monogon.dev/c/monogon/+/1127\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "52c261e956bc48b538f15b64d89a39f5f567ceaa",
      "tree": "def8c9282d45ee2b59554cb8f0ab6a1f40d989d4",
      "parents": [
        "506b88652ae57ca4f85a51b9f51641bb50d875af"
      ],
      "author": {
        "name": "Leopold",
        "email": "leo@monogon.tech",
        "time": "Tue Jan 31 18:13:51 2023 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Tue Jan 31 17:56:09 2023 +0000"
      },
      "message": "cloud/agent/api: add missing placeholder\n\nChange-Id: Ia21dc413264d1b4d772869d6db1aff25e2a8e586\nReviewed-on: https://review.monogon.dev/c/monogon/+/1106\nTested-by: Jenkins CI\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "6294854ace5e06e3b731878544eb39f5351de66d",
      "tree": "1281485cc669a4d77f9bc87684fb5539d0595e8a",
      "parents": [
        "7eeec65b849695e7bb1be072e6911694b8a02f54"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jan 10 13:28:44 2023 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jan 24 13:39:54 2023 +0000"
      },
      "message": "c/agent: add hardware report\n\nThis adds an agent which currently just gathers hardware information and\ndumps it to stdout.\n\nChange-Id: Idb8518d3e40096dd3dd881808bc6ac98082083a0\nReviewed-on: https://review.monogon.dev/c/monogon/+/1067\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "a9580a7970010d14ccbfe86c22483eeae9b7c05c",
      "tree": "237a68cba739f4cc29b97bacd602412336a2372c",
      "parents": [
        "60a00a9b08b416be8a29a5d2a19f44e3ab3192d5"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Jan 12 14:44:35 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Jan 23 09:53:32 2023 +0000"
      },
      "message": "c/bmaas/bmdb: implement backoff and history\n\nThis augments the existing Work mechanism with a Fail outcome/method\nwhich allows insertion of a machine \u0026 process backoff until a deadline\nexpires.\n\nWe also add a history/audit table which contains information about the\nwork history of a machine - when some work started, finished, failed or\ngot cancelled.\n\nChange-Id: If890a412977c1d3c7ff3baa69987fb74932818a0\nReviewed-on: https://review.monogon.dev/c/monogon/+/1086\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "60a00a9b08b416be8a29a5d2a19f44e3ab3192d5",
      "tree": "82c4213a532cd68c6939ebe2b469d0e331443a67",
      "parents": [
        "2aa8b184fcbc713d99bb7c3d868d1ab9df6f5b71"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jan 03 13:45:20 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Jan 23 09:53:32 2023 +0000"
      },
      "message": "c/bmaas/bmdb/model: split query files\n\nThis was starting to become slightly unwieldy.\n\nChange-Id: I8f9d63ff6f844f1452fca2a98d253a9582a3ee8d\nReviewed-on: https://review.monogon.dev/c/monogon/+/1085\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "6c9535b36d033ac647b1cf4fca2a29e8c260a79f",
      "tree": "1ede72b62493211ebda15975d29edcfea83af3f1",
      "parents": [
        "be326c24068009a0f8aa039f1fb5a004fbacae6a"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jan 03 13:17:42 2023 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jan 18 10:09:29 2023 +0000"
      },
      "message": "c/bmaas/bmdb: implement OS installation flow\n\nThis adds two new tags: OSInstallationRequest and\nOSInstallationResponse. It also implements interacting with these tags\nfrom the agent side.\n\nThis doesn\u0027t yet implement any admin/user-facing API to actually request\nOS installation, for now we just exercise this in tests.\n\nChange-Id: I2e31a8369a3a8670bb92bcacfb8231a0d5e1b9fd\nReviewed-on: https://review.monogon.dev/c/monogon/+/1011\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "94695969085cb2df182f58ee06443c5d7cf233ec",
      "tree": "76f807a250c74d4c47dd6a723b1e7b65e677e2f1",
      "parents": [
        "be6c3ad293eb15e49c859a28718b0643d2e4f507"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 12 17:33:17 2023 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Thu Jan 12 17:52:21 2023 +0000"
      },
      "message": "c/agent/api: add takeover API\n\nThis adds two messages to interact with the takeover process in an\nautomated way.\n\nChange-Id: I866d418ae18d86e0b8be40c73d49b86a3ddfe242\nReviewed-on: https://review.monogon.dev/c/monogon/+/1071\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "be6c3ad293eb15e49c859a28718b0643d2e4f507",
      "tree": "6017d1fd231442b370af6e60928a18e85b5e3e71",
      "parents": [
        "79c13a296a51fc3765fc1857698575621052150d"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Dec 12 15:11:39 2022 +0100"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Jan 12 12:11:07 2023 +0000"
      },
      "message": "c/bmaas/bmdb: rework Work API into working form\n\nThe Work API within the BMDB library wasn\u0027t quite working for purely\nBMDB-directed control loops. We fix that by turning Work into a\nthree-phase process of retrieval, side-effect causing work and\ncommitting.\n\nWe also add a test that exercises this functionality alongside the Agent\ntags and installation retrieval queries.\n\nChange-Id: I43af0c02af034e402dadb3e3a1fd10e5a8fe680a\nReviewed-on: https://review.monogon.dev/c/monogon/+/998\nTested-by: Jenkins CI\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "20f68b68006bc85ecf873316c1ec4415fb7d2ce6",
      "tree": "9be902cfced3a59f64f9f5440aef18b4b753fa0f",
      "parents": [
        "294002872b79dff7f91538a45ac50a12d33607de"
      ],
      "author": {
        "name": "Leopold",
        "email": "leo@monogon.tech",
        "time": "Wed Jan 04 20:39:56 2023 +0100"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Thu Jan 05 13:17:26 2023 +0000"
      },
      "message": "cloud/bmaas/server/api: add gomod placeholder for go mod tidy\n\nChange-Id: Iae1b568db08947b9314b735fa404cf43a2d37445\nReviewed-on: https://review.monogon.dev/c/monogon/+/1027\nTested-by: Jenkins CI\nReviewed-by: Sergiusz Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "189495ac490e93770a88affdce25b8f2087cb193",
      "tree": "63055d30158a084d6853ccd796316d1578b87024",
      "parents": [
        "4abeb13b0c1f26148daf14f430de17cd5eacf351"
      ],
      "author": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Nov 08 12:59:36 2022 +0000"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Tue Jan 03 18:16:07 2023 +0000"
      },
      "message": "c/a/a: add initial API for HW report\n\nThis adds an initial API for the hardware report to be implemented in\nthe agent.\n\nChange-Id: If9781169cd98c730a5f471e622b3511b46dd1e4f\nReviewed-on: https://review.monogon.dev/c/monogon/+/964\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "4abeb13b0c1f26148daf14f430de17cd5eacf351",
      "tree": "1e27894c1fa0b93a9345800df370c8e5e2156c17",
      "parents": [
        "f9c65e9e588c44e019d6b8836275493abe298a2e"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Oct 11 11:32:19 2022 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Dec 20 11:28:11 2022 +0000"
      },
      "message": "cloud/bmaas/server: init\n\nThis adds the BMaaS server alongside its first functionality: serving an\nAgent heartbeat API.\n\nThis allows (untrusted) Agents to communicate with the rest of the\nsystem by submitting heartbeats which may include a hardware report.\n\nThe BMaaS server will likely grow to implement further functionality as\ndescribed in its README.\n\nChange-Id: I1ede02121b3700079cbb11295525f4c167ee1e7d\nReviewed-on: https://review.monogon.dev/c/monogon/+/988\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "68ca370db4bb8314ac7598ce3b9c90194bde47a8",
      "tree": "57cc8b6ad0a1b1a781acb89484ce1f4bb9ab34a4",
      "parents": [
        "0123a1c948100c040c1924e50dc1e05a9cd523a7"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Nov 02 17:30:44 2022 +0100"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Nov 08 12:59:27 2022 +0000"
      },
      "message": "c/bmaas/bmdb: add Agent{Started,Heartbeat} tags and queries\n\nThis should be the required tags and queries for the first interactions\nwith the Shepherd subsystem.\n\nChange-Id: I8c663803cfd936b11c59bce7db5abc94b99dd1db\nReviewed-on: https://review.monogon.dev/c/monogon/+/962\nTested-by: Jenkins CI\nReviewed-by: Mateusz Zalega \u003cmateusz@monogon.tech\u003e\n"
    },
    {
      "commit": "35e8d79e695b290d371d82dbcc5b15cea429d424",
      "tree": "7bd2a6707cb34b0ae20742f5182df88f1cb2e226",
      "parents": [
        "ee17d8303258980270587755f75dc4b6412e3a31"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Oct 11 11:32:30 2022 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Oct 25 13:16:12 2022 +0000"
      },
      "message": "cloud/bmaas/bmdb: init\n\nThis adds the initial Bare Metal Database structure. This change focuses\non a session/work mechanism which is the foundation on which we will\nbuild worker components. It allows lease-like mechanics on machines,\nletting us not have to use \u0027standard\u0027 work queues in the BMaaS project.\n\nChange-Id: I42c3f4384c64fd90dbeab8ff9652a6f611be81d4\nReviewed-on: https://review.monogon.dev/c/monogon/+/953\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "a5baa87a6ca09502afb077b5fd74f0b374fecaf4",
      "tree": "fbad865ebf68d5244fd5573f573248ab5143b5c1",
      "parents": [
        "9cdec58c06b7eb5b8b532ccf5e6babb060992276"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Sep 15 18:49:35 2022 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Fri Sep 16 11:30:15 2022 +0000"
      },
      "message": "cloud/{apigw,lib/component}: add cockroachdb client, sample schema\n\nThis sets up some boilerplate to connect to CockroachDB servers,\nincluding test in-memory servers.\n\nWe also add a first pass apigw user table schema, as the first user of\nthis new functionality. We exercise that, in turn, in a test.\n\nWe also rename component.Configuration to component.ComponentConfig.\nThere\u0027s a stutter in there, but it makes sense with\ncomponent.CockroachConfig alongside.\n\nChange-Id: I76691146b87ce135d60db179b3f51eee16525df7\nReviewed-on: https://review.monogon.dev/c/monogon/+/912\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nVouch-Run-CI: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bee272f2240dd33f9ec74666205349ced91d3f0a",
      "tree": "afffbe99f7d0407ed37cd9c710d1622573b58746",
      "parents": [
        "a9590fe2dcde11eed3b6e8cf1f7ac42a85c9854e"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Sep 13 13:52:42 2022 +0200"
      },
      "committer": {
        "name": "Sergiusz Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Sep 14 11:45:15 2022 +0000"
      },
      "message": "cloud: init with apigw\n\nThis adds a first component to the cloud project, the apigw (API\nGateway), which listens on a public gRPC-Web socket.\n\nIt\u0027s not truly a gateway - it will actually contain most of the\nIAM/Project logic for the cloud system. A better name should be picked\nlater.\n\nWe implement a minimum internal/public gRPC(-Web) listener and some\nboilerplate for the parts that are gonna pop up again. Notably, we add\nsome automation around generating developer TLS certificates for the\ninternal gRPC listener.\n\nCurrently the apigw serves a single, demo RPC which returns\n\u0027unimplemented\u0027.\n\nChange-Id: I9164ddbd9a20172154ae5a3ffad676de5fe4927d\nReviewed-on: https://review.monogon.dev/c/monogon/+/906\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    }
  ]
}
