{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":739163524,"defaultBranch":"main","name":"cloud-init","ownerLogin":"OpenCHAMI","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-04T23:19:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/141931343?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1721687523.0","currentOid":""},"activityList":{"items":[{"before":"217abab951e332f9626a03c7a57cf15cd6335b4f","after":null,"ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-22T22:31:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"}},{"before":"e99542aa580d3c6d48978a094ae5df894ec5036f","after":"51d12f82e5109c5a97747a27049fb3980eb7d270","ref":"refs/heads/main","pushedAt":"2024-07-22T22:31:36.000Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Merge pull request #11 from OpenCHAMI/lritzdorf/autodetect-node\n\nSupport node autodetection via IP address","shortMessageHtmlLink":"Merge pull request #11 from OpenCHAMI/lritzdorf/autodetect-node"}},{"before":"52d80f34593debb0f2b5af376a63f3c6ca3ecf40","after":"217abab951e332f9626a03c7a57cf15cd6335b4f","ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-22T22:19:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"smdclient: fix naming in comments, oops","shortMessageHtmlLink":"smdclient: fix naming in comments, oops"}},{"before":"77666ab29da87f945e069f010472adaf46ab698f","after":"52d80f34593debb0f2b5af376a63f3c6ca3ecf40","ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-22T21:19:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"smdclient: properly unmarshal raw JSON array\n\nData structures are hard.","shortMessageHtmlLink":"smdclient: properly unmarshal raw JSON array"}},{"before":"078bf6a5c44fc40fb68627e8066de50faa962569","after":"77666ab29da87f945e069f010472adaf46ab698f","ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-19T22:57:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Update changelog for v0.1.1","shortMessageHtmlLink":"Update changelog for v0.1.1"}},{"before":"b67933e5cbbd896217a86b132d8639893324d495","after":"078bf6a5c44fc40fb68627e8066de50faa962569","ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-19T22:15:27.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"handlers: handle MAC-less requests via IP-based lookup","shortMessageHtmlLink":"handlers: handle MAC-less requests via IP-based lookup"}},{"before":"dcdc8537292ed11a7041953c514f5c0fb1ef1362","after":"b67933e5cbbd896217a86b132d8639893324d495","ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-19T21:35:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"handlers: generalize \"get data by MAC\" functionality\n\nDue to Go HTTP handler weirdness, we return a function which itself\nhandles the actual requests. This reduces code duplication\nsubstantially.","shortMessageHtmlLink":"handlers: generalize \"get data by MAC\" functionality"}},{"before":"d8bd23ce89268dbfe69ec6044b4995f0ec863e29","after":"dcdc8537292ed11a7041953c514f5c0fb1ef1362","ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-19T17:59:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"handlers: generalize \"get data by MAC\" functionality\n\nDue to Go HTTP handler weirdness, we return a function which itself\nhandles the actual requests. This reduces code duplication\nsubstantially.","shortMessageHtmlLink":"handlers: generalize \"get data by MAC\" functionality"}},{"before":null,"after":"d8bd23ce89268dbfe69ec6044b4995f0ec863e29","ref":"refs/heads/lritzdorf/autodetect-node","pushedAt":"2024-07-18T22:03:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"handlers: generalize SMD retrieval into single function\n\nThis function takes a node ID (among other args), which allows us to\nbuild other callers that can determine the ID in different ways (e.g.\nauto-detection via the initiating HTTP request's source IP).","shortMessageHtmlLink":"handlers: generalize SMD retrieval into single function"}},{"before":"ce701749f25fe9e4da93dc71e866b7dbde9f229f","after":null,"ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-17T16:35:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"}},{"before":"2c368cdae026ee34324279403bb9e1f59ac638c4","after":"e99542aa580d3c6d48978a094ae5df894ec5036f","ref":"refs/heads/main","pushedAt":"2024-07-17T16:34:41.000Z","pushType":"pr_merge","commitsCount":24,"pusher":{"login":"alexlovelltroy","name":"Alex Lovell-Troy","path":"/alexlovelltroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/845272?s=80&v=4"},"commit":{"message":"Merge pull request #10 from OpenCHAMI/lritzdorf/rearchitect\n\nRearchitect to remove Gin server package, add JWT-protected HTTP routes","shortMessageHtmlLink":"Merge pull request #10 from OpenCHAMI/lritzdorf/rearchitect"}},{"before":"4a9b067a2c08560c3f33e54210e7f3c833838b9d","after":"ce701749f25fe9e4da93dc71e866b7dbde9f229f","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-17T16:33:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"oidc: add note about OAuth2 authorization grant support","shortMessageHtmlLink":"oidc: add note about OAuth2 authorization grant support"}},{"before":"f2edfe2c6854df6f42394eb4308ac67617ae9ef9","after":"4a9b067a2c08560c3f33e54210e7f3c833838b9d","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-17T16:21:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Generalize OPAAL interface to any OIDC server\n\nAs long as they follow the standard output format.","shortMessageHtmlLink":"Generalize OPAAL interface to any OIDC server"}},{"before":"273531114c06cf136cbd2aad74cb4afd901af6fc","after":"f2edfe2c6854df6f42394eb4308ac67617ae9ef9","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-17T15:25:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Update changelog to include OPAAL server support","shortMessageHtmlLink":"Update changelog to include OPAAL server support"}},{"before":"0af7c7aa2c5203a1ec3108257592c608201d37a5","after":"273531114c06cf136cbd2aad74cb4afd901af6fc","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-17T15:22:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Dockerfile: provide OPAAL URL argument to executable","shortMessageHtmlLink":"Dockerfile: provide OPAAL URL argument to executable"}},{"before":"48a0a124fe245d733c27ef364468b9912c77a7cf","after":"0af7c7aa2c5203a1ec3108257592c608201d37a5","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-16T22:29:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Dockerfile: provide OPAAL URL argument to executable","shortMessageHtmlLink":"Dockerfile: provide OPAAL URL argument to executable"}},{"before":"7cb7c624c765cc3899d5a3657bf9192bcd564d55","after":"48a0a124fe245d733c27ef364468b9912c77a7cf","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-16T21:21:31.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Dockerfile: provide OPAAL URL argument to executable","shortMessageHtmlLink":"Dockerfile: provide OPAAL URL argument to executable"}},{"before":"22fb651bb15c217bf11f61c5860639c711138178","after":"7cb7c624c765cc3899d5a3657bf9192bcd564d55","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-09T22:29:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Fix minor spelling error in logs :)","shortMessageHtmlLink":"Fix minor spelling error in logs :)"}},{"before":"22fb651bb15c217bf11f61c5860639c711138178","after":null,"ref":"refs/tags/v0.1.0","pushedAt":"2024-07-09T18:04:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"}},{"before":"cccd40d091cd4e0b680aaec9089b13b299a057a2","after":"22fb651bb15c217bf11f61c5860639c711138178","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-09T18:02:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Update changelog for new release","shortMessageHtmlLink":"Update changelog for new release"}},{"before":"ef839f93549d74377270d18d4b86be2b050f82e8","after":"cccd40d091cd4e0b680aaec9089b13b299a057a2","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-09T17:45:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Add standard middlewares to the root router\n\nThese are based on the routers present in SMD.","shortMessageHtmlLink":"Add standard middlewares to the root router"}},{"before":"08c1e9fda04f4755f68451df9464e321039b21b8","after":"ef839f93549d74377270d18d4b86be2b050f82e8","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-09T17:24:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Routers: define middlewares before routes, as required\n\nApparently Chi gets mad if you don't follow their expected setup order.","shortMessageHtmlLink":"Routers: define middlewares before routes, as required"}},{"before":"acfb3054b4fe5f9c0b8c4f18c963a9821f188440","after":"08c1e9fda04f4755f68451df9464e321039b21b8","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-09T16:55:04.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Memstore: fall back to using given name if no SMD results\n\nThis is the case when no xname can be found for the given MAC address,\nin which case we consider the possibility that the input isn't a MAC\naddress at all, and use it as directly as a datastore key.","shortMessageHtmlLink":"Memstore: fall back to using given name if no SMD results"}},{"before":"31e944630987f2f3db67eca4e2e8398692b32bcc","after":"acfb3054b4fe5f9c0b8c4f18c963a9821f188440","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-09T15:58:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Don't slug-ify node IDs (MAC addresses)\n\nThis seriously complicates the data-retrieval process, especially when\ntalking to SMD. Also, since we're dealing with MAC addresses here, the\ncolons will *always* be \"slugged\" into dashes, so there's no real way to\navoid this mangling.","shortMessageHtmlLink":"Don't slug-ify node IDs (MAC addresses)"}},{"before":"7475dd328e7cf74ce0638d86742e6ecc20f0d3f7","after":"31e944630987f2f3db67eca4e2e8398692b32bcc","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-09T14:59:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Return slug-ified datastore key instead of plain one\n\nThis is the key that must be included in future GET/DELETE/etc. requests\nin order to access the node in question. May be different from the\noriginally specified name, particularly if the latter includes special\ncharacters which may not be URL-safe.","shortMessageHtmlLink":"Return slug-ified datastore key instead of plain one"}},{"before":"40858b482ee2a31cc334f8f641d52f059d921ad7","after":"7475dd328e7cf74ce0638d86742e6ecc20f0d3f7","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-08T21:39:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Actions: fix tag format, use stable attestation","shortMessageHtmlLink":"Actions: fix tag format, use stable attestation"}},{"before":"e884218dcd8de5f1e5e320e7f5a5ee45e4d3c678","after":"40858b482ee2a31cc334f8f641d52f059d921ad7","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-08T21:27:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Add JWKS URL flag to Dockerfile","shortMessageHtmlLink":"Add JWKS URL flag to Dockerfile"}},{"before":null,"after":"e884218dcd8de5f1e5e320e7f5a5ee45e4d3c678","ref":"refs/heads/lritzdorf/rearchitect","pushedAt":"2024-07-08T18:32:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"LRitzdorf","name":"Lucas Ritzdorf","path":"/LRitzdorf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42657792?s=80&v=4"},"commit":{"message":"Implement JWT-based authentication for secure route\n\nThis copies much JWKS helper code (`cmd/cloud-init-server/auth.go`) from\nhttps://github.com/OpenCHAMI/smd/blob/cdac4f1a606401a2b150513b935143238e3eb026/cmd/smd/routers.go\nwith certain irrelevant-to-us parts stripped out.","shortMessageHtmlLink":"Implement JWT-based authentication for secure route"}},{"before":"16c14e81d1e0bf4743e334c4445a3ddd1da663c7","after":"2c368cdae026ee34324279403bb9e1f59ac638c4","ref":"refs/heads/main","pushedAt":"2024-05-07T17:18:20.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alexlovelltroy","name":"Alex Lovell-Troy","path":"/alexlovelltroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/845272?s=80&v=4"},"commit":{"message":"Merge pull request #8 from OpenCHAMI/alexlovelltroy-patch-3\n\nUpdate Dockerfile to match flag usage to actual behavior","shortMessageHtmlLink":"Merge pull request #8 from OpenCHAMI/alexlovelltroy-patch-3"}},{"before":null,"after":"922a82bc2c39030b4a25ee30354ce86e093a1e0b","ref":"refs/heads/alexlovelltroy-patch-3","pushedAt":"2024-05-07T17:17:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alexlovelltroy","name":"Alex Lovell-Troy","path":"/alexlovelltroy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/845272?s=80&v=4"},"commit":{"message":"Update Dockerfile\n\nFix flag handling","shortMessageHtmlLink":"Update Dockerfile"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEhkGQ9wA","startCursor":null,"endCursor":null}},"title":"Activity ยท OpenCHAMI/cloud-init"}