Skip to content

Version the CSI package name #194

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

Conversation

akutz
Copy link
Contributor

@akutz akutz commented Feb 16, 2018

This patch fixes issue #193 and adds changes the CSI package name from csi to csi.vMAJOR(MINOR)? where MINOR is added if MAJOR is 0. For example:

Version Package Name
v0.2.0 csi.v02
v2.1.0 csi.v2

The leading zero and subsequent MINOR component is necessary to prevent collision with the eventual releases v1.0, v2.0, etc.

Accessing Older Spec and Language Binding Files

Please note this patch does not address accessing older versions of the specification. The generated files such as csi.proto and lib/go/csi/csi.pb.go are not in versioned paths or have versioned file names. This is on purpose. Maintaining all previous versions at the HEAD of the repository would result in a convoluted generation process as well as questions about whether lib/go/csi/v2 is v2.0, v2.1.5, v2.3, etc.

People that wish to access older versions of the specification can do so by using git or GitHub's UI to fetch a specific tag or commit and manually copying the protobuf or language binding locally.

At least that's my thought on the matter. I elected to keep it simple (for now).

This patch fixes issue container-storage-interface#193 and adds changes the CSI package name from
`csi` to `csi.vMAJOR(MINOR)?` where `MINOR` is added if `MAJOR` is `0`.
For example:

        v0.2.0 -> csi.v02
        v2.1.0 -> csi.v2

The leading zero and subsequent `MINOR` component is necessary to
prevent collision with the eventual `v1.0`, `v2.0`, etc. releases.
@akutz akutz changed the title Include part of the version in CSI package name Version the CSI package name Feb 16, 2018
@akutz
Copy link
Contributor Author

akutz commented Feb 16, 2018

Please note that this affects all languages, not just Go, since the protobuf type names now include the version. For example, csi.v02.CreateVolumeRequest.

@akutz
Copy link
Contributor Author

akutz commented Feb 16, 2018

Replaced by #195.

@akutz akutz closed this Feb 16, 2018
@akutz akutz deleted the feature/versioned-api-package branch February 16, 2018 16:42
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 this pull request may close these issues.

1 participant