- 
                Notifications
    
You must be signed in to change notification settings  - Fork 199
 
Description
The repository has released versions up to v4.x (e.g., v4.8.1), but the go.mod file still specifies the module path as:
module github.com/kubernetes-csi/external-attacher
According to Go's module versioning guidelines, modules with major versions v2 and above should include the major version in the module path (e.g., github.com/kubernetes-csi/external-attacher/v4).
This discrepancy leads to issues when using Go tooling. For instance, running:
go get github.com/kubernetes-csi/[email protected]
results in errors or unexpected behavior because the module path doesn't match the versioned import path expected by Go. PFA attached screenshot below
This affects developers who rely on tooling related to Go proxy to automate their go module upgrades, as it complicates the process of fetching and integrating the latest versions of external-attacher.
Proposed Solution
To align with Go's module versioning requirements and ensure compatibility:
- 
Update the Module Path: Modify the go.mod file to reflect the major version, changing the module path to:
module github.com/kubernetes-csi/external-attacher/v4 - 
Adjust Import Paths: Update all internal and external import paths within the repository to use the new module path with the /v4 suffix.
 - 
Tag a New Release: After making these changes, tag a new release (e.g., v4.8.2) to provide a clear version point for users.
 
Implementing these changes will help developers seamlessly integrate external-attacher into their projects using standard Go tooling.