Skip to content

basantsa1989/cloud-provider-gcp

This branch is 649 commits behind kubernetes/cloud-provider-gcp:master.

Folders and files

NameName
Last commit message
Last commit date
Jul 8, 2022
Aug 30, 2022
Aug 15, 2022
Jul 22, 2021
Jul 8, 2022
Jul 4, 2022
Aug 29, 2022
Aug 1, 2022
Apr 27, 2021
Jun 16, 2020
Jul 8, 2022
Jul 8, 2022
Jul 22, 2021
Feb 9, 2022
Sep 28, 2018
Mar 22, 2019
Jul 19, 2018
Mar 21, 2018
Jun 27, 2022
Dec 13, 2021
Mar 13, 2020
Jul 8, 2022
Aug 2, 2018
Jul 8, 2022
Jul 8, 2022

Repository files navigation

cloud-provider-gcp

Publishing gcp-controller-manager image

This command will build and publish gcr.io/k8s-image-staging/gcp-controller-manager:latest:

bazel run //cmd/gcp-controller-manager:publish

Environment variables IMAGE_REGISTRY, IMAGE_REPO and IMAGE_TAG can be used to override destination GCR repository and tag.

This command will build and publish example.com/my-repo/gcp-controller-manager:v1:

IMAGE_REGISTRY=example.com IMAGE_REPO=my-repo IMAGE_TAG=v1 bazel run //cmd/gcp-controller-manager:publish

Cross-compiling

Selecting the target platform is done with the --platforms option with bazel. This command builds release tarballs for Windows:

bazel build --platforms=@io_bazel_rules_go//go/toolchain:windows_amd64 //release:release-tars

This command explicitly targets Linux as the target platform:

bazel build --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //release:release-tars

Dependency management

Dependencies are managed using Go modules (go mod subcommands).

Note that builds are done with Bazel and not the Go tool. Don't follow public Go module docs, instead use instructions in this readme.

Working within GOPATH

If you work within GOPATH, go mod will error out unless you do one of:

  • move repo outside of GOPATH (it should "just work")
  • set env var GO111MODULE=on

Add a new dependency

go get github.com/new/dependency && ./tools/update_vendor.sh

Update an existing dependency

go get -u github.com/existing/dependency && ./tools/update_vendor.sh

Update all dependencies

go get -u && ./tools/update_vendor.sh

Note that this most likely won't work due to cross-dependency issues or repos not implementing modules correctly.

Bazel

Bazel is required to build and release cloud-provider-gcp.

To install:

go get github.com/bazelbuild/bazelisk
alias bazel=bazelisk

To re-generate BUILD files:

tools/update_bazel.sh

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 57.6%
  • Shell 32.4%
  • PowerShell 6.6%
  • Starlark 3.0%
  • Makefile 0.2%
  • Dockerfile 0.1%
  • sed 0.1%