Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mkeeler/proto-analyze
Some protobuf analysis tools
https://github.com/mkeeler/proto-analyze
Last synced: 19 days ago
JSON representation
Some protobuf analysis tools
- Host: GitHub
- URL: https://github.com/mkeeler/proto-analyze
- Owner: mkeeler
- License: mpl-2.0
- Created: 2023-03-02T16:41:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-03-02T16:49:59.000Z (over 1 year ago)
- Last Synced: 2024-10-13T01:17:17.089Z (about 1 month ago)
- Language: Go
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# proto-analyze
Some protobuf analysis tools## usage
`proto-field-usage -format json -message envoy.service.discovery.v3.DiscoveryResponse -protoset /Users/mkeeler/envoy.protoset clusters listeners routes secrets endpoints builtin_extension`
* `-message` is the fully qualified protobuf message name of top level files to be processed
* `-protoset` is a file containing a protobuf FileDescriptorSet. The types within the set should include the main message type and all other types nested within it.
* `-format` specifies the format of the files to be processed. This can be either `proto` or `json. `proto` will unmarshal the files assuming they are in binary protobuf wire format whereas `json` will unmarshal assuming they are in the canonical json protobuf representation supported by google.golang.org/protobuf/encoding/protojson.The positional argument list contains filesystem paths where the data should be loaded from
## example output
Note that this represents the fields that Consul will use for configuring an Envoy L4 network RBAC filter
```
(envoy.config.listener.v3.Filter)
.name
.typed_config
.(envoy.extensions.filters.network.rbac.v3.RBAC)
.rules
.action
.policies
["consul-intentions-layer4"]
.permissions
.any
.principals
.and_ids
.ids
.authenticated
.principal_name
.safe_regex
.google_re2
.regex
.not_id
.authenticated
.principal_name
.safe_regex
.google_re2
.regex
.authenticated
.principal_name
.safe_regex
.google_re2
.regex
.stat_prefix
```