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

Establish home for v1.0.0 Go APIs #1156

Open
Tracked by #1253
joelanford opened this issue Aug 20, 2024 · 2 comments
Open
Tracked by #1253

Establish home for v1.0.0 Go APIs #1156

joelanford opened this issue Aug 20, 2024 · 2 comments

Comments

@joelanford
Copy link
Member

Goals:

  1. Eliminate current and prevent future side effects of dependency imports when importing APIs. (for example: see https://github.com/openshift/enhancements/blob/master/dev-guide/api-conventions.md#no-functions)
  2. Put up barriers to breaking changes. Once we reach v1.0.0, we MUST avoid breaking changes.

Breaking changes include:

  1. Anything that causes the go-apidiff job to fail. (see separate issues related to moving non-API Go code to an internal tree). The APIs will remain exported, so the go-apidiff job will ensure that our Go code defining the APIs is not breaking from a Go perspective.
  2. Anything that would cause Kubernetes clients to experience a breaking change when interacting with instances of our CRD via the Kubernetes apiserver.
@joelanford joelanford added epic v1.0 Issues related to the initial stable release of OLMv1 labels Aug 20, 2024
@joelanford
Copy link
Member Author

joelanford commented Sep 17, 2024

To enshrine goal (1) in our codebase, we could implement a test that enforces a specific set of imports. Any future PR that wants to import a new import path would need to also modify our list of allowed import paths in our API.

I would anticipate that that list would start out as k8s.io/apimachinery.

Perhaps https://golangci-lint.run/usage/linters/#depguard would help.

@LalatenduMohanty
Copy link
Member

As discussed in the community meeting we are changing this to an issue (from an epic) and will make it part of #1253

@LalatenduMohanty LalatenduMohanty changed the title [epic] Establish home for v1.0.0 Go APIs Establish home for v1.0.0 Go APIs Oct 1, 2024
@LalatenduMohanty LalatenduMohanty removed the v1.0 Issues related to the initial stable release of OLMv1 label Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

2 participants