From db685eb2f7927b212b77b1a0cd913fc31867aae3 Mon Sep 17 00:00:00 2001 From: Thomas Guettler Date: Wed, 5 Nov 2025 15:07:35 +0100 Subject: [PATCH 1/2] :book: Compare our fork with upstream. --- README.md | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 5c9f65be9..e8c8b838e 100644 --- a/README.md +++ b/README.md @@ -17,23 +17,18 @@ Instead we plan to create PRs in upstream, so that our fork is no longer needed. Features/PRs which are different in our fork. We should create PRs in upstream for these: -* [separate user agent from HCCM](https://github.com/syself/hetzner-cloud-controller-manager/pull/42): Make this configurable in upstream. -* [ROBOT_DEBUG, show stacktrace on api-calls](https://github.com/syself/hetzner-cloud-controller-manager/pull/41>) Via ROBOT_DEBUG show every stack-trace which uses the robot-API (to debug why rate-limiting was reached) -* [PR add version information to the controller binary](https://github.com/syself/hetzner-cloud-controller-manager/pull/28): Build process is different in upstream. -* [PR Add Github WF for releasing](https://github.com/syself/hetzner-cloud-controller-manager/pull/29) -* [PR entrypoint in container image](https://github.com/syself/hetzner-cloud-controller-manager/pull/25) +* [PR hotreload credentials, when mounted secret changed](https://github.com/syself/hetzner-cloud-controller-manager/pull/49) * [PR rate limiting hcloud](https://github.com/syself/hetzner-cloud-controller-manager/pull/20) -* Upstream has three `ServerGetList` implementations: cache, rate-limited, mock. Our fork has two: mock, cached. -Additional PRs we should create in upstream, so that we can use upstream instead our fork: +Less important features in our fork, which are not in upstream: -* Make ProviderID configurable (hrobot://NNN vs hcloud://bm-NNN) -* Sort Go imports -* Compare linters of upstream with the linters of our other repos. +* [ROBOT_DEBUG, show stacktrace on api-calls](https://github.com/syself/hetzner-cloud-controller-manager/pull/41) Via ROBOT_DEBUG show every stack-trace which uses the robot-API (to debug why rate-limiting was reached) +* [PR add version information to the controller binary](https://github.com/syself/hetzner-cloud-controller-manager/pull/28): Build process is different in upstream. +* Upstream has three `ServerGetList` implementations: cache, rate-limited, mock. Our fork has two: mock, cached. PRs which are **not** needed in upstream, because upstream has this feature: -* [PR hotreload credentials, when mounted secret changed](https://github.com/syself/hetzner-cloud-controller-manager/pull/49) +* [separate user agent from HCCM](https://github.com/syself/hetzner-cloud-controller-manager/pull/42): Make this configurable in upstream. * [PR getInstanceTypeOfRobotServer: convert invalid characters to dashes](https://github.com/syself/hetzner-cloud-controller-manager/pull/40) * [Make robot client optional for lb client](https://github.com/syself/hetzner-cloud-controller-manager/pull/37): upstream uses ROBOT_ENABLED. We need to set that env var. * [Fix InstanceExists for baremetal servers, check node name](https://github.com/syself/hetzner-cloud-controller-manager/pull/32) @@ -42,8 +37,6 @@ PRs which are **not** needed in upstream, because upstream has this feature: * [robot cache](https://github.com/syself/hetzner-cloud-controller-manager/pull/19) * [Support for robot](https://github.com/syself/hetzner-cloud-controller-manager/pull/1) -If you update the Syself fork, please create two PRs for version updates and code updates. Mixing both in one PR makes things harder to understand. - Files moved by upstream in their fork: * internal/robot/client/cache/client.go (from Janis Okt 2023) --> internal/robot/cache.go (by Julian Nov 2023) @@ -54,10 +47,6 @@ Files moved by upstream in their fork: How to keep our fork up to date: Check which changes were done in upstream. Pick indivual features, if they make sense for us. If unsure, don't pick a feature. Instead try to get our features into upstream, and update or dependencies. -TODO: - -* from quay.io to ghcr.io - ## Installing Syself CCM ```sh From e519416815fb0e547025d96ed269086e425c7a01 Mon Sep 17 00:00:00 2001 From: Thomas Guettler Date: Wed, 5 Nov 2025 15:58:44 +0100 Subject: [PATCH 2/2] pr title was slightly wrong. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e8c8b838e..fb2d6db9e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Instead we plan to create PRs in upstream, so that our fork is no longer needed. Features/PRs which are different in our fork. We should create PRs in upstream for these: * [PR hotreload credentials, when mounted secret changed](https://github.com/syself/hetzner-cloud-controller-manager/pull/49) -* [PR rate limiting hcloud](https://github.com/syself/hetzner-cloud-controller-manager/pull/20) +* [PR create events, when robot rate-limit was reached](https://github.com/syself/hetzner-cloud-controller-manager/pull/20) Less important features in our fork, which are not in upstream: