Skip to content

Use golang/protobuf instead of gogo/protobuf #992

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

Draft
wants to merge 51 commits into
base: develop
Choose a base branch
from

Conversation

ebroberson
Copy link
Contributor

@ebroberson ebroberson commented Feb 14, 2025

Summary

gogo/protobuf has been deprecated for years. We should be using up-to-date protobufs provided by google.golang.org/protobuf. In order to fit our use cases, a protobuf plugin (protoc-gen-go-bbs) has been created to catch any customizations we want to add.

Submodule Pull Requests (please do these first)

cloudfoundry/auctioneer#20
cloudfoundry/bbs#109
cloudfoundry/cfdot#14
cloudfoundry/executor#116
cloudfoundry/inigo#50
cloudfoundry/locket#27
cloudfoundry/rep#67
cloudfoundry/route-emitter#50
cloudfoundry/routing-api#69
cloudfoundry/routing-info#8
cloudfoundry/vizzini#15

Backward Compatibility

Breaking Change? No

ebroberson and others added 14 commits February 7, 2025 22:12
go mod tidy && go mod vendor
Bump bbs (merge issues)
Fix issues from linters
Bump executor (staticcheck SetNproc)
Remove golang 1.22
Submodule src/code.cloudfoundry.org/credhub-cli 329c0d63b..5af5e1820:
  > Bump go modules
--------

