SaaS recently updated to using protobuf 1.4 everywhere, which is a major update despite the minor version change: https://blog.golang.org/protobuf-apiv2 percona-platform/platform and saas repos now contain files generated by 1.4, and the current version of pmm-managed can't use them.
percona/pmm should be updated to use 1.4, and then all dependants should be updated too.
1) Update requred dependencies
2) Add full package name to go_package variable in each proto file. (Solution described here: https://github.com/uber/prototool/issues/549)
3) Disable this linters in prototool.yaml
4) Check that all protobuf version mentions are updated across the project (In Makefiles, Dockerfiles, CI, etc.)
5) Regenerate APIs
6) Update pmm repository everywhere
7) Remove pmm-managed hack from https://github.com/percona/pmm-managed/pull/461
This PR can be used as a reference:
How to test:
Test connection between components.
- Old pmm-agent with new pmm-managed
- new pmm-agent with old pmm-managed
- pmm-admin <-> pmm-agent
- pmm-admin <-> pmm-managed