)]}'
{
  "log": [
    {
      "commit": "77bf754c26c64befa772e00f652faf784b0913c9",
      "tree": "98be13ae200a12fb278eed38732b19a5a66d3b24",
      "parents": [
        "e08c16075bd39da9194aff89e4e9f479740ae56d"
      ],
      "author": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 23 11:26:31 2025 +0200"
      },
      "committer": {
        "name": "Leopold Schabel",
        "email": "leo@monogon.tech",
        "time": "Mon Jun 23 13:35:46 2025 +0000"
      },
      "message": "*: github.com/monogon-dev -\u003e github.com/monogon\n\nChange-Id: I0b8bfde3d99d5308a73d51f869cb1440e285939f\nReviewed-on: https://review.monogon.dev/c/monogon/+/4291\nTested-by: Jenkins CI\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\n"
    },
    {
      "commit": "22c1a2aa07f2c9c48d31779ccfaf59709123c3fa",
      "tree": "c85db8506a099ccce512a25af3c9c5fdb089a9aa",
      "parents": [
        "2368dc7f001e4762b77de92cdf95da5553bb1105"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Mar 24 17:23:17 2025 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Wed Mar 26 14:29:19 2025 +0000"
      },
      "message": "osbase/supervisor: log runnable errors as fatal\n\nAs describe in the issue we are only logging the final error and\nreschedule notice into supervisor\u0027s own dn.\nThis modifies said behavior to log the final error as fatal.\n\nCloses monogon-dev/monogon#296\n\nChange-Id: I048cf38fe3e60df9a6722cfe0c6e1427eaddb586\nReviewed-on: https://review.monogon.dev/c/monogon/+/4032\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\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": "35cd44be9b5f43d19e05f48f6be2ab6cd65b9c22",
      "tree": "1ec0672614bb0e03246dd91f03c3113a6f42c95a",
      "parents": [
        "117006e5a66f0c5858bff44aa05dc036083610a3"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 16 02:44:11 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Fri Jan 03 15:40:37 2025 +0000"
      },
      "message": "osbase/supervisor: allow access to LogTree from Runnable\n\nThis adds a way to access the underlying LogTree instance from\na runnable with the same API as normal logger access. This is required\nfor migrating metropolis/node/core to use bringup.\n\nChange-Id: I867ff0ff104bd7f524667a66aaaf13fc29c8f25c\nReviewed-on: https://review.monogon.dev/c/monogon/+/3704\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "3c6183f7f12ded0c563239c7eff1f1dc4a9bebec",
      "tree": "e3487e97b71fb10a310780a36c7438f4fb9af242",
      "parents": [
        "bc32bcd241a9270786a749266ce4f6a5df6d0a6e"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 16 02:42:21 2024 +0100"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Dec 23 13:10:21 2024 +0000"
      },
      "message": "osbase/supervisor: use MustRegister for metrics registration\n\nChange-Id: I4321c626f210bea025ab27bfecf783425f1482b5\nReviewed-on: https://review.monogon.dev/c/monogon/+/3703\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "fce7c765ace0ae7058af9498e228eca30dd4695c",
      "tree": "4d331860270a59969d0f917a72e87e7dde74b9a6",
      "parents": [
        "08c1c72246da4f8f18dfb7e94a1da813b094c7a4"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Dec 19 14:07:24 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: restart DONE nodes when needed\n\nNodes in DONE state are normally not restarted. However, if a sibling of\nthe node dies, then the node in DONE state and all its children are\ncanceled and need to be restarted. Previously, this did not happen, so\nthe newly added test got stuck waiting forever for the inner runnable to\nstart again.\n\nChange-Id: I8c437937d21edb822985ec6fa3f36425e12ff218\nReviewed-on: https://review.monogon.dev/c/monogon/+/3716\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "08c1c72246da4f8f18dfb7e94a1da813b094c7a4",
      "tree": "e8dd5a474edb79f2658b951e64b993b38c46b210",
      "parents": [
        "65602097b716674316a318d5594a8b2b0e52d239"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Dec 19 12:03:17 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: only enter DONE state after runnable returns\n\nPreviously, a node was marked DONE as soon as it signaled DONE. If a GC\nrun happens between the time when the runnable signals DONE, and when\nthe runnable exit is processed, this causes problems. The test which I\nadded panics without the other changes:\n\npanic: could not find [inner] (root.inner) in root (NODE_STATE_NEW)\n\nIf the delay is long enough that the inner node has already restarted,\nthen this could even end up with multiple instances of the same runnable\nrunning simultaneously.\n\nI fixed this problem by only entering the DONE state after the runnable\nhas returned.\n\nChange-Id: If73b73f104c4cc204bce4374f4ba5f7e163e4a0b\nReviewed-on: https://review.monogon.dev/c/monogon/+/3715\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "65602097b716674316a318d5594a8b2b0e52d239",
      "tree": "750858f9b0302860f49ccde11edbd908ce58df94",
      "parents": [
        "aa6b42a15c38d1d99301673fa76c6b0f2953a892"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Thu Dec 19 10:37:34 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: make restart sleep cancelable\n\nPreviously, if a runnable died, and immediately after also its parent,\nthen the parent was only restarted after waiting for both the child\nand then parent restart backoff sleep. Additionally, the child was\nrestarted with an already canceled context.\n\nNow, the restart sleep can be canceled, and if canceled will directly\ngo to CANCELED state without first starting the runnable.\n\nChange-Id: Ie986db680d4df12d590881d1a7e468c741a732d9\nReviewed-on: https://review.monogon.dev/c/monogon/+/3714\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "aa6b42a15c38d1d99301673fa76c6b0f2953a892",
      "tree": "5b79f12996420eb010ff8bb340710f8ef4669383",
      "parents": [
        "bdbb9c2baa94f72bf57ad1c13a2c2a5c3ff01858"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Dec 18 18:03:26 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "osbase/supervisor: canceled runnables are not live\n\nThis fixes a bug which caused a test to be flaky; it could get stuck\nwith the TestHarness waiting for runnables in CANCELED state to die.\n\nChange-Id: I31394e407662fe05918907650931859c6bba35fe\nReviewed-on: https://review.monogon.dev/c/monogon/+/3713\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "bdbb9c2baa94f72bf57ad1c13a2c2a5c3ff01858",
      "tree": "97fad3e69df9ac10117a71846320dd8748caeecd",
      "parents": [
        "742fde7cd4861bb16b4f0655b84f587510c1e84b"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Dec 18 15:14:02 2024 +0100"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Dec 23 10:13:43 2024 +0000"
      },
      "message": "m/node/core/time: use CommandContext\n\nChange-Id: Ie98b949facf3d26c819bdf56329f5837b8e3dac7\nReviewed-on: https://review.monogon.dev/c/monogon/+/3712\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3c5d0635f855f16780792a6be311f71b4d59f20b",
      "tree": "4a48292bf17a874f2d627901ee4f7e9145c5b040",
      "parents": [
        "a036c4e792e4b497c512991291b0cc18bc12b5e3"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Thu Sep 12 10:49:12 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Mon Sep 16 14:03:22 2024 +0000"
      },
      "message": "osbase/logtree.LeveledLogger -\u003e go/logging.Leveled\n\nThis factors out the common leveled logger interface out of the logtree.\nWe want to use the same interface outside of logtree/supervisor usage\nwithin the resolver code, which will be exposed to clients.\n\nChange-Id: I299e76d91e8cefddf8f36f1e58432418c4694df2\nReviewed-on: https://review.monogon.dev/c/monogon/+/3411\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "75ea9f40ade3ff29fbe3dfca6d93b62e6959ef2b",
      "tree": "5bf6680a772227388eca051c8517566e3749c7a3",
      "parents": [
        "4a18022bda00b3d3b844471e7f5cf16b24455b68"
      ],
      "author": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Mon Jul 29 17:01:41 2024 +0200"
      },
      "committer": {
        "name": "Jan Schär",
        "email": "jan@monogon.tech",
        "time": "Wed Aug 21 11:10:01 2024 +0000"
      },
      "message": "osbase/net/dns/forward: add DNS forward handler\n\nThis adds a DNS server handler for forwarding queries to upstream DNS\nresolvers, with a built-in cache. The implementation is partially based\non CoreDNS. The proxy, cache and up packages are only lightly modified.\nThe forward package itself however is mostly new code. Unlike CoreDNS,\nit supports changing upstreams at runtime, and has integrated caching\nand answer order randomization.\n\nSome improvements over CoreDNS:\n- Concurrent identical queries only result in one upstream query.\n- In case of errors, Extended DNS Errors are added to replies.\n- Very large replies are not stored in the cache to avoid using too much\nmemory.\n\nChange-Id: I42294ae4997d621a6e55c98e46a04874eab75c99\nReviewed-on: https://review.monogon.dev/c/monogon/+/3258\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "f9a8dcda408842251433b7d3d734d4f0710d1ba2",
      "tree": "0adbc154cfd1d3907473bf18a7f444854ceba5ad",
      "parents": [
        "cf864da947cc93fbed77eec4d23ec5b162003fbd"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jul 31 14:46:06 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Aug 06 14:35:51 2024 +0000"
      },
      "message": "osbase/supervisor: implement Prometheus metrics\n\nThis is a simple implementation of supervisor.Metrics which will be used\nin Metropolis.\n\nChange-Id: I8d47b3aa631dec5b07295d5498b3b0d1ad36c0f7\nReviewed-on: https://review.monogon.dev/c/monogon/+/3291\nReviewed-by: Tim Windelschmidt \u003ctim@monogon.tech\u003e\nTested-by: Jenkins CI\n"
    },
    {
      "commit": "cf864da947cc93fbed77eec4d23ec5b162003fbd",
      "tree": "f1c72c8891fc8cef4c5cbc2826e8ffa63235bc70",
      "parents": [
        "eca8ee3a89affc200d6056b04a14c4f20fddc91f"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Wed Jul 31 11:23:34 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Aug 06 14:00:50 2024 +0000"
      },
      "message": "osbase/supervisor: implement Metrics API\n\nThis is a base building block for exporting per-DN/runnable status from\nthe supervisor into an external system. A sample implementation is\nprovided which can be used in simple debug facilities to inspect the\ncurrent supervision tree.\n\nA follow-up change will use the same API to implement Prometheus\nmetrics.\n\nChange-Id: I0d586b03a397a3ccf8dac2d8043b9dd2f319be4e\nReviewed-on: https://review.monogon.dev/c/monogon/+/3290\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "eca8ee3a89affc200d6056b04a14c4f20fddc91f",
      "tree": "8805a806294112753cb917f65754419bad38f41c",
      "parents": [
        "5cdb51bf4c7d7b2451037ba1dd05ce019a379683"
      ],
      "author": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Jul 30 14:32:19 2024 +0000"
      },
      "committer": {
        "name": "Serge Bazanski",
        "email": "serge@monogon.tech",
        "time": "Tue Aug 06 14:00:50 2024 +0000"
      },
      "message": "osbase/supervisor: export NodeState\n\nThis will be exported as part of an upcoming Metrics interface, where\nrunnable statuses are exposed to the user.\n\nChange-Id: Id47071545c3297b2ea36ba28017d6d4a7fbd9005\nReviewed-on: https://review.monogon.dev/c/monogon/+/3289\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "3325b4b940370ad4282fdaa6027a5672ff8fdc2a",
      "tree": "7308d80e86a0d0ea34a5d2d5c8dac8cb2dd8efeb",
      "parents": [
        "41b244857ee793cbf74552ec39f2ff614a686a56"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 15 19:19:49 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Mon Jul 22 21:25:58 2024 +0000"
      },
      "message": "workspace: bump bazel_gazelle to v0.37.0\n\nChange-Id: I45a7769d80781075fdfb1c438240a75629dd572a\nReviewed-on: https://review.monogon.dev/c/monogon/+/3220\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n"
    },
    {
      "commit": "9f21f5396aa18bc9f2f83c867ff883f49bbf02ae",
      "tree": "c232f42c84bd6b7ace576261a188134cb0c69771",
      "parents": [
        "f430fbfe35b70283090b6174cf5a920163c0148c"
      ],
      "author": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Tue May 07 15:14:20 2024 +0200"
      },
      "committer": {
        "name": "Tim Windelschmidt",
        "email": "tim@monogon.tech",
        "time": "Thu Jul 04 12:19:37 2024 +0000"
      },
      "message": "treewide: introduce osbase package and move things around\n\nAll except localregistry moved from metropolis/pkg to osbase,\nlocalregistry moved to metropolis/test as its only used there anyway.\n\nChange-Id: If1a4bf377364bef0ac23169e1b90379c71b06d72\nReviewed-on: https://review.monogon.dev/c/monogon/+/3079\nTested-by: Jenkins CI\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\n"
    }
  ]
}
