Skip to content

Latest commit

 

History

History
executable file
·
66 lines (46 loc) · 2.64 KB

development.md

File metadata and controls

executable file
·
66 lines (46 loc) · 2.64 KB

Cloud Storage FUSE CSI Driver Development Guide

Prerequisite

The following software are required for local development.

Build

Run the following command to build and push the images.

# BUILD_GCSFUSE_FROM_SOURCE=true: Required. You have to build the gcsfuse binary from source code as well.
# REGISTRY=<your-container-registry>: Required. Define your container registry. Make sure you have logged in your registry so that you have image pull/push permissions.
# STAGINGVERSION=<staging-version>: Optional. Define a build version. If not defined, a staging version will be generated based on the commit hash.
make build-image-and-push-multi-arch BUILD_GCSFUSE_FROM_SOURCE=true REGISTRY=<your-container-registry> STAGINGVERSION=<staging-version>

Manual installation

Refer to Cloud Storage FUSE CSI Driver Manual Installation documentation.

Test

Refer to Test documentation.

Update go modules

Follow the following steps to update go modules:

  1. Open the go.mod file in Visual Studio Code.
  2. Click "Check for upgrades" above the first require block.
  3. Hover over the module with available upgrade. Click "Quick Fix" to apply the upgrade.
  4. If you upgraded any k8s.io modules, make sure the version is also updated in the replace block. You need to do this step because lack of semantic versioning prevents go mod from finding newer releases.
  5. Run go mod tidy to ensure that the listed dependencies are really still needed.
  6. Run go mod vendor to update vendor directory.
  7. Resolve any issues that may be introduced by the new modules.

Troubleshooting

Refer to Troubleshooting documentation.