The following software are required for local development.
- Go Programming Language
- Docker
- Python
- Run the following command to install GCC Compiler on Linux:
sudo apt-get update && sudo apt-get install build-essential -y
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>
Refer to Cloud Storage FUSE CSI Driver Manual Installation documentation.
Refer to Test documentation.
Follow the following steps to update go modules:
- Open the go.mod file in Visual Studio Code.
- Click "Check for upgrades" above the first
require
block. - Hover over the module with available upgrade. Click "Quick Fix" to apply the upgrade.
- If you upgraded any
k8s.io
modules, make sure the version is also updated in thereplace
block. You need to do this step because lack of semantic versioning preventsgo mod
from finding newer releases. - Run
go mod tidy
to ensure that the listed dependencies are really still needed. - Run
go mod vendor
to update vendor directory. - Resolve any issues that may be introduced by the new modules.
Refer to Troubleshooting documentation.