)]}'
{
  "log": [
    {
      "commit": "0175d7ab5a5f0414fa4a472b7cf0e066fe8e5f66",
      "tree": "6c519e0d656373c0fbe273f4e6eeb5747fa329c7",
      "parents": [
        "997faa44e945697717b2eaf22786ba803f741a1e"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Mar 26 12:57:23 2025 +0000"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Apr 07 10:21:53 2025 +0000"
      },
      "message": "osbase/net/sshtakeover: refactor package\n\nThis is an extensive refactoring of the sshtakeover package.\n\nThe package is renamed from //go/net/ssh to //osbase/net/sshtakeover,\nto make it more clear what the package is for and avoid clashes with\ngolang.org/x/crypto/ssh.\n\nThe previous Client type was removed, and Dial is now a top-level\nfunction which takes an ssh.ClientConfig. The previous Connection type\nwas renamed to Client, which makes the naming match ssh.Client.\n\nThe Client interface type was moved to //cloud/shepherd/manager. This\nallows us to add more functions to sshtakeover.Client without breaking\nconsumers of the package, which would need to add dummy implementations\nfor functions which they don\u0027t need.\n\nThe Upload function was renamed to UploadExecutable, and the new Upload\nfunction can be used for files that don\u0027t need to be executable.\n\nThe sftp client is now created at the same time as the client, instead\nof creating a new one for each uploaded file.\n\nChange-Id: I3be9c346713cb4e5c2b33f9c8c9a6f11ca569a75\nReviewed-on: https://review.monogon.dev/c/monogon/+/4047\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "6d33a4342a16200d628f30ff91b169927fc2867a",
      "tree": "e65ad23cb6d0b795420b5ec625a757784d4c3e3b",
      "parents": [
        "7887f758de8f9106a484ca59d9734304aa919e36"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 04 14:34:25 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 06 17:03:43 2025 +0000"
      },
      "message": "treewide: add license header and enable haslicense linter\n\nChange-Id: I873a8d4082d75e8f813d8a726a41187eea7a065e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3825\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "156248b949f3da7c8d0f4f46cb97ac7606464952",
      "tree": "ff52faf242a29f1916edad64bca6282f8030ee66",
      "parents": [
        "227c5cbbdd8f682b6e4d4cc661fa0d6e734206f2"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jan 10 00:27:45 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jan 10 20:13:30 2025 +0000"
      },
      "message": "treewide: format repo with buildifier\n\nChange-Id: Ia7aebeb7bba5b119c9157d1ad805cc477bcbb68a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3774\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "0996ea85ca6200e1729941d316f7891835871938",
      "tree": "7e570810e91743d5b689aa87118fce7fb56a3cb2",
      "parents": [
        "16ebf144db82c8a57869456d159352e5aa2f4392"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jan 09 20:57:23 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jan 09 21:19:31 2025 +0000"
      },
      "message": "cloud/shepherd/provider/equinix: fix data race\n\nThis directly accesses the map without using the lock. Adding that fixes\nthe data race\n\nChange-Id: I7d7f8aa59cfa2d564d2702926b05831f7c7ffa87\nReviewed-on: https://review.monogon.dev/c/monogon/+/3770\nTested-by: Jenkins CI\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\n"
    },
    {
      "commit": "d0e39cbad2e12cbb23caa7d36ccbd4821285ac51",
      "tree": "7d233926774a9af8ca065a7dacc533f22f6a5a85",
      "parents": [
        "e4b1d20497b31ce639b6d8d8fb7079ea49686144"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Sep 16 16:14:00 2024 +0200"
      },
      "committer": {
        "name": "Lorenz Brun",
        "email": "lorenz@monogon.tech",
        "time": "Wed Sep 18 19:39:51 2024 +0000"
      },
      "message": "go/net/ssh: allow multiple AuthMethods\n\nChange-Id: Icdd8c12bc959f87271db4abba3219edd0ea1b7ca\nReviewed-on: https://review.monogon.dev/c/monogon/+/3434\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "de12c7ef5833ae349d8f39c8116431a286838fd7",
      "tree": "4d379b1e6c0851b646f983cdb4c6f61b16588992",
      "parents": [
        "d20ddccddf601c2a34cc5238bd82b6a4a1744502"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 25 18:00:40 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 14 21:12:21 2024 +0000"
      },
      "message": "cloud/equinix/cli: add list command\n\nThis also replaces the packngo library with our fork\n\nChange-Id: I7ef23b840ce0de01109ab5764ed2c23feff72e49\nReviewed-on: https://review.monogon.dev/c/monogon/+/3060\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "b765f24f8f1c93b817c8a3f4f1eef2514562b140",
      "tree": "1afe10327fcbbefa99de0bf3bfcb0d28ca77abca",
      "parents": [
        "da1c950d5099b7384d9239d3590393080e9bc8f4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed May 08 01:40:02 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon May 13 10:07:41 2024 +0000"
      },
      "message": "metropolis/cli/pkg/context: replace with signal.NotifyContext\n\nChange-Id: I457ccb83c7e25988755bb9463a8c83fc328a722b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3081\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "513df18bf6ae7ad0cc17807674ee561c518d0654",
      "tree": "2f9ce2af2964680376b62b183d65a93ae615c2e9",
      "parents": [
        "a21783f4a1c8f67eea0ca354e31f73ccfd682688"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:44:50 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: errors variables should be prefixed with Err\n\nChange-Id: Ic277f98ebcd03356500ce7daba199738e701e81c\nReviewed-on: https://review.monogon.dev/c/monogon/+/3025\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "096654adb312a1bc858a0f886b8fba755eab52b4",
      "tree": "bb753ba3a24eab6a63b7f7c1757f35f0540b880a",
      "parents": [
        "a355821fa06a7f68ff8ddca6050f71e92e4939a5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 18 23:10:19 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 22:29:11 2024 +0000"
      },
      "message": "treewide: add missing error handling\n\nChange-Id: I55ccf3ff490b58f6af93e665c668428acddc8d65\nReviewed-on: https://review.monogon.dev/c/monogon/+/3019\nVouch-Run-CI: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "6250705e0fb83cc9c92a50b3a87f95d7089effee",
      "tree": "605e229a9fc68fef7ee9759438c4ec90f6b4d6b4",
      "parents": [
        "3215ee8eb6a096a0d310cb0f465584783435e4ad"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 15:06:14 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 13:15:18 2024 +0000"
      },
      "message": "cloud/shepherd/provider/equinix: fix wrong usage of slices.DeleteFunc\n\nChange-Id: I736dc4ebde844d602ea84c5660c583e881538b16\nReviewed-on: https://review.monogon.dev/c/monogon/+/3041\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "d5f851bb477638436826adec756fe562db526865",
      "tree": "d981b1c62d613b45fb55023da289098d7e377705",
      "parents": [
        "69fec522d5db79d07bb1f227c2ab39c57fdf2831"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Apr 23 14:59:37 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Apr 24 13:15:14 2024 +0000"
      },
      "message": "treewide: replace error comparisons and assertions with errors.Is\n\nChange-Id: Id2424eb155f2c6842c72c5fafd124d428ef901f2\nReviewed-on: https://review.monogon.dev/c/monogon/+/2994\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "0c57d34190434556847345072371a42a9e1c3154",
      "tree": "adb53fda3b8b6e6d996e1696c9dadd2d506ef545",
      "parents": [
        "3810567012959d2871400ce2ecd39f53b9072bc3"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 11 01:38:47 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Apr 15 21:31:42 2024 +0000"
      },
      "message": "treewide: cleanup function receiver names\n\nChange-Id: I0575175ea249a2bd39b4b7769e49a9995fae6f6d\nReviewed-on: https://review.monogon.dev/c/monogon/+/2959\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "438ae2e52cb0aa8dea021419d921c687330e7d3b",
      "tree": "62326ef9a361cefb7745a88a6565956045dc7eb8",
      "parents": [
        "a27272c3219b22cf8470c81eaf529234e744332c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 11 23:23:12 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Apr 15 21:19:50 2024 +0000"
      },
      "message": "treewide: replace always true switch condition with default\n\nChange-Id: I6c2089f2499ab7d5dd55ad1a8d8a97e7276e171e\nReviewed-on: https://review.monogon.dev/c/monogon/+/2974\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "5f5f3300dec2d65eb0321a19f789cfdd65c12c17",
      "tree": "2bc9ab9c6b9a50dfec88838ec48272a7b78075bf",
      "parents": [
        "543756fdf954fc09f032bb91a59916a784b21cff"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 22 23:50:24 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Mar 05 18:39:44 2024 +0000"
      },
      "message": "cloud/shepherd: move ssh client to own package\n\nChange-Id: I56ad16f8f2f355243c5c0414656bbfbbff1faef5\nReviewed-on: https://review.monogon.dev/c/monogon/+/2791\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "79ffbbe040d0db6c4ff6f8cdc84fe13d537e2bfe",
      "tree": "c187ae1162f232707d835fcf507e8b88c6f5d452",
      "parents": [
        "1dd0c6591533bf63389e81a2104bca3c8326e871"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Feb 22 19:15:51 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Feb 27 15:41:41 2024 +0000"
      },
      "message": "cloud: move takeover to agent/takeover\n\nThe takeover package is tightly coupled with the agent, so lets move it\nthere.\n\nChange-Id: I38ae69d4f4e7a4f6a04b0fefb5f127ebc71f5961\nReviewed-on: https://review.monogon.dev/c/monogon/+/2790\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "c4dd0032736567ca7873a11588f3a64d1dddea88",
      "tree": "e5485ef011f7f2e1d17fb4e5f4bf0f6686b6fa75",
      "parents": [
        "fdd87abdd1d3bc7a87594a463344b1542e2650b4"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 19 13:13:31 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 19 14:00:17 2024 +0000"
      },
      "message": "cloud/shepherd: rename shepherd.State to shepherd.Availability\n\nChange-Id: I8e1fa243317bf4f97af98303b10b979b98943156\nReviewed-on: https://review.monogon.dev/c/monogon/+/2779\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "fdd87abdd1d3bc7a87594a463344b1542e2650b4",
      "tree": "ac4b5a1bf2584611256c3a8903168bf33a05e799",
      "parents": [
        "968d72095a54aabed1a59cccf3591c4f32a7b70a"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Dec 07 18:03:21 2023 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Feb 19 14:00:17 2024 +0000"
      },
      "message": "cloud/shepherd: skip machines in failed state\n\nCurrently we are not ignoring machines that are in failed state, which\nbrings the provider to a stop as soon as a provision request fails. We\nshould ignore such machines.\n\nChange-Id: I7be64c710cc15428f4d8d4e75b6df1e816d453f8\nReviewed-on: https://review.monogon.dev/c/monogon/+/2417\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "0974b2275edc21ce3b76606ba7f8eed84e5cc9f0",
      "tree": "b9bd73528dc6823168273fb8eb58d02054e90047",
      "parents": [
        "c834b7dd62f20188f3ffd7cbb092e2536403474b"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jan 16 14:04:15 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jan 23 15:52:54 2024 +0000"
      },
      "message": "treewide: replace rules_docker with rules_oci\n\nrules_docker is not maintained anymore and recommends migration to\nrules_oci\n\nChange-Id: I089f3cf44888b3c3c0baa2c84a319b04b1a7dec4\nReviewed-on: https://review.monogon.dev/c/monogon/+/2712\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "b6308cd63854e3ef48e6afcc4c1f51e0c6ac1203",
      "tree": "ca6a5e292e05e420b7f04250c1e189511a6de3f7",
      "parents": [
        "a85c86f5b2d80251811f3a659fe9570694dd6056"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Oct 10 21:19:03 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Nov 16 18:09:16 2023 +0000"
      },
      "message": "cloud: split shepherd up\n\nChange-Id: I8e386d9eaaf17543743e1e8a37a8d71426910d59\nReviewed-on: https://review.monogon.dev/c/monogon/+/2213\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    }
  ]
}
