Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Dependency incompatibility in services using helm library #4063

Closed
bacherfl opened this issue May 12, 2021 · 1 comment · Fixed by #4164
Closed

Dependency incompatibility in services using helm library #4063

bacherfl opened this issue May 12, 2021 · 1 comment · Fixed by #4164
Assignees
Milestone

Comments

@bacherfl
Copy link
Member

bacherfl commented May 12, 2021

We are having problems when we try to update kubernetes related libraries, such as

k8s.io/api 
k8s.io/apimachinery 
k8s.io/cli-runtime 
k8s.io/client-go 
k8s.io/kubectl 

These problems occur in services that have a dependency to the helm.sh/helm library, and the main reason for that being the following replace that needs to be added if the helm library needs to be used.

github.com/Azure/go-autorest => github.com/Azure/go-autorest v13.3.2+incompatible

This is a problem especially because the keptn/kubernetes-utils also have a dependency to helm, and is used by quite a lot of services.

Therefore, we will need to evaluate which of the services that are using the kubernetes-utils actually need the helm library, and which services do not require helm.
Further, if a service only uses the kubernetes-utils to, e.g. initialize a K8s client object, the dependency to the kubernetes-utils might also be omitted in the respective service.

Note: The lates version of helm, v3.5.4 does have another replacedirective, and does not seem to use github.com/Azure/go-autorest anymore: https://github.com/helm/helm/blob/v3.5.4/go.mod - so maybe upgrading the helm v3.5.4 in services that are using this library might already help to relieve that problem to some extend.

Also, a lot of incompatibilities seem to be caused by openapi dependencies, such as in the go.mod file of the keptn/go-utils:

github.com/go-openapi/errors v0.20.0
github.com/go-openapi/strfmt v0.20.1
github.com/go-openapi/swag v0.19.14
github.com/go-openapi/validate v0.20.2

We should go through all services (especially the go-utils) and check whether we really need those dependencies. If not, we should remove them.

@bacherfl bacherfl added the ready-for-refinement Issue is relevant for the next backlog refinment label May 18, 2021
@warber
Copy link
Contributor

warber commented May 18, 2021

This issue is timeboxed to: 1d

@johannes-b johannes-b added this to the 0.9.0 milestone May 20, 2021
@johannes-b johannes-b added next-sprint Items that should be discussed and implemented in the next sprint and removed ready-for-refinement Issue is relevant for the next backlog refinment labels May 20, 2021
@bacherfl bacherfl self-assigned this May 25, 2021
@johannes-b johannes-b removed the next-sprint Items that should be discussed and implemented in the next sprint label May 25, 2021
bacherfl added a commit that referenced this issue May 26, 2021
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
bacherfl added a commit that referenced this issue May 26, 2021
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
bacherfl added a commit that referenced this issue May 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants