Goals:
- 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)
- Put up barriers to breaking changes. Once we reach v1.0.0, we MUST avoid breaking changes.
Breaking changes include:
- 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.
- Anything that would cause Kubernetes clients to experience a breaking change when interacting with instances of our CRD via the Kubernetes apiserver.
Goals:
Breaking changes include:
go-apidiffjob to fail. (see separate issues related to moving non-API Go code to an internal tree). The APIs will remain exported, so thego-apidiffjob will ensure that our Go code defining the APIs is not breaking from a Go perspective.