index d7b4323..c7626ce 100644
@@ -18,31 +18,31 @@ replace (

 	code.cloudfoundry.org/archiver v0.26.0
-	code.cloudfoundry.org/bytefmt v0.28.0
+	code.cloudfoundry.org/bytefmt v0.29.0
 	code.cloudfoundry.org/cacheddownloader v0.0.0-20241210011823-7ae5910b9f48
-	code.cloudfoundry.org/certsplitter v0.38.0
-	code.cloudfoundry.org/cf-routing-test-helpers v0.0.0-20241025163157-ce30ff0fff6d
+	code.cloudfoundry.org/certsplitter v0.39.0
+	code.cloudfoundry.org/cf-routing-test-helpers v0.0.0-20250205194842-92b089ca98e3
 	code.cloudfoundry.org/cf-tcp-router v0.0.0-20241025163552-3216bbbc1656
-	code.cloudfoundry.org/cfhttp/v2 v2.33.0
+	code.cloudfoundry.org/cfhttp/v2 v2.34.0
 	code.cloudfoundry.org/clock v1.28.0
 	code.cloudfoundry.org/cnbapplifecycle v0.0.5
-	code.cloudfoundry.org/credhub-cli v0.0.0-20250203140928-329c0d63b022
-	code.cloudfoundry.org/debugserver v0.36.0
-	code.cloudfoundry.org/diego-logging-client v0.41.0
-	code.cloudfoundry.org/dockerdriver v0.36.0
-	code.cloudfoundry.org/durationjson v0.29.0
-	code.cloudfoundry.org/eventhub v0.28.0
+	code.cloudfoundry.org/credhub-cli v0.0.0-20250210140307-5af5e1820968
+	code.cloudfoundry.org/debugserver v0.37.0
+	code.cloudfoundry.org/diego-logging-client v0.42.0
+	code.cloudfoundry.org/dockerdriver v0.37.0
+	code.cloudfoundry.org/durationjson v0.30.0
+	code.cloudfoundry.org/eventhub v0.29.0
 	code.cloudfoundry.org/garden v0.0.0-20250204164024-2360009b9575
 	code.cloudfoundry.org/go-loggregator/v9 v9.2.1
-	code.cloudfoundry.org/goshims v0.59.0
-	code.cloudfoundry.org/guardian v0.0.0-20250203212249-209fc11dcd6b
-	code.cloudfoundry.org/lager/v3 v3.25.0
-	code.cloudfoundry.org/localip v0.29.0
-	code.cloudfoundry.org/tlsconfig v0.17.0
+	code.cloudfoundry.org/goshims v0.60.0
+	code.cloudfoundry.org/guardian v0.0.0-20250205022619-e7a0755c4c24
+	code.cloudfoundry.org/lager/v3 v3.26.0
+	code.cloudfoundry.org/localip v0.30.0
+	code.cloudfoundry.org/tlsconfig v0.18.0
 	github.com/GaryBoone/GoStats v0.0.0-20130122001700-1993eafbef57
 	github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b
 	github.com/aws/aws-sdk-go v1.55.6
-	github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20250127194757-14dfc70fe71c
+	github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20250206222449-6540026091fe
 	github.com/cactus/go-statsd-client v3.1.1-0.20161031215955-d8eabe07bc70+incompatible
 	github.com/cespare/xxhash/v2 v2.3.0
 	github.com/cloudfoundry-community/go-uaa v0.3.3
 	github.com/ghodss/yaml v1.0.0
 	github.com/go-sql-driver/mysql v1.8.1
 	github.com/go-test/deep v1.1.1
-	github.com/gogo/protobuf v1.3.2
 	github.com/golang-jwt/jwt/v4 v4.5.1
 	github.com/golang/protobuf v1.5.4
 	github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
 	github.com/mitchellh/hashstructure v1.1.0
 	github.com/moby/term v0.5.2
 	github.com/nats-io/nats-server/v2 v2.10.25
-	github.com/nats-io/nats.go v1.38.0
+	github.com/nats-io/nats.go v1.39.0
 	github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d
 	github.com/onsi/ginkgo/v2 v2.22.2
 	github.com/onsi/gomega v1.36.2
 	github.com/tedsuo/ifrit v0.0.0-20230516164442-7862c310ad26
 	github.com/tedsuo/rata v1.0.0
 	github.com/vito/go-sse v1.1.2
-	golang.org/x/crypto v0.32.0
-	golang.org/x/net v0.34.0
-	golang.org/x/oauth2 v0.25.0
+	golang.org/x/crypto v0.33.0
+	golang.org/x/net v0.35.0
+	golang.org/x/oauth2 v0.26.0
 	golang.org/x/sys v0.30.0
-	golang.org/x/time v0.9.0
+	golang.org/x/time v0.10.0
 	google.golang.org/grpc v1.70.0
-	google.golang.org/protobuf v1.36.4
+	google.golang.org/protobuf v1.36.5
 	gopkg.in/yaml.v2 v2.4.0
 	gopkg.in/yaml.v3 v3.0.1
go mod tidy && go mod vendor
Copy link

linux-foundation-easycla bot commented Feb 14, 2025

@@ -5,39 +5,39 @@
[submodule "src/code.cloudfoundry.org/bbs"]
path = src/code.cloudfoundry.org/bbs
url = https://github.com/cloudfoundry/bbs
branch = main
branch = protobuf-with-plugin
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should all get updated back to main before merging

@@ -1,12 +1,8 @@
builds:
03d4b9d66556f7eeb02cfd48285a40dc33cd3258a921334e71727950d78ed13c:
version: 03d4b9d66556f7eeb02cfd48285a40dc33cd3258a921334e71727950d78ed13c
blobstore_id: babed125-bfe1-475d-7f0f-dd1016ba7df3
blobstore_id: 0179c598-a538-47db-7a7f-81c57c3c5429
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes to all the .final_builds/packages concern me here. We should keep whatever's on main rather than the protobuf branch, right?

config/blobs.yml Outdated
jq/jq-1.7-linux-amd64.tgz:
size: 992916
object_id: afe4a362-e7c4-4f06-7f51-b960a496449f
sha: sha256:3ccf94a8b783c007c41faf9f20970e2c330c4b705e0c1bf51f9d211a7c5c8dda
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same concerns for these updates as i had for the .final_builds/packages updates

@@ -45,6 +45,9 @@ properties:
description: "Array of name:absolute_path pairs representing root filesystems preloaded onto the underlying garden"
default:
- windows2012R2:/tmp/windows2012R2
diego.rep.sidecar_rootfs_path:
description: "absolute_path representing the root filesystem used for sidecar processes (ie. "/var/vcap/packages/cflinuxfs4/rootfs.tar"). Must be one of the preloaded_rootfses paths. Leaving the default empty string is ok, as it will then select the first of he preloaded_rootfses"
default: ""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this something you added, or something we removed from the main branch that is about to get re-added?

@geofffranks
Copy link
Contributor

I think this PR needs rebasing off of origin/develop? It seems like stuff it shouldn't need be changing would end up being changed on the develop branch (package definitions, blob info, (re-?)adding a random job property). Otherwise 👍

@ebroberson ebroberson force-pushed the protobuf-with-plugin branch from c44adfe to 38e66c3 Compare April 1, 2025 15:54
ebroberson and others added 25 commits April 8, 2025 20:22
…credhub-cli, executor, inigo, locket, rep, garden, groofs, guardian, idmapper
Submodule src/code.cloudfoundry.org/credhub-cli c28416987..eaea4c141:
  > Bump go modules
Submodule src/garden 6fe78a102..187e9889c:
  > Update go.mod dependencies
  > Update go.mod dependencies
Submodule src/grootfs 417e52cb6..77087f005:
  > Update go.mod dependencies
  > Update go.mod dependencies
  > Update go.mod dependencies
  > Update go.mod dependencies
Submodule src/guardian e98bcba81..c3e2942ba:
  > Update go.mod dependencies
  > Allow rootfs to be imported as flat dir
  > Update go.mod dependencies
  > Merge pull request #470 from PlamenDoychev/main
  > Update go.mod dependencies
  > Merge pull request #471 from cloudfoundry/fix-gats-for-noble
  > Update go.mod dependencies
Submodule src/idmapper c616ffb55..ae2d922a2:
  > Update go.mod dependencies
--------

index eb591ca..03438c9 100644
@@ -13,27 +13,27 @@ replace (

-	code.cloudfoundry.org/archiver v0.32.0
-	code.cloudfoundry.org/bytefmt v0.36.0
+	code.cloudfoundry.org/archiver v0.33.0
+	code.cloudfoundry.org/bytefmt v0.37.0
 	code.cloudfoundry.org/cacheddownloader v0.0.0-20250312193827-23c030d5e4f3
-	code.cloudfoundry.org/certsplitter v0.47.0
+	code.cloudfoundry.org/certsplitter v0.48.0
 	code.cloudfoundry.org/cf-routing-test-helpers v0.0.0-20250228152907-f87c227cf5e7
 	code.cloudfoundry.org/cf-tcp-router v0.0.0-20250228153011-2de6b290768e
-	code.cloudfoundry.org/cfhttp/v2 v2.41.0
-	code.cloudfoundry.org/clock v1.34.0
+	code.cloudfoundry.org/cfhttp/v2 v2.42.0
+	code.cloudfoundry.org/clock v1.35.0
 	code.cloudfoundry.org/cnbapplifecycle v0.0.5
-	code.cloudfoundry.org/credhub-cli v0.0.0-20250407131255-c28416987f45
-	code.cloudfoundry.org/debugserver v0.45.0
-	code.cloudfoundry.org/diego-logging-client v0.50.0
-	code.cloudfoundry.org/dockerdriver v0.45.0
-	code.cloudfoundry.org/durationjson v0.37.0
-	code.cloudfoundry.org/eventhub v0.36.0
-	code.cloudfoundry.org/garden v0.0.0-20250402022550-6fe78a10209e
+	code.cloudfoundry.org/credhub-cli v0.0.0-20250414180459-eaea4c141b26
+	code.cloudfoundry.org/debugserver v0.46.0
+	code.cloudfoundry.org/diego-logging-client v0.51.0
+	code.cloudfoundry.org/dockerdriver v0.46.0
+	code.cloudfoundry.org/durationjson v0.38.0
+	code.cloudfoundry.org/eventhub v0.37.0
+	code.cloudfoundry.org/garden v0.0.0-20250416022737-187e9889c592
 	code.cloudfoundry.org/go-loggregator/v9 v9.2.1
-	code.cloudfoundry.org/goshims v0.67.0
-	code.cloudfoundry.org/guardian v0.0.0-20250402023119-e98bcba8165d
-	code.cloudfoundry.org/lager/v3 v3.33.0
-	code.cloudfoundry.org/localip v0.36.0
+	code.cloudfoundry.org/goshims v0.68.0
+	code.cloudfoundry.org/guardian v0.0.0-20250416185610-c3e2942ba6ce
+	code.cloudfoundry.org/lager/v3 v3.34.0
+	code.cloudfoundry.org/localip v0.37.0
 	code.cloudfoundry.org/tlsconfig v0.24.0
 	github.com/GaryBoone/GoStats v0.0.0-20130122001700-1993eafbef57
 	github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b
 	github.com/cespare/xxhash/v2 v2.3.0
 	github.com/cloudfoundry-community/go-uaa v0.3.5
 	github.com/cloudfoundry/dropsonde v1.1.0
-	github.com/containers/image/v5 v5.34.3
+	github.com/containers/image/v5 v5.35.0
 	github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7
 	github.com/envoyproxy/go-control-plane v0.13.4
 	github.com/fsnotify/fsnotify v1.9.0
 	github.com/lib/pq v1.10.9
 	github.com/mitchellh/hashstructure v1.1.0
 	github.com/moby/term v0.5.2
-	github.com/nats-io/nats-server/v2 v2.11.0
-	github.com/nats-io/nats.go v1.41.0
+	github.com/nats-io/nats-server/v2 v2.11.1
+	github.com/nats-io/nats.go v1.41.1
 	github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d
 	github.com/onsi/ginkgo/v2 v2.23.4
 	github.com/onsi/gomega v1.37.0
Submodule src/code.cloudfoundry.org/credhub-cli eaea4c141..cded072a8:
  > Bump go modules
Submodule src/garden 3dcb20fef..cd1e49205:
  > Update go.mod dependencies
Submodule src/grootfs df71fddc9..1342a6e56:
  > Update go.mod dependencies
Submodule src/guardian d1f3b9fb8..561eda7dd:
  > Update go.mod dependencies
Submodule src/idmapper 708d2700d..b6751f73f:
  > Update go.mod dependencies
--------

index d1ec737..bec0510 100644
@@ -13,28 +13,28 @@ replace (

-	code.cloudfoundry.org/archiver v0.33.0
-	code.cloudfoundry.org/bytefmt v0.37.0
+	code.cloudfoundry.org/archiver v0.34.0
+	code.cloudfoundry.org/bytefmt v0.38.0
 	code.cloudfoundry.org/cacheddownloader v0.0.0-20250312193827-23c030d5e4f3
-	code.cloudfoundry.org/certsplitter v0.48.0
+	code.cloudfoundry.org/certsplitter v0.49.0
 	code.cloudfoundry.org/cf-routing-test-helpers v0.0.0-20250228152907-f87c227cf5e7
 	code.cloudfoundry.org/cf-tcp-router v0.0.0-20250228153011-2de6b290768e
-	code.cloudfoundry.org/cfhttp/v2 v2.42.0
-	code.cloudfoundry.org/clock v1.35.0
+	code.cloudfoundry.org/cfhttp/v2 v2.43.0
+	code.cloudfoundry.org/clock v1.36.0
 	code.cloudfoundry.org/cnbapplifecycle v0.0.5
-	code.cloudfoundry.org/credhub-cli v0.0.0-20250414180459-eaea4c141b26
-	code.cloudfoundry.org/debugserver v0.46.0
-	code.cloudfoundry.org/diego-logging-client v0.51.0
-	code.cloudfoundry.org/dockerdriver v0.46.0
-	code.cloudfoundry.org/durationjson v0.38.0
-	code.cloudfoundry.org/eventhub v0.37.0
-	code.cloudfoundry.org/garden v0.0.0-20250416022737-187e9889c592
+	code.cloudfoundry.org/credhub-cli v0.0.0-20250421130851-cded072a83a8
+	code.cloudfoundry.org/debugserver v0.47.0
+	code.cloudfoundry.org/diego-logging-client v0.52.0
+	code.cloudfoundry.org/dockerdriver v0.47.0
+	code.cloudfoundry.org/durationjson v0.39.0
+	code.cloudfoundry.org/eventhub v0.38.0
+	code.cloudfoundry.org/garden v0.0.0-20250421112302-cd1e492051ed
 	code.cloudfoundry.org/go-loggregator/v9 v9.2.1
-	code.cloudfoundry.org/goshims v0.68.0
-	code.cloudfoundry.org/guardian v0.0.0-20250416185610-c3e2942ba6ce
-	code.cloudfoundry.org/lager/v3 v3.34.0
-	code.cloudfoundry.org/localip v0.37.0
-	code.cloudfoundry.org/tlsconfig v0.24.0
+	code.cloudfoundry.org/goshims v0.69.0
+	code.cloudfoundry.org/guardian v0.0.0-20250421112904-561eda7dd718
+	code.cloudfoundry.org/lager/v3 v3.35.0
+	code.cloudfoundry.org/localip v0.38.0
+	code.cloudfoundry.org/tlsconfig v0.25.0
 	github.com/GaryBoone/GoStats v0.0.0-20130122001700-1993eafbef57
 	github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b
 	github.com/aws/aws-sdk-go v1.55.6
 	github.com/mitchellh/hashstructure v1.1.0
 	github.com/moby/term v0.5.2
 	github.com/nats-io/nats-server/v2 v2.11.1
-	github.com/nats-io/nats.go v1.41.1
+	github.com/nats-io/nats.go v1.41.2
 	github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d
 	github.com/onsi/ginkgo/v2 v2.23.4
 	github.com/onsi/gomega v1.37.0
 	golang.org/x/oauth2 v0.29.0
 	golang.org/x/sys v0.32.0
 	golang.org/x/time v0.11.0
-	google.golang.org/grpc v1.71.1
+	google.golang.org/grpc v1.72.0
 	google.golang.org/protobuf v1.36.6
 	gopkg.in/yaml.v2 v2.4.0
 	gopkg.in/yaml.v3 v3.0.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

3 participants