* change page
* changes for docs to sync the needed ones
* fix tabset error
* fix spacing issue
* add checks to sync.sh to ensure mode is set
* fix changes from merge
* fix missing tabset
* fix tabset again
We currently have two redundant ways to test for breaking changes in
proto: proto-commit and releaselocks. These do the same thing, but add
substantial noise.
Release locks have also not been updated since 1.6.
The original intent was to test for breaking changes between versions.
However, since we test for breaking changes on each commit, there is no
need for the extra check; if it would have failed as "breaking change
from 1.0 -> HEAD" then it would also fail with "breaking change from
HEAD^ -> HEAD".
Finally, there are some weird LC_ALL issues with sorting that make the
releaselocks really hard to use, especially for newcomers. I spent hours
trying to fix it without success
* operator: use camelCase
operator relies on merging using K8s libraries. K8s libraries use the
`json` tag. protobuf doesn't have a way to configure this (`json_tag` is
for `protobuf.json`, not `json`) and never will.
JSON tag comes from the protobuf name. So we can make it camelCase to
fix the above issue. This will have no impact on unmarshalling with jsonpb -- which we use in
all cases aside from the merging -- any casing is allowed.
This may be a breaking change in the protobuf sense (but NOT to Istio
users), but it doesn't really matter as until last week the operator
protobuf was not a real protobuf at all and relied on `sed` to make it
into the shape we want. Therefor, its not possible someone depended on
the operator protobuf being protobuf-compatible.
* add comment
* gen
* extra line
* comment
* gen
- Fix some broken dependency tracking.
- Remove a superfluous proto import to get rid of a warning.
- Explicitly select an older build-tools container version, since
the current one has some problems building the protos.
* Test for incompatible changes against existing releases.
Add Makefile target to test curent protos against proto.lock files
from previous releases.
* Review comments.
To use --distdir option of Bazel (which allows to use previously
fetched tarballs instead of downloading dependencies during
build), all dependencies should use http instead of git and need
to have sha256 sums specified.
Signed-off-by: Michal Rostecki <mrostecki@suse.de>
* Add Protolock.
Move the protoc docker files to tools/protoc. Add docker files for
protolock image. Update Makefile precommit hook and prow presubmit
check to run protolock.
* Add combined image to be used on CircleCI
* Update proto.lock for policy_check_fail_open in mesh config.
* Updade circle config.
* Echo out protoc version
* Add protoc install bits to Makefile
* Get at least protoc 3.5
* Remove problematic bazel conflict files
* don't obscure the copying of generated files
* Attempt to debug differences
* Update generated proto files to match changes here
This PR removes the mixer/v1 bazel code for protoc-based generation, replacing it that logic with a Makefile.
Notes:
- generate-protos.sh is updated to call make targets
- all BUILD files were rewritten with gazelle to supply default targets around the generated files
- each of the .proto files is touched, as it is regenerated as part of this PR