Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review the Need for the Dynamic-Client #24

Closed
otaviof opened this issue Jun 17, 2021 · 5 comments · Fixed by #36
Closed

Review the Need for the Dynamic-Client #24

otaviof opened this issue Jun 17, 2021 · 5 comments · Fixed by #36
Assignees

Comments

@otaviof
Copy link
Member

otaviof commented Jun 17, 2021

During the bootstrap of this project we thought the dynamic-client would be useful at some point, so this CLI project would not have to import all Kubernetes typed clients. However, in practice we do import Shipwright types (in go.mod), and we only rely on core/v1, so in other words, all types we need are already present.

Later on #19, we notice a change in the test behavior, which implies more effort on testing and making sure the results are adequate.

With that said, should we retire the dynamic-client, make sure we refactor this in an early project phase?

@imjasonh
Copy link

+1 to using typed clients, since we know ahead of time what types we expect to use. I'm not sure the flexibility of the dynamic client is buying us anything, and it's introducing weird test behavior, so let's drop it.

@imjasonh
Copy link

cc @alicerum @adambkaplan

@alicerum
Copy link
Member

+1 from me for the typed clients. Dynamic ones are awesome for apps like kubectl that need to work with unknown types. For us it's close to 0 benefits.

@adambkaplan
Copy link
Member

Likewise a +1 to using the typed client, which we generate in shipwright-io/build and we already pull in as a dependency.

Note that if we find ourselves having harder dependencies on Tekton, we may need to pull in the pipeline client as a dependency. This isn't the case today, and may never be an issue (by way of example - the PRs for fetching logs bypass Tekton and go straight to the underlying pod).

@gabemontero
Copy link
Member

@otaviof unless you had a branch you are close to publishing for this, I'll take this on with my next "Gabe's set of available cycles for shipwright" work.

Probably can start next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants