)]}'
{
  "log": [
    {
      "commit": "44cacd6bd39f0d70aab912e4d02f2ef2e453bc4d",
      "tree": "1ab3deae3f63c854bf4e2a89f25937ad062a6130",
      "parents": [
        "f9e3a6558f8725123e4cde38098e80c1167fb47c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jun 12 23:54:45 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue Jun 13 09:40:46 2023 +0000"
      },
      "message": "cloud: validate that there are not positional arguments\n\nflag.Parse() parses arguments after boolean flags as positional argument.\nThis produces unexpected behaviour like this:\n```\n\u003e -a \"true\" -b \"true\"\na: false\n\n\u003e -a -b \"true\"\nb: true\n```\n\nChange-Id: I0f8555fc45acf305a5efd365a6eae03eb8930942\nReviewed-on: https://review.monogon.dev/c/monogon/+/1798\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "dea7cd0e3d0aeee571f25209d76b52cc495a389f",
      "tree": "9aa755c3488f2db6f15327a3f0feef7147a434a3",
      "parents": [
        "c50f69427b1bb1816fa1ae8ecbdd1f00651f1e7f"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 26 13:58:17 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Apr 27 12:34:43 2023 +0000"
      },
      "message": "cloud/shepherd: add equinix API metrics\n\nThis adds the following signals to our interaction with the Equinix API:\n\n 1. Latency\n 2. Traffic\n 3. Errors\n 4. Saturation\n\nChange-Id: Ic2d5e36a7a26ab906ac1c2fa6741ebf86b9e551a\nReviewed-on: https://review.monogon.dev/c/monogon/+/1606\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "c50f69427b1bb1816fa1ae8ecbdd1f00651f1e7f",
      "tree": "0db95195b72142bfbfd9054d2505d40c99ccc6a4",
      "parents": [
        "2bffb6fd2e9af6c4b0e79a1d69a4be1a3275ba40"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Apr 24 18:27:22 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Apr 25 12:45:16 2023 +0000"
      },
      "message": "cloud/bmaas/bmdb: implement BMDB client metrics\n\nThis implements some basic BMDB metrics exported by any client code\nusing the BMDB.\n\nIt also enables their use in the Shepherd and BMSRV.\n\nChange-Id: I1d5e82fd2c34a7bfd42f37fad540d69f7b23f347\nReviewed-on: https://review.monogon.dev/c/monogon/+/1600\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "fbda89eeab18b56d0d9908829532e8c86c5e9e6b",
      "tree": "df7d6823c4315c4d69b21def8f7ad5cbe5b10d55",
      "parents": [
        "00cf57dd411af5f5c9aa21ced2a2d6c67729297c"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Apr 24 17:43:58 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Apr 25 11:56:50 2023 +0000"
      },
      "message": "cloud: enable prometheus server\n\nThis makes cloud components start a Prometheus server on a separate port\n(:4243 by default) using either gRPC TLS credentials or plain HTTP.\n\nThe Prometheus server currently only export the standard Go/Process\nmetrics that the default Prometheus library exports.\n\nChange-Id: I9f2ae20c34446c0e10a946d4a93251764f5d2fce\nReviewed-on: https://review.monogon.dev/c/monogon/+/1599\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "afd3cf8bb5c99e9a8db23a5f435f7c1e31c96f91",
      "tree": "092e34305b19af962cac644a1551822c436f1060",
      "parents": [
        "fac487481bf56e9510ff9a528c6729b2427d42b1"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 19 17:43:46 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Apr 25 11:56:50 2023 +0000"
      },
      "message": "cloud/shepherd/equinix: update provider extra data\n\nThis adds a new sub-component to the Equinix Shepherd, the Updater.\n\nThe Updater periodically scans all machines backed by the Equinix\nprovider in the BMDB and queries the Equinix API for their status. The\nstatus then populates the new \u0027Provided\u0027 row data.\n\nChange-Id: I99657545aabfb13d71e165d36ce549c852feaf49\nReviewed-on: https://review.monogon.dev/c/monogon/+/1578\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "ae00468363b0006ecf1ae90ed3833bbe54820df5",
      "tree": "3dff4cdf264bed17e66f7aed2c8085b67738104d",
      "parents": [
        "86a714d6e81bb524dc59fda7baa63b45e7180489"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Apr 18 13:28:48 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 19 13:55:01 2023 +0000"
      },
      "message": "cloud/shepherd/equinix: implement recoverer\n\nThis implements basic recovery functionality for \u0027stuck\u0027 agents. The\nshepherd will notice machines with a agent that either never sent a\nheartbeat, or stopped sending heartbeats, and will remove their agent\nstarted tags and reboot the machine. Then, the main agent start logic\nshould kick in again.\n\nMore complex recovery flows can be implemented later, this will do for\nnow.\n\nChange-Id: I2c1b0d0465e4e302cdecce950a041581c2dc8548\nReviewed-on: https://review.monogon.dev/c/monogon/+/1560\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "86a714d6e81bb524dc59fda7baa63b45e7180489",
      "tree": "1d1cadea7a23d82d40144e3d9988d31fbe26270f",
      "parents": [
        "42f13465aa2a2b57c2971d20219f15aeb2a21f3e"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Apr 17 15:54:21 2023 +0200"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Apr 19 13:55:01 2023 +0000"
      },
      "message": "cloud/shepherd/equinix: split out control loop logic\n\nThis is in preparation for implementing the recoverer/rebooter inside\nthe shepherd.\n\nIn the future this will likely be split away from from the shepherd and\nend up as a generic bmdb library. But let\u0027s first wait for concrete\nusages outside of the shepherd component.\n\nChange-Id: I69b9a2e913dcefa2c6558e271b6853285c6120b3\nReviewed-on: https://review.monogon.dev/c/monogon/+/1559\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "23fa5c1f021739297bfc3def8514f3e1324503b7",
      "tree": "f4600843b28aedf574563b55b137f94e168e39bc",
      "parents": [
        "8867b2ccc6d991abe4a765f5db4124e5f4c2a1a5"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 06 20:34:50 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 06 22:07:41 2023 +0000"
      },
      "message": "cloud/shepherd/equinix/manager: embed takeover agent\n\nChange-Id: Ibd3841dfe9d6e40042b1812d335eec3025841db1\nReviewed-on: https://review.monogon.dev/c/monogon/+/1510\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "8867b2ccc6d991abe4a765f5db4124e5f4c2a1a5",
      "tree": "63192b53756e83a9aa76a2e728b0c2f06c79eab3",
      "parents": [
        "51987d6cca3b619f365f978c1ce09012cdf23276"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 06 15:09:30 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Apr 06 21:48:42 2023 +0000"
      },
      "message": "cloud/shepherd/equinix/manager: embed test_agent\n\nChange-Id: Iee2c1f68350412a49fae9fe2b80ab70a12b1a618\nReviewed-on: https://review.monogon.dev/c/monogon/+/1505\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    },
    {
      "commit": "f50c31ff196d2d5ae6c73d732e3d241020cf7882",
      "tree": "48024296472f235ea7cbd5b76c887fec1a2d7bff",
      "parents": [
        "ff95552a751ca68fb3834b7cdb101f1b7c421a05"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 30 15:04:03 2023 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Mar 30 14:43:15 2023 +0000"
      },
      "message": "cloud/shepherd/equinix/manager/server: add container_image\n\nChange-Id: I1788eb56ecb08394b3f82f9dd0973b18c2e72498\nReviewed-on: https://review.monogon.dev/c/monogon/+/1443\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\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": "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"
    }
  ]
}
