{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":740375651,"defaultBranch":"main","name":"vm-dhcp-controller","ownerLogin":"harvester","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-08T08:11:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/79673333?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1710214164.0","currentOid":""},"activityList":{"items":[{"before":"9fac50f05b7573cc8367e03014e204df39e05c9a","after":"019a4fdff580d0dd59a68412c9ea2182b4ac8e09","ref":"refs/heads/main","pushedAt":"2024-07-17T09:27:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"doc: update build state badge on readme page\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"doc: update build state badge on readme page"}},{"before":"1e7f29d9a1ac9205b2c0fb286850607313136b3b","after":"9fac50f05b7573cc8367e03014e204df39e05c9a","ref":"refs/heads/main","pushedAt":"2024-07-17T02:19:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"ci: remove dist directory\n\nAlso, bump setup-go action to v5.\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"ci: remove dist directory"}},{"before":"b5aae0147e8d57a6ad40fc9dd74eb6c947c6dacf","after":"1e7f29d9a1ac9205b2c0fb286850607313136b3b","ref":"refs/heads/main","pushedAt":"2024-07-17T02:01:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"chore: bump go version to v1.22\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"chore: bump go version to v1.22"}},{"before":"5d790ef8e78d557eaa4eab100098a2dd5d5c5d90","after":"b5aae0147e8d57a6ad40fc9dd74eb6c947c6dacf","ref":"refs/heads/main","pushedAt":"2024-04-25T14:05:25.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"build: consolidate different package targets\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"build: consolidate different package targets"}},{"before":"7e9159df184241e39fb95d91d2a027edbfebc437","after":"5d790ef8e78d557eaa4eab100098a2dd5d5c5d90","ref":"refs/heads/main","pushedAt":"2024-03-12T03:11:00.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix(webhook): revert runtime decision of service cidr\n\nIt's overkill to retrieve the cluster's service CIDR in runtime since\nit's rarely changed and almost the same in every Harvester deployment.\nRevert the relevant code and let users to input the service CIDR string\nfrom the webhook's command line argument to remain flexibility. The\ndefault value is still `10.53.0.0/16`.\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix(webhook): revert runtime decision of service cidr"}},{"before":"208a3d2e53a60ea0e43c69a7c269c48d4f5cf0d6","after":"7e9159df184241e39fb95d91d2a027edbfebc437","ref":"refs/heads/main","pushedAt":"2024-03-11T02:33:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix: handle server-ip-within-range case correctly\n\nIf the server IP is within the allocatable pool range, it will be marked\nas \"RESERVED\" and honored by the webhook and controller's cache-builder\nreconciliation loop.\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix: handle server-ip-within-range case correctly"}},{"before":"ecc968204cd31c80cddab136fff28195ec943687","after":"208a3d2e53a60ea0e43c69a7c269c48d4f5cf0d6","ref":"refs/heads/main","pushedAt":"2024-02-28T08:36:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix(webhook): check if pool overlaps service cidr\n\nIf the input CIDR overlaps the cluster-wide\nservice CIDR, the spawned agent could not contact\nkube-apiserver due to routing issue. Such requests\nshould be rejected by the webhook.\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix(webhook): check if pool overlaps service cidr"}},{"before":"8a91b61a8a395f4f6837ee2965bf832f3f1e722c","after":"ecc968204cd31c80cddab136fff28195ec943687","ref":"refs/heads/main","pushedAt":"2024-02-26T08:46:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bk201","name":"Kiefer Chang","path":"/bk201","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1691518?s=80&v=4"},"commit":{"message":"test: fix unit tests and add build stats\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"test: fix unit tests and add build stats"}},{"before":"e401ece0bcf179655c571adc6f1f2db64ec18f27","after":"8a91b61a8a395f4f6837ee2965bf832f3f1e722c","ref":"refs/heads/main","pushedAt":"2024-02-26T03:51:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"feat(ippool): add serverIP, start, and end fields if missing\n\nIf IPPool object is created without explicitly specified the serverIP,\nthe start and end IP of the pool, the IPPool mutator will try to assign\nIPs to them. Also, if the serverIP or router is within the pool range,\ni.e., in between the start and end IPs, those IPs will then be marked\nas \"RESERVED\" (by the controller) and will not be allocatable.\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"feat(ippool): add serverIP, start, and end fields if missing"}},{"before":"23325e920f7f86474489734be95fe64c5bbc6b8e","after":"e401ece0bcf179655c571adc6f1f2db64ec18f27","ref":"refs/heads/main","pushedAt":"2024-02-26T02:55:09.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"doc: add comments for major ippool reconcile loops\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"doc: add comments for major ippool reconcile loops"}},{"before":"8141583a829973010961910ba8a895122e815d26","after":"23325e920f7f86474489734be95fe64c5bbc6b8e","ref":"refs/heads/main","pushedAt":"2024-02-22T09:15:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"Replace tab to space\n\nSigned-off-by: Jian Wang ","shortMessageHtmlLink":"Replace tab to space"}},{"before":"a8ea464f14db85849c803a7641cd292da43e18ea","after":"8141583a829973010961910ba8a895122e815d26","ref":"refs/heads/main","pushedAt":"2024-02-19T03:22:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix(crd): add missing generated crd fields\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix(crd): add missing generated crd fields"}},{"before":"19f246c66d2a1aec31d65ee92d7bb5b64e773c9f","after":"a8ea464f14db85849c803a7641cd292da43e18ea","ref":"refs/heads/main","pushedAt":"2024-02-16T03:57:17.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"refactor: improve vmnetcfg allocate reconcile loop\n\nSigned-off-by: Zespre Chang \nCo-authored-by: Jack Yu ","shortMessageHtmlLink":"refactor: improve vmnetcfg allocate reconcile loop"}},{"before":"be8704531f759e3609eb8b70ee515bff9e636bb8","after":"19f246c66d2a1aec31d65ee92d7bb5b64e773c9f","ref":"refs/heads/main","pushedAt":"2024-02-16T03:23:53.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix(webhook): validate pool-related inputs\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix(webhook): validate pool-related inputs"}},{"before":"88e708b2b8fe7f5961afca7727fe48a2a9119bba","after":"be8704531f759e3609eb8b70ee515bff9e636bb8","ref":"refs/heads/main","pushedAt":"2024-02-15T15:38:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix: check agent existence before creating\n\nMinimizing the unnecessary api calls to kube-apiserver to reduce the\noverhead.\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix: check agent existence before creating"}},{"before":"6fa17f3347d3d94f52ceea82dfea1916301cff9e","after":"88e708b2b8fe7f5961afca7727fe48a2a9119bba","ref":"refs/heads/main","pushedAt":"2024-02-07T10:20:23.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix: handle normal teardown procedure\n\nSigned-off-by: Zespre Chang \nCo-authored-by: Jack Yu ","shortMessageHtmlLink":"fix: handle normal teardown procedure"}},{"before":"e9022310f7428fffe38e6435d55a9423187b99f9","after":"6fa17f3347d3d94f52ceea82dfea1916301cff9e","ref":"refs/heads/main","pushedAt":"2024-02-07T00:10:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"feat: recreate agent pods if agent image is updated\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"feat: recreate agent pods if agent image is updated"}},{"before":"ef900c6bcf6e16b31edec39152383aea4524867f","after":"e9022310f7428fffe38e6435d55a9423187b99f9","ref":"refs/heads/main","pushedAt":"2024-02-06T09:42:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bk201","name":"Kiefer Chang","path":"/bk201","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1691518?s=80&v=4"},"commit":{"message":"fix: ensure safe names for generated agent pods\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix: ensure safe names for generated agent pods"}},{"before":"c34d11ad0febe8c8f42946af0f19d4c1d6c8413f","after":"ef900c6bcf6e16b31edec39152383aea4524867f","ref":"refs/heads/main","pushedAt":"2024-01-30T04:23:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"tidy up dependencies to address go list errors","shortMessageHtmlLink":"tidy up dependencies to address go list errors"}},{"before":"29e1f476ebda1d42663ec1400836b0096b30f662","after":"c34d11ad0febe8c8f42946af0f19d4c1d6c8413f","ref":"refs/heads/main","pushedAt":"2024-01-29T03:27:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"chore(crd): distill crd manifests\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"chore(crd): distill crd manifests"}},{"before":"9cc6a1848581ce443ba7d6d155cfcc2ac9e81128","after":"29e1f476ebda1d42663ec1400836b0096b30f662","ref":"refs/heads/main","pushedAt":"2024-01-26T01:56:02.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix(chart): refine validationwebhookconfig rbac\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix(chart): refine validationwebhookconfig rbac"}},{"before":"c6b6c5dbca18a2e7ce48daa0fe106d5ac367b0bb","after":"9cc6a1848581ce443ba7d6d155cfcc2ac9e81128","ref":"refs/heads/main","pushedAt":"2024-01-25T17:00:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix(crd): add missing paused field in vmnetcfg\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix(crd): add missing paused field in vmnetcfg"}},{"before":"a57e5b48d03a529b7f5578a11a39fbd2098a899f","after":"c6b6c5dbca18a2e7ce48daa0fe106d5ac367b0bb","ref":"refs/heads/main","pushedAt":"2024-01-25T16:11:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix: reduce the required permissions in RBAC rules\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix: reduce the required permissions in RBAC rules"}},{"before":"6fe1ae0afdb7f40fe0614e8a50686fbf91fc5ea4","after":"a57e5b48d03a529b7f5578a11a39fbd2098a899f","ref":"refs/heads/main","pushedAt":"2024-01-25T10:58:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix: change condition name for ippool\n\nBefore the fix, it was called \"Disabled\", and it's the same as\nVirtualMachineNetworkConfig. Correct it to \"Stopped\".\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix: change condition name for ippool"}},{"before":"ec9367cfc59e81fabe6a1a2b7665b69fb5cd44a6","after":"6fe1ae0afdb7f40fe0614e8a50686fbf91fc5ea4","ref":"refs/heads/main","pushedAt":"2024-01-25T10:26:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"test: add vmnetcfg tests\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"test: add vmnetcfg tests"}},{"before":"005fc3e002cc206f8c0a31f6f216640222348e0e","after":"ec9367cfc59e81fabe6a1a2b7665b69fb5cd44a6","ref":"refs/heads/main","pushedAt":"2024-01-24T15:29:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"refactor: use all zero ip from net package\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"refactor: use all zero ip from net package"}},{"before":"015818d115076079cf6899f03211f05af8196ce4","after":"005fc3e002cc206f8c0a31f6f216640222348e0e","ref":"refs/heads/main","pushedAt":"2024-01-23T04:05:12.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"test(ippool): add tests for other reconcile loops\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"test(ippool): add tests for other reconcile loops"}},{"before":"303b6c89e308fef3e5758eba8fb709d586145f43","after":"015818d115076079cf6899f03211f05af8196ce4","ref":"refs/heads/main","pushedAt":"2024-01-22T05:22:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix: bump harvester-webhook\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix: bump harvester-webhook"}},{"before":"733fe3d799b3e072e9590390f830828f20755fc4","after":"303b6c89e308fef3e5758eba8fb709d586145f43","ref":"refs/heads/main","pushedAt":"2024-01-22T05:07:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"fix(crd): remove additional comment mark\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"fix(crd): remove additional comment mark"}},{"before":"e6a77dd3918a23a8929f0e016d8568f17581e28a","after":"733fe3d799b3e072e9590390f830828f20755fc4","ref":"refs/heads/main","pushedAt":"2024-01-22T04:51:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"starbops","name":"Zespre Chang","path":"/starbops","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1827717?s=80&v=4"},"commit":{"message":"feat(controller): support vmnetcfg disabled mode\n\nWhen an VirtualMachineNetworkConfig is disabled, it will free up the\nslot it occupied in IPAM and remove the MAC cache entry. Also, the\nreferencing IPPool's status will be updated. However, the allocation\nrecord still remain on its status field. When the\nVirtualMachineNetworkConfig is enabled again, the same IP address will\nbe allocated.\n\nSigned-off-by: Zespre Chang ","shortMessageHtmlLink":"feat(controller): support vmnetcfg disabled mode"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xN1QwOToyNzo0Mi4wMDAwMDBazwAAAASBpat4","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xN1QwOToyNzo0Mi4wMDAwMDBazwAAAASBpat4","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0yMlQwNDo1MToxOC4wMDAwMDBazwAAAAPleTgs"}},"title":"Activity ยท harvester/vm-dhcp-controller"}