Skip to content

Conversation

@ldez
Copy link
Member

@ldez ldez commented Jul 13, 2025

Currently, we cannot update to the latest version of github.com/civo/civogo because it has dependencies on k8s.

The k8s dependencies are intricate inside the official client, I didn't find an easy forking automation to remove the dependencies.

It's useless to depend on the official client because we cannot follow it, so we will not be able to get bug fixes.

We can use a thin client based on the API documentation.

I did the migration step by step (one commit per step):

  1. Create tests on the current DNSProvider by using the new mock system and using data from the API documentation to create fixture files.
  2. Create a new client based on the tests created during the first step and the API documentation.
  3. Replace the official client with the internal client.
  4. Clean fixture files.

Each step/commit works (build and tests); there is no partial state to ensure no regression.

Copy link
Member

@dmke dmke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ldez ldez force-pushed the feat/dns/civo-thin branch from e3c88a5 to 46b60bb Compare July 13, 2025 16:11
@ldez ldez enabled auto-merge (squash) July 13, 2025 16:11
@ldez ldez merged commit 1742e6d into go-acme:master Jul 13, 2025
7 checks passed
@ldez ldez deleted the feat/dns/civo-thin branch July 13, 2025 16:27
@ldez ldez added this to the unreleased milestone Jul 13, 2025
@ldez ldez modified the milestones: unreleased, v4.25 Jul 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants