Skip to content
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

Migrate off from github.com/gogo/protobuf #6564

Closed
kzys opened this issue Feb 17, 2022 · 3 comments
Closed

Migrate off from github.com/gogo/protobuf #6564

kzys opened this issue Feb 17, 2022 · 3 comments
Assignees
Milestone

Comments

@kzys
Copy link
Member

kzys commented Feb 17, 2022

What is the problem you're trying to solve

We'd like to migrate off from github.com/gogo/protobuf. The package is looking for owners since 2020 and no longer compatible with https://go.dev/blog/protobuf-apiv2.

This is the master ticket to associate all PRs related to the migration.

Describe the solution you'd like

Use google.golang.org/protobuf instead.

We have removed gogo/protobuf and upgraded protobuf on the following packages.

https://github.com/containerd/protobuild

https://github.com/containerd/ttrpc

gogo/protobuf's code generation extension

There are multiple gogo/protobuf extensions which don't work with protoc-gen-go. That being said, those types are mostly invisible from our Go client. So we might be able to just follow Google's new convention (e.g. using protobuf's Time instead time.Time) instead of making them fully Go-idiomatic.

Addressed

Fixed by #6699

  • gogoproto.customtype (10): All of them are used to use github.com/opencontainers/go-digest.Digest instead of string.

Fixed by #6708

@kzys kzys added this to the 1.7 milestone Feb 17, 2022
kzys added a commit to kzys/cgroups that referenced this issue Feb 17, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Feb 17, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/containerd that referenced this issue Feb 17, 2022
This command will replace protobuf/plugin/fieldpath when we migrate
off from gogo/protobuf.

See containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Feb 18, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Feb 18, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/containerd that referenced this issue Feb 21, 2022
This command will replace protobuf/plugin/fieldpath when we migrate
off from gogo/protobuf.

See containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
@dmcgowan dmcgowan moved this to Todo in Feature Tracking Feb 21, 2022
kzys added a commit to kzys/hcsshim that referenced this issue Feb 22, 2022
containerd is planning to migrate off from github.com/gogo/protobuf
which will affect hcsshim.
See containerd/containerd#6564 for
the overall progress.

Before that, this commit runs Protobuild in GitHub Actions to
make sure all generated files are reproducible from .proto files.

Signed-off-by: Kazuyoshi Kato <[email protected]>
@kzys kzys self-assigned this Feb 22, 2022
kzys added a commit to kzys/hcsshim that referenced this issue Feb 28, 2022
containerd is planning to migrate off from github.com/gogo/protobuf
which will affect hcsshim.
See containerd/containerd#6564 for
the overall progress.

Before that, this commit runs Protobuild in GitHub Actions to
make sure all generated files are reproducible from .proto files.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/hcsshim that referenced this issue Feb 28, 2022
containerd is planning to migrate off from github.com/gogo/protobuf
which will affect hcsshim.
See containerd/containerd#6564 for
the overall progress.

Before that, this commit runs Protobuild in GitHub Actions to
make sure all generated files are reproducible from .proto files.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Mar 1, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Mar 1, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Mar 1, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Mar 1, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Mar 1, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Mar 1, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Mar 1, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
@dmcgowan dmcgowan moved this from Todo to In Progress in Feature Tracking Mar 15, 2022
@dmcgowan
Copy link
Member

What are we going to do about the use of types.Any from "github.com/gogo/protobuf/types" in some of out interfaces. For example: https://github.com/containerd/containerd/blob/v1.6.1/runtime/runtime.go#L38

kzys added a commit to kzys/containerd that referenced this issue Mar 18, 2022
gogoproto.customtype is used to have go-digest.Digest instead of string.
While it is convinient, protoc-gen-go doesn't support the extension
and blocks containerd#6564.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Aug 26, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Oct 19, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kzys added a commit to kzys/cgroups that referenced this issue Nov 3, 2022
We'd like to migrate off from gogo/protobuf. The package is looking
for new ownership since 2020.

See containerd/containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
akhilerm pushed a commit to akhilerm/containerd-test that referenced this issue Feb 22, 2023
This commit removes gogoproto.stdtime, since it is not supported by
Google's official toolchain
(see containerd/containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>

Containerd-test-commit: 80b825c
akhilerm pushed a commit to akhilerm/containerd-test that referenced this issue Feb 22, 2023
This commit removes gogoproto.stdtime, since it is not supported by
Google's official toolchain
(see containerd/containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>

Containerd-test-commit: a8578f6
princepereira pushed a commit to princepereira/hcsshim that referenced this issue Aug 29, 2024
containerd is planning to migrate off from github.com/gogo/protobuf
which will affect hcsshim.
See containerd/containerd#6564 for
the overall progress.

Before that, this commit runs Protobuild in GitHub Actions to
make sure all generated files are reproducible from .proto files.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
This command will replace protobuf/plugin/fieldpath when we migrate
off from gogo/protobuf.

See containerd#6564 for the detail.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
gogoproto.customtype is used to have go-digest.Digest instead of string.
While it is convinient, protoc-gen-go doesn't support the extension
and that blocks containerd#6564.

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
This commit removes gogoproto.enumvalue_customname,
gogoproto.goproto_enum_prefix and gogoproto.enum_customname.

All of them make proto-generated Go code more idiomatic, but we already
don't use these enums in our external-surfacing types and they are anyway
not supported by Google's official toolchain (see containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
This commit removes gogoproto.stdtime, since it is not supported by
Google's official toolchain
(see containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
This commit removes the following gogoproto extensions;

- gogoproto.nullable
- gogoproto.customename
- gogoproto.unmarshaller_all
- gogoproto.stringer_all
- gogoproto.sizer_all
- gogoproto.marshaler_all
- gogoproto.goproto_unregonized_all
- gogoproto.goproto_stringer_all
- gogoproto.goproto_getters_all

None of them are supported by Google's toolchain (see containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
Embedding these structs will be mandatory after migratring off from
gogo/protobuf (see containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
With google.golang.org/protobuf, proto-generated objects only have
ProtoReflect(). They don't have Marshal() anymore (see containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
Seems it is no longer optional after migratring off from
gogo/protobuf (see containerd#6564).

Signed-off-by: Kazuyoshi Kato <[email protected]>
kiashok pushed a commit to kiashok/containerd-containerd that referenced this issue Oct 23, 2024
This commit migrates containerd/protobuf from github.com/gogo/protobuf
to google.golang.org/protobuf and adjust types. Proto-generated structs
cannot be passed as values.

Fixes containerd#6564.

Signed-off-by: Kazuyoshi Kato <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

2 participants