grpctunnel icon indicating copy to clipboard operation
grpctunnel copied to clipboard

Add semantic versioning to proto IDL

Open earies opened this issue 2 years ago • 1 comments

  • (A) proto/types/types.proto
    • Addition of types module for version extension
  • (M) proto/tunnel/tunnel.proto
    • Adjust versioning to semver utilizing the new extension
    • Correct SUBSCRIBE/UNSUBSCRIBE typos
  • (M) cmd/target/proto/config/target_config.proto
    • Adjust versioning to semver utilizing the new extension
  • (M) tunnel/tunnel.go
    • Correct SUBSCRIBE/UNSUBSCRIBE typos
  • (M) compile_protos.sh
    • Adjust protoc compilation, tidy up go mod and regenerate golang stubs

Previously, any versioning of grpctunnel proto IDL was contained within // comments and has not been updated to reflect the actual changes to these files. Thus when there is reference to a version for implementation, there are multiple variations published with the same version number but different contents. An example of this is commit fae5f5d61a3012a2b0e1891d6e609e231c06ccef which modified the IDL without incrementing the version.

This PR proposes consistency to how .proto are versioned for gNMI/gNOI services following semver (https://semver.org) and the version for tunnel.proto has been updated to reflect the changes from the previous commit and this slight modification all in one.

A new types definition is proposed using the next inline (for OpenConfig related projects) FileOption extension field number of 1003

In addition, previous typos of SUBCRIBE and UNSUBCRIBE have been corrected in both tunnel.proto and tunnel.go

Stubs are regenerated, compile_protos.sh is updated to reflect these changes and go modules have been tidied

earies avatar Jul 07 '22 01:07 earies

@dplore @gcsl - PTAL

earies avatar Jul 07 '22 22:07 earies