-
Notifications
You must be signed in to change notification settings - Fork 8.1k
config model migration doc #829
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
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Assign the PR to them by writing The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
Merging as this is for just markdown file. |
kubectl apply -f myrule.yaml | ||
istioctl create -f myrule.yaml | ||
|
||
or (for Kubernetes users): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is just confusing, kubectl will work for anything, and it is secure, by comparison with istioctl which is not.
are there any changes to ingress, if so can we add them ? |
Automatic merge from submit-queue. Add release-note collector **Release note**: ```release-note none ``` It's a binary to collect release-note from repos. Example command: ``` Bash $ bazel-bin/toolbox/release_note_collector/release_note_collector --repos istio --previous_release 0.2.2 --current_release 0.2.4 --pr_link ``` And the release-note would be put into a local file, default is in current directory, named "<repo>.releasenote" The example output is: ```Bash $ cat istio.releasenote istio: istio -- 0.2.4 release note Previous release version: 0.2.2 * Provide default Mixer configuration for prometheus metrics and stdio logs. istio/istio#866 * test setup doc update istio/istio#831 * New config model (breaking change). Migration instructions are [here](https://github.com/istio/istio/blob/release-0.2/samples/CONFIG-MIGRATION.md) istio/istio#829 ```
…ry (istio#829) * Hand written generated code for sample template, registrar and registry - Added a sample template for report case - Added generated code (go and proto) for the sample template - Added a sample noop2 adapter that implements processort for the sample template - Added generated registrar code - Added generated registry code TODO I have checked in two pb.go files. Ideally just the proto file should be sufficient. I will update this PR once I figure out how to use go_proto_library properly and delete the checked in pb.go files under pkg/templates * const out the template name and use full pkg name for generated code. * Fix accidental removal of imports * Add missing pb.go files. * Name the imports in generated file. This is done so that goimports tool does not delete the imports. * Refactor handler interface. * Address comments from Martin. * Add regex for gen.go files. * Introduce a builder so that Adapters can be instantiated and configured atomically. Adapters will register their builder, builder's Create method will be invoked by the Mixer to instantiate the Adapter instance. The create method will take the adapter configuration. * Chatted with mtail@ and refactored the Configuration code into the Builder interface. This will allow us to make it explicit to the Adapter writer about what get's called during the configuration and what gets called during runtime. The only piece that is not ideal is the Build method on the HandlerBuilder will return a base Handler object and there is not compile time mechanish to ensure that the returned Handler has all the template specific processor interfaces implemented (for all the templates that the Adapter registered itself for in the Register method). So, to overcome that issue, Mixer will call Build and then do a runtime cast check on the returned Handler to ensure that the Handler has implemented all the required Processor interfaces. If we want to avoid this runtime check and do a compile time check, it would mean we will need a separate New*TempalteName* on the HandlerBuilder. So the HandlerBuilder will have to implement NewMetric, NewQuota, NewLog etc. Which is fine, except with that patter adapter authors are more encouraged to pass us a new Handler for every New call. Ideally we just want one Handler that serves all the template specific Process calls. * Remove close from Builder and move HandlerConfigure to Builde method. * Made the registrar interface such that adapters are required to pass one builder and a list of templates they support. Chatted with mtail@ on this. The idea is to enforce the adapter authors to provide one builder and one handler. Mixer code will decide how many instances it wants to create. * Deleted all the checked in pb.go files. * Getting rid of the script file. Now things are building via the bazel rule and checked in .pb.go files are deleted, we no longer need this script file. * Make linter happy * Remove redundant file presense check in the bazel_to_go.py. * Worked around the issue of having two pb.go files after running bazel_to_go.py The issue was, we need to modify the pb.go files generated by go_proto_library to replace ValueType.ValueType_UNSPECIFIED to VALUETYPE_ValueType_VALUE_TYPE_UNSPECIFIED to VALUE_TYPE_UNSPECIFIED. Once we do that there exists two .pb.go files (original and altered). Running bazel_to_go.py that copies .pb.go results into two almost identical files causing compile time issues. Work around is to rename the altered files as .altered.pb.go and only symlink those files. * Make DefaultConfig and ValidateConfig as a field on BuilderInfo. Some renames and cleanup. * Rename templates dir to template. * address feedback Former-commit-id: 34f52fc54c6630e8f90b93fce891d76aa361541f
…ry (#829) * Hand written generated code for sample template, registrar and registry - Added a sample template for report case - Added generated code (go and proto) for the sample template - Added a sample noop2 adapter that implements processort for the sample template - Added generated registrar code - Added generated registry code TODO I have checked in two pb.go files. Ideally just the proto file should be sufficient. I will update this PR once I figure out how to use go_proto_library properly and delete the checked in pb.go files under pkg/templates * const out the template name and use full pkg name for generated code. * Fix accidental removal of imports * Add missing pb.go files. * Name the imports in generated file. This is done so that goimports tool does not delete the imports. * Refactor handler interface. * Address comments from Martin. * Add regex for gen.go files. * Introduce a builder so that Adapters can be instantiated and configured atomically. Adapters will register their builder, builder's Create method will be invoked by the Mixer to instantiate the Adapter instance. The create method will take the adapter configuration. * Chatted with mtail@ and refactored the Configuration code into the Builder interface. This will allow us to make it explicit to the Adapter writer about what get's called during the configuration and what gets called during runtime. The only piece that is not ideal is the Build method on the HandlerBuilder will return a base Handler object and there is not compile time mechanish to ensure that the returned Handler has all the template specific processor interfaces implemented (for all the templates that the Adapter registered itself for in the Register method). So, to overcome that issue, Mixer will call Build and then do a runtime cast check on the returned Handler to ensure that the Handler has implemented all the required Processor interfaces. If we want to avoid this runtime check and do a compile time check, it would mean we will need a separate New*TempalteName* on the HandlerBuilder. So the HandlerBuilder will have to implement NewMetric, NewQuota, NewLog etc. Which is fine, except with that patter adapter authors are more encouraged to pass us a new Handler for every New call. Ideally we just want one Handler that serves all the template specific Process calls. * Remove close from Builder and move HandlerConfigure to Builde method. * Made the registrar interface such that adapters are required to pass one builder and a list of templates they support. Chatted with mtail@ on this. The idea is to enforce the adapter authors to provide one builder and one handler. Mixer code will decide how many instances it wants to create. * Deleted all the checked in pb.go files. * Getting rid of the script file. Now things are building via the bazel rule and checked in .pb.go files are deleted, we no longer need this script file. * Make linter happy * Remove redundant file presense check in the bazel_to_go.py. * Worked around the issue of having two pb.go files after running bazel_to_go.py The issue was, we need to modify the pb.go files generated by go_proto_library to replace ValueType.ValueType_UNSPECIFIED to VALUETYPE_ValueType_VALUE_TYPE_UNSPECIFIED to VALUE_TYPE_UNSPECIFIED. Once we do that there exists two .pb.go files (original and altered). Running bazel_to_go.py that copies .pb.go results into two almost identical files causing compile time issues. Work around is to rename the altered files as .altered.pb.go and only symlink those files. * Make DefaultConfig and ValidateConfig as a field on BuilderInfo. Some renames and cleanup. * Rename templates dir to template. * address feedback Former-commit-id: 4958f8b843ca6eb516dcadb37e925162cbde26b2
Former-commit-id: 8ba82fb
Automatic merge from submit-queue. Add release-note collector **Release note**: ```release-note none ``` It's a binary to collect release-note from repos. Example command: ``` Bash $ bazel-bin/toolbox/release_note_collector/release_note_collector --repos istio --previous_release 0.2.2 --current_release 0.2.4 --pr_link ``` And the release-note would be put into a local file, default is in current directory, named "<repo>.releasenote" The example output is: ```Bash $ cat istio.releasenote istio: istio -- 0.2.4 release note Previous release version: 0.2.2 * Provide default Mixer configuration for prometheus metrics and stdio logs. istio/istio#866 * test setup doc update istio/istio#831 * New config model (breaking change). Migration instructions are [here](https://github.com/istio/istio/blob/release-0.2/samples/CONFIG-MIGRATION.md) istio/istio#829 ```
istio#829) * Add jwks to allow using public key directly in JWT policy. Signed-off-by: Yangmin Zhu <ymzhu@google.com> * do not use oneof * fix build
Release note: