├── licenses ├── github.com │ ├── munnerz │ │ └── goautoneg │ │ │ └── NONE │ ├── NYTimes │ │ └── gziphandler │ │ │ └── LICENSE.md │ ├── davecgh │ │ └── go-spew │ │ │ └── LICENSE │ ├── mailru │ │ └── easyjson │ │ │ └── LICENSE │ ├── hpcloud │ │ └── tail │ │ │ ├── ratelimiter │ │ │ └── Licence │ │ │ └── LICENSE.txt │ ├── kr │ │ ├── text │ │ │ └── License │ │ ├── pty │ │ │ └── License │ │ └── pretty │ │ │ └── License │ ├── onsi │ │ ├── ginkgo │ │ │ ├── LICENSE │ │ │ └── reporters │ │ │ │ └── stenographer │ │ │ │ └── support │ │ │ │ ├── go-isatty │ │ │ │ └── LICENSE │ │ │ │ └── go-colorable │ │ │ │ └── LICENSE │ │ └── gomega │ │ │ └── LICENSE │ ├── kisielk │ │ ├── errcheck │ │ │ └── LICENSE │ │ └── gotool │ │ │ └── LICENSE │ ├── json-iterator │ │ └── go │ │ │ └── LICENSE │ ├── BurntSushi │ │ └── toml │ │ │ ├── COPYING │ │ │ └── cmd │ │ │ ├── tomlv │ │ │ └── COPYING │ │ │ ├── toml-test-decoder │ │ │ └── COPYING │ │ │ └── toml-test-encoder │ │ │ └── COPYING │ ├── emicklei │ │ └── go-restful │ │ │ └── LICENSE │ ├── stretchr │ │ ├── testify │ │ │ └── LICENSE │ │ └── objx │ │ │ └── LICENSE │ ├── client9 │ │ └── misspell │ │ │ └── LICENSE │ ├── PuerkitoBio │ │ ├── purell │ │ │ └── LICENSE │ │ └── urlesc │ │ │ └── LICENSE │ ├── pmezard │ │ └── go-difflib │ │ │ └── LICENSE │ ├── google │ │ ├── go-cmp │ │ │ └── LICENSE │ │ └── uuid │ │ │ └── LICENSE │ ├── elazarl │ │ └── goproxy │ │ │ └── LICENSE │ ├── evanphx │ │ └── json-patch │ │ │ └── LICENSE │ ├── golang │ │ └── protobuf │ │ │ └── LICENSE │ ├── mxk │ │ └── go-flowrate │ │ │ └── LICENSE │ ├── spf13 │ │ └── pflag │ │ │ └── LICENSE │ ├── fsnotify │ │ └── fsnotify │ │ │ └── LICENSE │ ├── gogo │ │ └── protobuf │ │ │ └── LICENSE │ └── ghodss │ │ └── yaml │ │ └── LICENSE ├── honnef.co │ └── go │ │ └── tools │ │ ├── LICENSE │ │ ├── gcsizes │ │ └── LICENSE │ │ ├── lint │ │ └── LICENSE │ │ └── ssa │ │ └── LICENSE ├── gopkg.in │ ├── check.v1 │ │ └── LICENSE │ ├── inf.v0 │ │ └── LICENSE │ ├── fsnotify.v1 │ │ └── LICENSE │ └── tomb.v1 │ │ └── LICENSE ├── golang.org │ └── x │ │ ├── net │ │ └── LICENSE │ │ ├── sys │ │ └── LICENSE │ │ ├── crypto │ │ └── LICENSE │ │ ├── lint │ │ └── LICENSE │ │ ├── oauth2 │ │ └── LICENSE │ │ ├── sync │ │ └── LICENSE │ │ ├── text │ │ └── LICENSE │ │ └── tools │ │ ├── LICENSE │ │ └── cmd │ │ └── getgo │ │ └── LICENSE └── sigs.k8s.io │ └── yaml │ └── LICENSE ├── common ├── .commonfiles.sha ├── config │ ├── mdl.rb │ ├── .hadolint.yml │ ├── tslint.json │ ├── .yamllint.yml │ └── sass-lint.yml └── scripts │ ├── check_clean_repo.sh │ ├── lint_go.sh │ ├── lint_copyright_banner.sh │ ├── report_build_info.sh │ └── run.sh ├── common-protos ├── .commonfiles.sha ├── k8s.io │ └── apimachinery │ │ └── pkg │ │ ├── runtime │ │ └── schema │ │ │ └── generated.proto │ │ ├── util │ │ └── intstr │ │ │ └── generated.proto │ │ └── apis │ │ └── meta │ │ └── v1beta1 │ │ └── generated.proto ├── google │ ├── api │ │ ├── annotations.proto │ │ ├── source_info.proto │ │ ├── control.proto │ │ ├── label.proto │ │ ├── expr │ │ │ ├── v1alpha1 │ │ │ │ ├── cel_service.proto │ │ │ │ └── explain.proto │ │ │ └── v1beta1 │ │ │ │ ├── source.proto │ │ │ │ └── decl.proto │ │ ├── log.proto │ │ ├── servicecontrol │ │ │ └── v1 │ │ │ │ └── log_entry.proto │ │ └── billing.proto │ ├── type │ │ ├── fraction.proto │ │ ├── dayofweek.proto │ │ ├── latlng.proto │ │ ├── money.proto │ │ ├── timeofday.proto │ │ ├── calendar_period.proto │ │ ├── expr.proto │ │ └── date.proto │ └── protobuf │ │ ├── source_context.proto │ │ └── empty.proto └── github.com │ ├── census-instrumentation │ └── opencensus-proto │ │ └── src │ │ └── opencensus │ │ └── proto │ │ ├── resource │ │ └── v1 │ │ │ └── resource.proto │ │ └── agent │ │ └── metrics │ │ └── v1 │ │ └── metrics_service.proto │ ├── prometheus │ └── client_model │ │ └── metrics.proto │ └── gogo │ └── protobuf │ └── protobuf │ └── google │ └── protobuf │ ├── source_context.proto │ └── empty.proto ├── BUILD ├── CONTRIBUTING.md ├── go.mod ├── authentication └── v1alpha1 │ ├── istio.authentication.v1alpha1.pb.html │ └── policy_deepcopy.gen.go ├── .gitattributes ├── CODEOWNERS ├── SUPPORT.md ├── dictionaries └── custom.txt ├── .gitignore ├── BUGS-AND-FEATURE-REQUESTS.md ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── Makefile.overrides.mk ├── security └── v1beta1 │ ├── peer_authentication_deepcopy.gen.go │ ├── request_authentication_deepcopy.gen.go │ ├── request_authentication_json.gen.go │ ├── jwt_json.gen.go │ ├── peer_authentication_json.gen.go │ └── peer_authentication.gen.json ├── WORKSPACE ├── operator └── v1alpha1 │ ├── operator_deepcopy.gen.go │ └── operator_json.gen.go ├── python ├── setup.py └── istio_api │ └── mixer │ └── adapter │ └── model │ └── v1beta1 │ ├── report_pb2.py │ └── template_pb2.py ├── mixer ├── v1 │ └── config │ │ └── client │ │ ├── quota_deepcopy.gen.go │ │ ├── api_spec_deepcopy.gen.go │ │ ├── service_json.gen.go │ │ └── service.proto └── adapter │ └── model │ └── v1beta1 │ ├── template.proto │ ├── report.proto │ ├── check.proto │ ├── quota.proto │ └── extensions.proto ├── scripts ├── check-release-locks.md └── check-release-locks.sh ├── policy └── v1beta1 │ ├── http_response_json.gen.go │ ├── cfg_deepcopy.gen.go │ └── value_type.proto ├── type └── v1beta1 │ ├── selector_json.gen.go │ ├── selector.gen.json │ ├── istio.type.v1beta1.pb.html │ └── selector.proto ├── cue.yaml ├── prototool.yaml ├── envoy └── config │ └── filter │ ├── network │ └── tcp_cluster_rewrite │ │ └── v2alpha1 │ │ └── config.proto │ └── http │ ├── alpn │ └── v2alpha1 │ │ └── config.proto │ └── authn │ └── v2alpha1 │ └── config.proto ├── mcp └── v1alpha1 │ └── resource.proto ├── README.md ├── label └── label.go └── Makefile /licenses/github.com/munnerz/goautoneg/NONE: -------------------------------------------------------------------------------- 1 | NO LICENSE FOUND 2 | -------------------------------------------------------------------------------- /common/.commonfiles.sha: -------------------------------------------------------------------------------- 1 | c1e74e42cb7a8b204da2d0803ea7e937c69a1d7d 2 | -------------------------------------------------------------------------------- /common-protos/.commonfiles.sha: -------------------------------------------------------------------------------- 1 | 40e8e32e023eaef4e0c2d170112b99d3db22cdf2 2 | -------------------------------------------------------------------------------- /BUILD: -------------------------------------------------------------------------------- 1 | load("@io_bazel_rules_go//go:def.bzl", "go_prefix") 2 | 3 | go_prefix("istio.io/api") 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution guidelines 2 | 3 | So you want to hack on Istio? Yay! Please refer to Istio's overall 4 | [contribution guidelines](https://github.com/istio/community/blob/master/CONTRIBUTING.md) 5 | to find out how you can help. 6 | -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module istio.io/api 2 | 3 | go 1.12 4 | 5 | require ( 6 | github.com/gogo/protobuf v1.3.0 7 | github.com/golang/protobuf v1.3.2 8 | google.golang.org/grpc v1.23.1 9 | istio.io/gogo-genproto v0.0.0-20190930162913-45029607206a 10 | k8s.io/api v0.17.0 11 | k8s.io/apimachinery v0.17.0 12 | ) 13 | -------------------------------------------------------------------------------- /authentication/v1alpha1/istio.authentication.v1alpha1.pb.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: istio.authentication.v1alpha1 3 | layout: protoc-gen-docs 4 | generator: protoc-gen-docs 5 | schema: istio.authentication.v1alpha1.Policy 6 | number_of_entries: 0 7 | --- 8 |

This package defines user-facing authentication policy.

9 | 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.descriptor linguist-generated=true 2 | *.descriptor -diff -merge 3 | *.descriptor_set linguist-generated=true 4 | *.descriptor_set -diff -merge 5 | *.pb.html linguist-generated=true 6 | *.pb.go linguist-generated=true 7 | *.gen.go linguist-generated=true 8 | *.gen.yaml linguist-generated=true 9 | *_pb2.py linguist-generated=true 10 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @linsun @rshriram @dcberg @louiscryan @smawson @duderino 2 | /Makefile* @istio/wg-test-and-release-maintainers 3 | /*.md @istio/wg-test-and-release-maintainers 4 | /common/ @istio/wg-test-and-release-maintainers 5 | /common-protos/ @istio/wg-test-and-release-maintainers 6 | /scripts/ @istio/wg-test-and-release-maintainers 7 | -------------------------------------------------------------------------------- /common/config/mdl.rb: -------------------------------------------------------------------------------- 1 | all 2 | rule 'MD002', :level => 1 3 | rule 'MD007', :indent => 4 4 | rule 'MD013', :line_length => 160, :code_blocks => false, :tables => false 5 | rule 'MD026', :punctuation => ".,;:!" 6 | exclude_rule 'MD013' 7 | exclude_rule 'MD014' 8 | exclude_rule 'MD030' 9 | exclude_rule 'MD032' 10 | exclude_rule 'MD033' 11 | exclude_rule 'MD041' 12 | exclude_rule 'MD046' 13 | -------------------------------------------------------------------------------- /SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Support 2 | 3 | Here are some resources to help you understand and use Istio: 4 | 5 | - For in-depth information about how to use Istio, visit [istio.io](https://istio.io) 6 | - To ask questions and get assistance from our community, visit [discuss.istio.io](https://discuss.istio.io) 7 | - To learn how to participate in our overall community, visit [our community page](https://istio.io/about/community) 8 | -------------------------------------------------------------------------------- /common/config/.hadolint.yml: -------------------------------------------------------------------------------- 1 | # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY 2 | # 3 | # The original version of this file is located in the https://github.com/istio/common-files repo. 4 | # If you're looking at this file in a different repo and want to make a change, please go to the 5 | # common-files repo, make the change there and check it in. Then come back to this repo and run 6 | # "make update-common". 7 | 8 | ignored: 9 | 10 | trustedRegistries: 11 | - gcr.io 12 | - docker.io 13 | -------------------------------------------------------------------------------- /dictionaries/custom.txt: -------------------------------------------------------------------------------- 1 | ACK 2 | backend 3 | balancer 4 | Bookinfo 5 | CIDR 6 | Datadog 7 | DNS 8 | FQDN 9 | Grafana 10 | HTTP 11 | HTTP2 12 | Istio 13 | jitter 14 | JSON 15 | JWT 16 | Kubernetes 17 | LightStep 18 | MCP 19 | multicluster 20 | NACK 21 | namespace 22 | namespaces 23 | OIDC 24 | programmatically 25 | RBAC 26 | RPC 27 | runtime 28 | scalability 29 | SDS 30 | SNI 31 | SPIFFE 32 | subnet 33 | TCP 34 | TLS 35 | UDP 36 | undiscriminated 37 | unmanaged 38 | unterminated 39 | URI 40 | URL 41 | VM 42 | Zipkin 43 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | *.obj 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Compiled Dynamic libraries 12 | *.so 13 | *.dylib 14 | *.dll 15 | 16 | # Compiled Static libraries 17 | *.lai 18 | *.la 19 | *.a 20 | *.lib 21 | 22 | # Executables 23 | *.exe 24 | *.out 25 | *.app 26 | 27 | .idea/ 28 | .project 29 | 30 | # Bazel 31 | /bazel-* 32 | 33 | # protoc 34 | /protoc-tmp 35 | genbin/ 36 | 37 | /vendor 38 | 39 | .htmlproofer 40 | 41 | # Contains the built artifacts 42 | out/ 43 | -------------------------------------------------------------------------------- /BUGS-AND-FEATURE-REQUESTS.md: -------------------------------------------------------------------------------- 1 | # Bugs and Feature Requests 2 | 3 | You can report bugs and feature requests to the Istio team in one of three places: 4 | 5 | - [Product Bugs and Feature Requests](https://github.com/istio/istio/issues) 6 | - [Documentation Bugs and Feature Requests](https://github.com/istio/istio.io/issues) 7 | - [Community and Governance Issues](https://github.com/istio/community/issues) 8 | 9 | For security vulnerabilities, please don't report a bug (which is public) and instead follow 10 | [these procedures](https://istio.io/about/security-vulnerabilities/). 11 | -------------------------------------------------------------------------------- /licenses/github.com/NYTimes/gziphandler/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 The New York Times Company 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this library except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea to improve Istio 4 | 5 | --- 6 | (This is used to request new product features, please visit for questions on using Istio) 7 | 8 | **Describe the feature request** 9 | 10 | **Describe alternatives you've considered** 11 | 12 | **Affected product area (please put an X in all that apply)** 13 | 14 | [ ] Configuration Infrastructure 15 | [ ] Docs 16 | [ ] Installation 17 | [ ] Networking 18 | [ ] Performance and Scalability 19 | [ ] Policies and Telemetry 20 | [ ] Security 21 | [ ] Test and Release 22 | [ ] User Experience 23 | 24 | **Additional context** 25 | -------------------------------------------------------------------------------- /Makefile.overrides.mk: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Istio Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # this repo is on the container plan by default 16 | BUILD_WITH_CONTAINER ?= 1 17 | -------------------------------------------------------------------------------- /security/v1beta1/peer_authentication_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: security/v1beta1/peer_authentication.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | fmt "fmt" 8 | proto "github.com/gogo/protobuf/proto" 9 | _ "istio.io/api/type/v1beta1" 10 | math "math" 11 | ) 12 | 13 | // Reference imports to suppress errors if they are not otherwise used. 14 | var _ = proto.Marshal 15 | var _ = fmt.Errorf 16 | var _ = math.Inf 17 | 18 | // DeepCopyInto supports using PeerAuthentication within kubernetes types, where deepcopy-gen is used. 19 | func (in *PeerAuthentication) DeepCopyInto(out *PeerAuthentication) { 20 | p := proto.Clone(in).(*PeerAuthentication) 21 | *out = *p 22 | } 23 | -------------------------------------------------------------------------------- /security/v1beta1/request_authentication_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: security/v1beta1/request_authentication.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | fmt "fmt" 8 | proto "github.com/gogo/protobuf/proto" 9 | _ "istio.io/api/type/v1beta1" 10 | math "math" 11 | ) 12 | 13 | // Reference imports to suppress errors if they are not otherwise used. 14 | var _ = proto.Marshal 15 | var _ = fmt.Errorf 16 | var _ = math.Inf 17 | 18 | // DeepCopyInto supports using RequestAuthentication within kubernetes types, where deepcopy-gen is used. 19 | func (in *RequestAuthentication) DeepCopyInto(out *RequestAuthentication) { 20 | p := proto.Clone(in).(*RequestAuthentication) 21 | *out = *p 22 | } 23 | -------------------------------------------------------------------------------- /common/config/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultSeverity": "error", 3 | "extends": [ 4 | "tslint:recommended" 5 | ], 6 | "rules": { 7 | "max-line-length": { 8 | "options": [160] 9 | }, 10 | "arrow-parens": false, 11 | "new-parens": true, 12 | "no-arg": true, 13 | "no-bitwise": true, 14 | "no-conditional-assignment": true, 15 | "no-consecutive-blank-lines": true, 16 | "no-console": { 17 | "severity": "warning", 18 | "options": ["debug", "info", "log", "time", "timeEnd", "trace"] 19 | }, 20 | "no-shadowed-variable": false, 21 | "eofline": false 22 | }, 23 | "jsRules": {}, 24 | "rulesDirectory": [] 25 | } -------------------------------------------------------------------------------- /WORKSPACE: -------------------------------------------------------------------------------- 1 | workspace(name = "io_istio_api") 2 | 3 | load("//:check_bazel_version.bzl", "check_version") 4 | check_version() 5 | 6 | # Oct 12, 2017 (Add `build_external` option to `go_repository`) 7 | RULES_GO_SHA = "9cf23e2aab101f86e4f51d8c5e0f14c012c2161c" 8 | RULES_GO_SHA256 = "76133849005134eceba9080ee28cef03316fd29f64a0a8a3ae09cd8862531d15" 9 | 10 | load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") 11 | http_archive( 12 | name = "io_bazel_rules_go", 13 | strip_prefix = "rules_go-" + RULES_GO_SHA, 14 | url = "https://github.com/bazelbuild/rules_go/archive/" + RULES_GO_SHA + ".tar.gz", 15 | sha256 = RULES_GO_SHA256, 16 | ) 17 | 18 | load("//:api_dependencies.bzl", "mixer_api_dependencies") 19 | mixer_api_dependencies() 20 | -------------------------------------------------------------------------------- /authentication/v1alpha1/policy_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: authentication/v1alpha1/policy.proto 3 | 4 | // This package defines user-facing authentication policy. 5 | 6 | package v1alpha1 7 | 8 | import ( 9 | fmt "fmt" 10 | proto "github.com/gogo/protobuf/proto" 11 | _ "istio.io/gogo-genproto/googleapis/google/api" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // DeepCopyInto supports using Policy within kubernetes types, where deepcopy-gen is used. 21 | func (in *Policy) DeepCopyInto(out *Policy) { 22 | p := proto.Clone(in).(*Policy) 23 | *out = *p 24 | } 25 | -------------------------------------------------------------------------------- /operator/v1alpha1/operator_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: operator/v1alpha1/operator.proto 3 | 4 | // Configuration affecting Istio control plane installation version and shape. 5 | 6 | package v1alpha1 7 | 8 | import ( 9 | fmt "fmt" 10 | proto "github.com/gogo/protobuf/proto" 11 | _ "istio.io/api/mesh/v1alpha1" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // DeepCopyInto supports using IstioOperatorSpec within kubernetes types, where deepcopy-gen is used. 21 | func (in *IstioOperatorSpec) DeepCopyInto(out *IstioOperatorSpec) { 22 | p := proto.Clone(in).(*IstioOperatorSpec) 23 | *out = *p 24 | } 25 | -------------------------------------------------------------------------------- /licenses/github.com/davecgh/go-spew/LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2012-2016 Dave Collins 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /python/setup.py: -------------------------------------------------------------------------------- 1 | # Copyright Istio Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from distutils.core import setup 16 | 17 | setup( 18 | name='Istio API', 19 | version='0.3.0', 20 | packages=['istio_api', ], 21 | license='Apache License 2.0', 22 | long_description=open('istio_api/Readme.md').read(), 23 | ) 24 | -------------------------------------------------------------------------------- /common/scripts/check_clean_repo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 2019 Istio Authors 4 | 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [[ -n $(git status --porcelain) ]]; then 18 | git status 19 | git diff 20 | echo "ERROR: Some files need to be updated, please run 'make gen' and include any changed files in your PR" 21 | exit 1 22 | fi 23 | -------------------------------------------------------------------------------- /common-protos/k8s.io/apimachinery/pkg/runtime/schema/generated.proto: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | 18 | // This file was autogenerated by go-to-protobuf. Do not edit it manually! 19 | 20 | syntax = 'proto2'; 21 | 22 | package k8s.io.apimachinery.pkg.runtime.schema; 23 | 24 | // Package-wide variables from generator "generated". 25 | option go_package = "schema"; 26 | 27 | -------------------------------------------------------------------------------- /mixer/v1/config/client/quota_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: mixer/v1/config/client/quota.proto 3 | 4 | package client 5 | 6 | import ( 7 | fmt "fmt" 8 | _ "github.com/gogo/protobuf/gogoproto" 9 | proto "github.com/gogo/protobuf/proto" 10 | _ "istio.io/gogo-genproto/googleapis/google/api" 11 | math "math" 12 | ) 13 | 14 | // Reference imports to suppress errors if they are not otherwise used. 15 | var _ = proto.Marshal 16 | var _ = fmt.Errorf 17 | var _ = math.Inf 18 | 19 | // DeepCopyInto supports using QuotaSpec within kubernetes types, where deepcopy-gen is used. 20 | func (in *QuotaSpec) DeepCopyInto(out *QuotaSpec) { 21 | p := proto.Clone(in).(*QuotaSpec) 22 | *out = *p 23 | } 24 | 25 | // DeepCopyInto supports using QuotaSpecBinding within kubernetes types, where deepcopy-gen is used. 26 | func (in *QuotaSpecBinding) DeepCopyInto(out *QuotaSpecBinding) { 27 | p := proto.Clone(in).(*QuotaSpecBinding) 28 | *out = *p 29 | } 30 | -------------------------------------------------------------------------------- /common/config/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY 2 | # 3 | # The original version of this file is located in the https://github.com/istio/common-files repo. 4 | # If you're looking at this file in a different repo and want to make a change, please go to the 5 | # common-files repo, make the change there and check it in. Then come back to this repo and run 6 | # "make update-common". 7 | 8 | rules: 9 | braces: disable 10 | brackets: disable 11 | colons: enable 12 | commas: disable 13 | comments: disable 14 | comments-indentation: disable 15 | document-end: disable 16 | document-start: disable 17 | empty-lines: disable 18 | empty-values: enable 19 | hyphens: enable 20 | indentation: disable 21 | key-duplicates: enable 22 | key-ordering: disable 23 | line-length: disable 24 | new-line-at-end-of-file: disable 25 | new-lines: enable 26 | octal-values: enable 27 | quoted-strings: disable 28 | trailing-spaces: disable 29 | truthy: disable 30 | -------------------------------------------------------------------------------- /mixer/adapter/model/v1beta1/template.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package istio.mixer.adapter.model.v1beta1; 18 | 19 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 20 | 21 | // Template provides the details of a Mixer template. 22 | message Template { 23 | // Base64 encoded proto descriptor of the template. 24 | string descriptor = 1; 25 | } 26 | -------------------------------------------------------------------------------- /mixer/v1/config/client/api_spec_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: mixer/v1/config/client/api_spec.proto 3 | 4 | package client 5 | 6 | import ( 7 | fmt "fmt" 8 | _ "github.com/gogo/protobuf/gogoproto" 9 | proto "github.com/gogo/protobuf/proto" 10 | _ "istio.io/api/mixer/v1" 11 | _ "istio.io/gogo-genproto/googleapis/google/api" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // DeepCopyInto supports using HTTPAPISpec within kubernetes types, where deepcopy-gen is used. 21 | func (in *HTTPAPISpec) DeepCopyInto(out *HTTPAPISpec) { 22 | p := proto.Clone(in).(*HTTPAPISpec) 23 | *out = *p 24 | } 25 | 26 | // DeepCopyInto supports using HTTPAPISpecBinding within kubernetes types, where deepcopy-gen is used. 27 | func (in *HTTPAPISpecBinding) DeepCopyInto(out *HTTPAPISpecBinding) { 28 | p := proto.Clone(in).(*HTTPAPISpecBinding) 29 | *out = *p 30 | } 31 | -------------------------------------------------------------------------------- /scripts/check-release-locks.md: -------------------------------------------------------------------------------- 1 | # How to Update 2 | 3 | If you are making a proto change and "make release-lock-status" is 4 | failing, you will need to update the status file. First keep in mind 5 | that this check is to prevent backwards-incompatible changes against 6 | previous releases. 7 | 8 | 1. First ensure the changes you are making are not breaking backwards 9 | compatibility with any of these releases. 10 | 11 | 1. Edit `scripts/check-release-locks.sh` and comment out the line `rm status`. 12 | 13 | 1. Run `make release-lock-status`. 14 | 15 | 1. Copy the file `status` over the file 16 | `releaselocks/release-/proto.lock.status`, corresponding to 17 | the release version. 18 | 19 | 1. `scripts/check-release-locks.sh` can be reverted. 20 | 21 | 1. Include `releaselocks/release-/proto.lock.status` in your PR 22 | and justification for the change. 23 | 24 | Lock files should not be updated. These should be the `proto.lock` 25 | result of running `protolock init` in HEAD of the corresponding 26 | release branch. 27 | -------------------------------------------------------------------------------- /licenses/github.com/mailru/easyjson/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Mail.Ru Group 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /mixer/adapter/model/v1beta1/report.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package istio.mixer.adapter.model.v1beta1; 18 | 19 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 20 | 21 | import "gogoproto/gogo.proto"; 22 | 23 | option (gogoproto.goproto_getters_all) = false; 24 | option (gogoproto.equal_all) = false; 25 | option (gogoproto.gostring_all) = false; 26 | 27 | // Expresses the result of a report call. 28 | message ReportResult {} 29 | -------------------------------------------------------------------------------- /licenses/github.com/hpcloud/tail/ratelimiter/Licence: -------------------------------------------------------------------------------- 1 | Copyright (C) 2013 99designs 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /common/scripts/lint_go.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY 4 | # 5 | # The original version of this file is located in the https://github.com/istio/common-files repo. 6 | # If you're looking at this file in a different repo and want to make a change, please go to the 7 | # common-files repo, make the change there and check it in. Then come back to this repo and run 8 | # "make update-common". 9 | 10 | # Copyright Istio Authors 11 | # 12 | # Licensed under the Apache License, Version 2.0 (the "License"); 13 | # you may not use this file except in compliance with the License. 14 | # You may obtain a copy of the License at 15 | # 16 | # http://www.apache.org/licenses/LICENSE-2.0 17 | # 18 | # Unless required by applicable law or agreed to in writing, software 19 | # distributed under the License is distributed on an "AS IS" BASIS, 20 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | # See the License for the specific language governing permissions and 22 | # limitations under the License. 23 | 24 | golangci-lint run -v -c ./common/config/.golangci.yml 25 | -------------------------------------------------------------------------------- /policy/v1beta1/http_response_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: policy/v1beta1/http_response.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | bytes "bytes" 8 | fmt "fmt" 9 | github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 10 | proto "github.com/gogo/protobuf/proto" 11 | math "math" 12 | ) 13 | 14 | // Reference imports to suppress errors if they are not otherwise used. 15 | var _ = proto.Marshal 16 | var _ = fmt.Errorf 17 | var _ = math.Inf 18 | 19 | // MarshalJSON is a custom marshaler for DirectHttpResponse 20 | func (this *DirectHttpResponse) MarshalJSON() ([]byte, error) { 21 | str, err := HttpResponseMarshaler.MarshalToString(this) 22 | return []byte(str), err 23 | } 24 | 25 | // UnmarshalJSON is a custom unmarshaler for DirectHttpResponse 26 | func (this *DirectHttpResponse) UnmarshalJSON(b []byte) error { 27 | return HttpResponseUnmarshaler.Unmarshal(bytes.NewReader(b), this) 28 | } 29 | 30 | var ( 31 | HttpResponseMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 32 | HttpResponseUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{} 33 | ) 34 | -------------------------------------------------------------------------------- /mixer/v1/config/client/service_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: mixer/v1/config/client/service.proto 3 | 4 | package client 5 | 6 | import ( 7 | bytes "bytes" 8 | fmt "fmt" 9 | _ "github.com/gogo/protobuf/gogoproto" 10 | github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 11 | proto "github.com/gogo/protobuf/proto" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // MarshalJSON is a custom marshaler for IstioService 21 | func (this *IstioService) MarshalJSON() ([]byte, error) { 22 | str, err := ServiceMarshaler.MarshalToString(this) 23 | return []byte(str), err 24 | } 25 | 26 | // UnmarshalJSON is a custom unmarshaler for IstioService 27 | func (this *IstioService) UnmarshalJSON(b []byte) error { 28 | return ServiceUnmarshaler.Unmarshal(bytes.NewReader(b), this) 29 | } 30 | 31 | var ( 32 | ServiceMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 33 | ServiceUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{} 34 | ) 35 | -------------------------------------------------------------------------------- /licenses/github.com/kr/text/License: -------------------------------------------------------------------------------- 1 | Copyright 2012 Keith Rarick 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /type/v1beta1/selector_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: type/v1beta1/selector.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | bytes "bytes" 8 | fmt "fmt" 9 | github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 10 | proto "github.com/gogo/protobuf/proto" 11 | _ "istio.io/gogo-genproto/googleapis/google/api" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // MarshalJSON is a custom marshaler for WorkloadSelector 21 | func (this *WorkloadSelector) MarshalJSON() ([]byte, error) { 22 | str, err := SelectorMarshaler.MarshalToString(this) 23 | return []byte(str), err 24 | } 25 | 26 | // UnmarshalJSON is a custom unmarshaler for WorkloadSelector 27 | func (this *WorkloadSelector) UnmarshalJSON(b []byte) error { 28 | return SelectorUnmarshaler.Unmarshal(bytes.NewReader(b), this) 29 | } 30 | 31 | var ( 32 | SelectorMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 33 | SelectorUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{} 34 | ) 35 | -------------------------------------------------------------------------------- /licenses/honnef.co/go/tools/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Dominik Honnef 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report a bug to help us improve Istio 4 | --- 5 | (NOTE: This is used to report product bugs: 6 | To report a security vulnerability, please visit 7 | To ask questions about how to use Istio, please visit 8 | ) 9 | 10 | **Bug description** 11 | 12 | **Affected product area (please put an X in all that apply)** 13 | 14 | [ ] Configuration Infrastructure 15 | [ ] Docs 16 | [ ] Installation 17 | [ ] Networking 18 | [ ] Performance and Scalability 19 | [ ] Policies and Telemetry 20 | [ ] Security 21 | [ ] Test and Release 22 | [ ] User Experience 23 | 24 | **Expected behavior** 25 | 26 | **Steps to reproduce the bug** 27 | 28 | **Version (include the output of `istioctl version --remote` and `kubectl version`)** 29 | 30 | **How was Istio installed?** 31 | 32 | **Environment where bug was observed (cloud vendor, OS, etc)** 33 | 34 | Additionally, please consider attaching a [cluster state archive](http://istio.io/help/bugs/#generating-a-cluster-state-archive) by attaching 35 | the dump file to this issue. 36 | 37 | -------------------------------------------------------------------------------- /licenses/github.com/onsi/ginkgo/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2014 Onsi Fakhouri 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/github.com/onsi/gomega/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2014 Onsi Fakhouri 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/github.com/kr/pty/License: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Keith Rarick 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated 5 | documentation files (the "Software"), to deal in the 6 | Software without restriction, including without limitation 7 | the rights to use, copy, modify, merge, publish, distribute, 8 | sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall 13 | be included in all copies or substantial portions of the 14 | Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 17 | KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 18 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 19 | PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 20 | OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 21 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 22 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /licenses/github.com/kisielk/errcheck/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Kamil Kisiel 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /licenses/github.com/kr/pretty/License: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2012 Keith Rarick 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/github.com/json-iterator/go/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 json-iterator 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/github.com/kisielk/gotool/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Kamil Kisiel 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /licenses/github.com/BurntSushi/toml/COPYING: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 TOML authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/github.com/emicklei/go-restful/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012,2013 Ernest Micklei 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /licenses/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) Yasuhiro MATSUMOTO 2 | 3 | MIT License (Expat) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /licenses/github.com/BurntSushi/toml/cmd/tomlv/COPYING: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 TOML authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/github.com/stretchr/testify/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2012-2018 Mat Ryer and Tyler Bunnell 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/github.com/client9/misspell/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2017 Nick Galbreath 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /common-protos/google/api/annotations.proto: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015, Google Inc. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package google.api; 18 | 19 | import "google/api/http.proto"; 20 | import "google/protobuf/descriptor.proto"; 21 | 22 | option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; 23 | option java_multiple_files = true; 24 | option java_outer_classname = "AnnotationsProto"; 25 | option java_package = "com.google.api"; 26 | option objc_class_prefix = "GAPI"; 27 | 28 | extend google.protobuf.MethodOptions { 29 | // See `HttpRule`. 30 | HttpRule http = 72295728; 31 | } 32 | -------------------------------------------------------------------------------- /licenses/github.com/BurntSushi/toml/cmd/toml-test-decoder/COPYING: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 TOML authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/github.com/BurntSushi/toml/cmd/toml-test-encoder/COPYING: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 TOML authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /cue.yaml: -------------------------------------------------------------------------------- 1 | # Cuelang configuration to generate OpenAPI schema for Istio configs. 2 | 3 | module: istio.io/api 4 | 5 | openapi: 6 | selfContained: true 7 | fieldFilter: "min.*|max.*" 8 | 9 | directories: 10 | type/v1beta1: 11 | - mode: perFile 12 | authentication/v1alpha1: 13 | - mode: all 14 | mcp/v1alpha1: 15 | - mode: all 16 | title: This package defines the common, core types used by the Mesh Configuration Protocol. 17 | mesh/v1alpha1: 18 | - mode: all 19 | mixer/adapter/model/v1beta1: 20 | - mode: all 21 | mixer/v1/config/client: 22 | - mode: all 23 | mixer/v1: 24 | - mode: all 25 | title: This package defines the Mixer API that the sidecar proxy uses to perform precondition checks, manage quotas, and report telemetry. 26 | networking/v1alpha3: 27 | - mode: perFile 28 | networking/v1beta1: 29 | - mode: perFile 30 | policy/v1beta1: 31 | - mode: all 32 | rbac/v1alpha1: 33 | - mode: all 34 | security/v1beta1: 35 | - mode: perFile 36 | 37 | 38 | # All is used when generating all types referenced in the above directories to 39 | # one file. 40 | all: 41 | title: All Istio types. 42 | version: v1alpha1 43 | oapiFilename: istio.gen.json 44 | -------------------------------------------------------------------------------- /licenses/github.com/stretchr/objx/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2014 Stretchr, Inc. 4 | Copyright (c) 2017-2018 objx contributors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /scripts/check-release-locks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright 2019 Istio Authors 4 | 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | set -eu 18 | 19 | locks=$(find ./releaselocks -type d -name 'release-*' | sort) 20 | fail=none 21 | 22 | for lock in $locks; do 23 | echo "Testing $lock" 24 | # shellcheck disable=SC2094 25 | protolock status --lockdir="${lock}" | sort -fd > status && : 26 | diff status "${lock}"/proto.lock.status > diff.out || fail=$lock 27 | rm status 28 | if [[ $fail != "none" ]]; then 29 | echo "Error $fail" 30 | cat diff.out 31 | rm diff.out 32 | exit 1 33 | fi 34 | rm diff.out 35 | done 36 | -------------------------------------------------------------------------------- /licenses/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Yasuhiro Matsumoto 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /security/v1beta1/request_authentication_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: security/v1beta1/request_authentication.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | bytes "bytes" 8 | fmt "fmt" 9 | github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 10 | proto "github.com/gogo/protobuf/proto" 11 | _ "istio.io/api/type/v1beta1" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // MarshalJSON is a custom marshaler for RequestAuthentication 21 | func (this *RequestAuthentication) MarshalJSON() ([]byte, error) { 22 | str, err := RequestAuthenticationMarshaler.MarshalToString(this) 23 | return []byte(str), err 24 | } 25 | 26 | // UnmarshalJSON is a custom unmarshaler for RequestAuthentication 27 | func (this *RequestAuthentication) UnmarshalJSON(b []byte) error { 28 | return RequestAuthenticationUnmarshaler.Unmarshal(bytes.NewReader(b), this) 29 | } 30 | 31 | var ( 32 | RequestAuthenticationMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 33 | RequestAuthenticationUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{} 34 | ) 35 | -------------------------------------------------------------------------------- /licenses/github.com/hpcloud/tail/LICENSE.txt: -------------------------------------------------------------------------------- 1 | # The MIT License (MIT) 2 | 3 | # © Copyright 2015 Hewlett Packard Enterprise Development LP 4 | Copyright (c) 2014 ActiveState 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /common-protos/google/api/source_info.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api; 19 | 20 | import "google/protobuf/any.proto"; 21 | 22 | option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; 23 | option java_multiple_files = true; 24 | option java_outer_classname = "SourceInfoProto"; 25 | option java_package = "com.google.api"; 26 | option objc_class_prefix = "GAPI"; 27 | 28 | // Source information used to create a Service Config 29 | message SourceInfo { 30 | // All files used during config generation. 31 | repeated google.protobuf.Any source_files = 1; 32 | } 33 | -------------------------------------------------------------------------------- /prototool.yaml: -------------------------------------------------------------------------------- 1 | protoc: 2 | # This is ignored because we always run with 3 | # --protoc-bin-path=/usr/bin/protoc to use the protoc from our 4 | # container 5 | version: 3.6.1 6 | 7 | lint: 8 | # Linter files to ignore. 9 | ignores: 10 | - id: MESSAGE_NAMES_CAMEL_CASE 11 | files: 12 | - operator/v1alpha1/component.proto 13 | - operator/v1alpha1/kubernetes.proto 14 | - id: MESSAGE_FIELD_NAMES_LOWER_SNAKE_CASE 15 | files: 16 | - operator/v1alpha1/component.proto 17 | - operator/v1alpha1/kubernetes.proto 18 | - rbac/v1alpha1/rbac.proto 19 | - id: ENUM_FIELD_NAMES_UPPER_SNAKE_CASE 20 | files: 21 | - networking/v1alpha3/gateway.proto 22 | - policy/v1beta1/http_response.proto 23 | - id: REQUEST_RESPONSE_TYPES_UNIQUE 24 | files: 25 | - mcp/v1alpha1/mcp.proto 26 | 27 | # Linter rules. 28 | rules: 29 | # The specific linters to remove. 30 | remove: 31 | - FILE_OPTIONS_REQUIRE_JAVA_MULTIPLE_FILES 32 | - FILE_OPTIONS_REQUIRE_JAVA_OUTER_CLASSNAME 33 | - FILE_OPTIONS_REQUIRE_JAVA_PACKAGE 34 | - FILE_OPTIONS_EQUAL_GO_PACKAGE_PB_SUFFIX 35 | - ENUM_FIELD_PREFIXES 36 | - ENUM_ZERO_VALUES_INVALID 37 | - COMMENTS_NO_C_STYLE 38 | -------------------------------------------------------------------------------- /type/v1beta1/selector.gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "openapi": "3.0.0", 3 | "info": { 4 | "title": "Definition of a workload selector.", 5 | "version": "v1beta1" 6 | }, 7 | "components": { 8 | "schemas": { 9 | "istio.type.v1beta1.WorkloadSelector": { 10 | "description": "WorkloadSelector specifies the criteria used to determine if a policy can be applied to a proxy. The matching criteria includes the metadata associated with a proxy, workload instance info such as labels attached to the pod/VM, or any other info that the proxy provides to Istio during the initial handshake. If multiple conditions are specified, all conditions need to match in order for the workload instance to be selected. Currently, only label based selection mechanism is supported.", 11 | "type": "object", 12 | "properties": { 13 | "matchLabels": { 14 | "description": "One or more labels that indicate a specific set of pods/VMs on which a policy should be applied. The scope of label search is restricted to the configuration namespace in which the resource is present.", 15 | "type": "object", 16 | "additionalProperties": { 17 | "type": "string", 18 | "format": "string" 19 | } 20 | } 21 | } 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | // $title: TCP cluster rewrite filter configuration for Envoy. 18 | 19 | package istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1; 20 | 21 | option go_package = "istio.io/api/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1"; 22 | 23 | // TcpClusterRewrite is the config for the TCP cluster rewrite filter. 24 | message TcpClusterRewrite { 25 | // Specifies the regex pattern to be matched in the cluster name. 26 | string cluster_pattern = 1; 27 | // Specifies the replacement for the matched cluster pattern. 28 | string cluster_replacement = 2; 29 | } 30 | -------------------------------------------------------------------------------- /common-protos/google/type/fraction.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option go_package = "google.golang.org/genproto/googleapis/type/fraction;fraction"; 21 | option java_multiple_files = true; 22 | option java_outer_classname = "FractionProto"; 23 | option java_package = "com.google.type"; 24 | option objc_class_prefix = "GTP"; 25 | 26 | 27 | // Represents a fraction in terms of a numerator divided by a denominator. 28 | message Fraction { 29 | // The portion of the denominator in the faction, e.g. 2 in 2/3. 30 | int64 numerator = 1; 31 | 32 | // The value by which the numerator is divided, e.g. 3 in 2/3. Must be 33 | // positive. 34 | int64 denominator = 2; 35 | } 36 | -------------------------------------------------------------------------------- /common-protos/github.com/census-instrumentation/opencensus-proto/src/opencensus/proto/resource/v1/resource.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018, OpenCensus Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package opencensus.proto.resource.v1; 18 | 19 | option go_package = "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1"; 20 | 21 | option java_multiple_files = true; 22 | option java_package = "io.opencensus.proto.resource.v1"; 23 | option java_outer_classname = "ResourceProto"; 24 | 25 | option ruby_package = "OpenCensus.Proto.Resource.V1"; 26 | 27 | // Resource information. 28 | message Resource { 29 | 30 | // Type identifier for the resource. 31 | string type = 1; 32 | 33 | // Set of labels that describe the resource. 34 | map labels = 2; 35 | } 36 | -------------------------------------------------------------------------------- /common-protos/google/api/control.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api; 19 | 20 | option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; 21 | option java_multiple_files = true; 22 | option java_outer_classname = "ControlProto"; 23 | option java_package = "com.google.api"; 24 | option objc_class_prefix = "GAPI"; 25 | 26 | // Selects and configures the service controller used by the service. The 27 | // service controller handles features like abuse, quota, billing, logging, 28 | // monitoring, etc. 29 | message Control { 30 | // The service control environment to use. If empty, no control plane 31 | // feature (like quota and billing) will be enabled. 32 | string environment = 1; 33 | } 34 | -------------------------------------------------------------------------------- /type/v1beta1/istio.type.v1beta1.pb.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: istio.type.v1beta1 3 | layout: protoc-gen-docs 4 | generator: protoc-gen-docs 5 | number_of_entries: 1 6 | --- 7 |

WorkloadSelector

8 |
9 |

WorkloadSelector specifies the criteria used to determine if a policy can be applied 10 | to a proxy. The matching criteria includes the metadata associated with a proxy, 11 | workload instance info such as labels attached to the pod/VM, or any other info 12 | that the proxy provides to Istio during the initial handshake. If multiple conditions are 13 | specified, all conditions need to match in order for the workload instance to be 14 | selected. Currently, only label based selection mechanism is supported.

15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 35 | 38 | 39 | 40 |
FieldTypeDescriptionRequired
matchLabelsmap<string, string> 30 |

One or more labels that indicate a specific set of pods/VMs 31 | on which a policy should be applied. The scope of label search is restricted to 32 | the configuration namespace in which the resource is present.

33 | 34 |
36 | Yes 37 |
41 |
42 | -------------------------------------------------------------------------------- /common/scripts/lint_copyright_banner.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY 4 | # 5 | # The original version of this file is located in the https://github.com/istio/common-files repo. 6 | # If you're looking at this file in a different repo and want to make a change, please go to the 7 | # common-files repo, make the change there and check it in. Then come back to this repo and run 8 | # "make update-common". 9 | 10 | # Copyright Istio Authors 11 | # 12 | # Licensed under the Apache License, Version 2.0 (the "License"); 13 | # you may not use this file except in compliance with the License. 14 | # You may obtain a copy of the License at 15 | # 16 | # http://www.apache.org/licenses/LICENSE-2.0 17 | # 18 | # Unless required by applicable law or agreed to in writing, software 19 | # distributed under the License is distributed on an "AS IS" BASIS, 20 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | # See the License for the specific language governing permissions and 22 | # limitations under the License. 23 | 24 | set -e 25 | 26 | ec=0 27 | for fn in "$@"; do 28 | if ! grep -L -q -e "Apache License, Version 2" "${fn}"; then 29 | echo "Missing license: ${fn}" 30 | ec=1 31 | fi 32 | 33 | if ! grep -L -q -e "Copyright" "${fn}"; then 34 | echo "Missing copyright: ${fn}" 35 | ec=1 36 | fi 37 | done 38 | 39 | exit $ec 40 | -------------------------------------------------------------------------------- /policy/v1beta1/cfg_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: policy/v1beta1/cfg.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | fmt "fmt" 8 | _ "github.com/gogo/protobuf/gogoproto" 9 | proto "github.com/gogo/protobuf/proto" 10 | _ "github.com/gogo/protobuf/types" 11 | _ "istio.io/gogo-genproto/googleapis/google/api" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // DeepCopyInto supports using AttributeManifest within kubernetes types, where deepcopy-gen is used. 21 | func (in *AttributeManifest) DeepCopyInto(out *AttributeManifest) { 22 | p := proto.Clone(in).(*AttributeManifest) 23 | *out = *p 24 | } 25 | 26 | // DeepCopyInto supports using Rule within kubernetes types, where deepcopy-gen is used. 27 | func (in *Rule) DeepCopyInto(out *Rule) { 28 | p := proto.Clone(in).(*Rule) 29 | *out = *p 30 | } 31 | 32 | // DeepCopyInto supports using Instance within kubernetes types, where deepcopy-gen is used. 33 | func (in *Instance) DeepCopyInto(out *Instance) { 34 | p := proto.Clone(in).(*Instance) 35 | *out = *p 36 | } 37 | 38 | // DeepCopyInto supports using Handler within kubernetes types, where deepcopy-gen is used. 39 | func (in *Handler) DeepCopyInto(out *Handler) { 40 | p := proto.Clone(in).(*Handler) 41 | *out = *p 42 | } 43 | -------------------------------------------------------------------------------- /mcp/v1alpha1/resource.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | // This package defines the common, core types used by the Mesh Configuration Protocol. 18 | package istio.mcp.v1alpha1; 19 | 20 | import "google/protobuf/any.proto"; 21 | import "gogoproto/gogo.proto"; 22 | import "mcp/v1alpha1/metadata.proto"; 23 | 24 | option go_package="istio.io/api/mcp/v1alpha1"; 25 | option (gogoproto.equal_all) = true; 26 | 27 | // Resource as transferred via the Mesh Configuration Protocol. Each 28 | // resource is made up of common metadata, and a type-specific resource payload. 29 | message Resource { 30 | // Common metadata describing the resource. 31 | istio.mcp.v1alpha1.Metadata metadata = 1; 32 | 33 | // The primary payload for the resource. 34 | google.protobuf.Any body = 2; 35 | } 36 | -------------------------------------------------------------------------------- /licenses/gopkg.in/check.v1/LICENSE: -------------------------------------------------------------------------------- 1 | Gocheck - A rich testing framework for Go 2 | 3 | Copyright (c) 2010-2013 Gustavo Niemeyer 4 | 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are met: 9 | 10 | 1. Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /security/v1beta1/jwt_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: security/v1beta1/jwt.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | bytes "bytes" 8 | fmt "fmt" 9 | github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 10 | proto "github.com/gogo/protobuf/proto" 11 | _ "istio.io/gogo-genproto/googleapis/google/api" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // MarshalJSON is a custom marshaler for JWTRule 21 | func (this *JWTRule) MarshalJSON() ([]byte, error) { 22 | str, err := JwtMarshaler.MarshalToString(this) 23 | return []byte(str), err 24 | } 25 | 26 | // UnmarshalJSON is a custom unmarshaler for JWTRule 27 | func (this *JWTRule) UnmarshalJSON(b []byte) error { 28 | return JwtUnmarshaler.Unmarshal(bytes.NewReader(b), this) 29 | } 30 | 31 | // MarshalJSON is a custom marshaler for JWTHeader 32 | func (this *JWTHeader) MarshalJSON() ([]byte, error) { 33 | str, err := JwtMarshaler.MarshalToString(this) 34 | return []byte(str), err 35 | } 36 | 37 | // UnmarshalJSON is a custom unmarshaler for JWTHeader 38 | func (this *JWTHeader) UnmarshalJSON(b []byte) error { 39 | return JwtUnmarshaler.Unmarshal(bytes.NewReader(b), this) 40 | } 41 | 42 | var ( 43 | JwtMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 44 | JwtUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{} 45 | ) 46 | -------------------------------------------------------------------------------- /envoy/config/filter/http/alpn/v2alpha1/config.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | // $title: ALPN filter for overriding ALPN for upstream TLS connections. 18 | 19 | package istio.envoy.config.filter.http.alpn.v2alpha1; 20 | 21 | option go_package = "istio.io/api/envoy/config/filter/http/alpn/v2alpha1"; 22 | 23 | // FilterConfig is the config for Istio-specific filter. 24 | message FilterConfig { 25 | // Upstream protocols 26 | enum Protocol { 27 | HTTP10 = 0; 28 | HTTP11 = 1; 29 | HTTP2 = 2; 30 | } 31 | 32 | message AlpnOverride { 33 | // Upstream protocol 34 | Protocol upstream_protocol = 1; 35 | // A list of ALPN that will override the ALPN for upstream TLS connections. 36 | repeated string alpn_override = 2; 37 | } 38 | 39 | // Map from upstream protocol to list of ALPN 40 | repeated AlpnOverride alpn_override = 1; 41 | } 42 | -------------------------------------------------------------------------------- /common-protos/k8s.io/apimachinery/pkg/util/intstr/generated.proto: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | 18 | // This file was autogenerated by go-to-protobuf. Do not edit it manually! 19 | 20 | syntax = 'proto2'; 21 | 22 | package k8s.io.apimachinery.pkg.util.intstr; 23 | 24 | // Package-wide variables from generator "generated". 25 | option go_package = "intstr"; 26 | 27 | // IntOrString is a type that can hold an int32 or a string. When used in 28 | // JSON or YAML marshalling and unmarshalling, it produces or consumes the 29 | // inner type. This allows you to have, for example, a JSON field that can 30 | // accept a name or number. 31 | // TODO: Rename to Int32OrString 32 | // 33 | // +protobuf=true 34 | // +protobuf.options.(gogoproto.goproto_stringer)=false 35 | // +k8s:openapi-gen=true 36 | message IntOrString { 37 | optional int64 type = 1; 38 | 39 | optional int32 intVal = 2; 40 | 41 | optional string strVal = 3; 42 | } 43 | 44 | -------------------------------------------------------------------------------- /licenses/github.com/PuerkitoBio/purell/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012, Martin Angers 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 5 | 6 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 7 | 8 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 9 | 10 | * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 13 | -------------------------------------------------------------------------------- /licenses/github.com/pmezard/go-difflib/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, Patrick Mezard 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | The names of its contributors may not be used to endorse or promote 14 | products derived from this software without specific prior written 15 | permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 18 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 23 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 24 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 25 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 26 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /common-protos/google/type/dayofweek.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option go_package = "google.golang.org/genproto/googleapis/type/dayofweek;dayofweek"; 21 | option java_multiple_files = true; 22 | option java_outer_classname = "DayOfWeekProto"; 23 | option java_package = "com.google.type"; 24 | option objc_class_prefix = "GTP"; 25 | 26 | 27 | // Represents a day of week. 28 | enum DayOfWeek { 29 | // The unspecified day-of-week. 30 | DAY_OF_WEEK_UNSPECIFIED = 0; 31 | 32 | // The day-of-week of Monday. 33 | MONDAY = 1; 34 | 35 | // The day-of-week of Tuesday. 36 | TUESDAY = 2; 37 | 38 | // The day-of-week of Wednesday. 39 | WEDNESDAY = 3; 40 | 41 | // The day-of-week of Thursday. 42 | THURSDAY = 4; 43 | 44 | // The day-of-week of Friday. 45 | FRIDAY = 5; 46 | 47 | // The day-of-week of Saturday. 48 | SATURDAY = 6; 49 | 50 | // The day-of-week of Sunday. 51 | SUNDAY = 7; 52 | } 53 | -------------------------------------------------------------------------------- /licenses/golang.org/x/net/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/sys/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/crypto/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/lint/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/oauth2/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/sync/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/text/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/tools/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Istio APIs and Common Configuration Definitions 2 | 3 | This repository defines component-level APIs and common configuration formats for the Istio 4 | platform. These definitions are specified using the [protobuf](https://github.com/google/protobuf) 5 | syntax. 6 | 7 | This repository depends only on the [tools](https://github.com/istio/tools) repository for tools used during build. This repository *will not* depend on any 8 | other repositories. Except for tools, all other Istio repositories can take a dependency on the api repository. 9 | 10 | ## API Guidelines 11 | 12 | When making changes to the protos in this repository, your changes **must** comply with the [API guidelines](./GUIDELINES.md). 13 | 14 | ## Updating 15 | 16 | After the [protobuf](https://github.com/google/protobuf) definitions 17 | are updated, the corresponding `*pb.go`, `_pb2.py`, `*.json` and 18 | Kubernetes Custom Resource Definition files must be 19 | generated by running `make clean gen` and submitted as 20 | part of the same PR as the updated definitions. Also `make 21 | proto-commit` must be run to update the proto.lock file with new 22 | changes. 23 | 24 | If releasing a new tagged version, please update python/istio-api/setup.py version to reflect. 25 | 26 | ## Backwards Incompatible Changes 27 | 28 | If a PR tries to make backwards incompatible changes, it will be 29 | blocked by protolock. To force these changes in, install 30 | [protolock](https://github.com/nilslice/protolock) and run 31 | `protolock commit --force`. 32 | 33 | You must include a note in your PR that you had to force the 34 | protolock and why. 35 | -------------------------------------------------------------------------------- /licenses/github.com/google/go-cmp/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/github.com/google/uuid/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009,2014 Google Inc. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/honnef.co/go/tools/gcsizes/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/github.com/PuerkitoBio/urlesc/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/golang.org/x/tools/cmd/getgo/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/github.com/elazarl/goproxy/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Elazar Leibovich. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Elazar Leibovich. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /licenses/github.com/evanphx/json-patch/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Evan Phoenix 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | * Neither the name of the Evan Phoenix nor the names of its contributors 13 | may be used to endorse or promote products derived from this software 14 | without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /licenses/github.com/golang/protobuf/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2010 The Go Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | -------------------------------------------------------------------------------- /common-protos/google/api/label.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api; 19 | 20 | option cc_enable_arenas = true; 21 | option go_package = "google.golang.org/genproto/googleapis/api/label;label"; 22 | option java_multiple_files = true; 23 | option java_outer_classname = "LabelProto"; 24 | option java_package = "com.google.api"; 25 | option objc_class_prefix = "GAPI"; 26 | 27 | // A description of a label. 28 | message LabelDescriptor { 29 | // Value types that can be used as label values. 30 | enum ValueType { 31 | // A variable-length string. This is the default. 32 | STRING = 0; 33 | 34 | // Boolean; true or false. 35 | BOOL = 1; 36 | 37 | // A 64-bit signed integer. 38 | INT64 = 2; 39 | } 40 | 41 | // The label key. 42 | string key = 1; 43 | 44 | // The type of data that can be assigned to the label. 45 | ValueType value_type = 2; 46 | 47 | // A human-readable description for the label. 48 | string description = 3; 49 | } 50 | -------------------------------------------------------------------------------- /common-protos/google/type/latlng.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option cc_enable_arenas = true; 21 | option go_package = "google.golang.org/genproto/googleapis/type/latlng;latlng"; 22 | option java_multiple_files = true; 23 | option java_outer_classname = "LatLngProto"; 24 | option java_package = "com.google.type"; 25 | option objc_class_prefix = "GTP"; 26 | 27 | 28 | // An object representing a latitude/longitude pair. This is expressed as a pair 29 | // of doubles representing degrees latitude and degrees longitude. Unless 30 | // specified otherwise, this must conform to the 31 | // WGS84 32 | // standard. Values must be within normalized ranges. 33 | message LatLng { 34 | // The latitude in degrees. It must be in the range [-90.0, +90.0]. 35 | double latitude = 1; 36 | 37 | // The longitude in degrees. It must be in the range [-180.0, +180.0]. 38 | double longitude = 2; 39 | } 40 | -------------------------------------------------------------------------------- /licenses/gopkg.in/inf.v0/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Péter Surányi. Portions Copyright (c) 2009 The Go 2 | Authors. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /licenses/github.com/mxk/go-flowrate/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 The Go-FlowRate Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the 13 | distribution. 14 | 15 | * Neither the name of the go-flowrate project nor the names of its 16 | contributors may be used to endorse or promote products derived 17 | from this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /licenses/github.com/spf13/pflag/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Alex Ogier. All rights reserved. 2 | Copyright (c) 2012 The Go Authors. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /licenses/gopkg.in/fsnotify.v1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 The Go Authors. All rights reserved. 2 | Copyright (c) 2012 fsnotify Authors. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /licenses/honnef.co/go/tools/lint/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 The Go Authors. All rights reserved. 2 | Copyright (c) 2016 Dominik Honnef. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /licenses/honnef.co/go/tools/ssa/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 The Go Authors. All rights reserved. 2 | Copyright (c) 2016 Dominik Honnef. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /licenses/github.com/fsnotify/fsnotify/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 The Go Authors. All rights reserved. 2 | Copyright (c) 2012 fsnotify Authors. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above 11 | copyright notice, this list of conditions and the following disclaimer 12 | in the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Google Inc. nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /mixer/adapter/model/v1beta1/check.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package istio.mixer.adapter.model.v1beta1; 18 | 19 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 20 | 21 | import "gogoproto/gogo.proto"; 22 | import "google/protobuf/duration.proto"; 23 | import "google/rpc/status.proto"; 24 | 25 | option (gogoproto.goproto_getters_all) = false; 26 | option (gogoproto.equal_all) = false; 27 | option (gogoproto.gostring_all) = false; 28 | 29 | // Expresses the result of a precondition check. 30 | message CheckResult { 31 | // A status code of OK indicates preconditions were satisfied. Any other code indicates preconditions were not 32 | // satisfied and details describe why. 33 | google.rpc.Status status = 1 [(gogoproto.nullable) = false]; 34 | // The amount of time for which this result can be considered valid. 35 | google.protobuf.Duration valid_duration = 2 [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; 36 | // The number of uses for which this result can be considered valid. 37 | int32 valid_use_count = 3; 38 | } 39 | -------------------------------------------------------------------------------- /security/v1beta1/peer_authentication_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: security/v1beta1/peer_authentication.proto 3 | 4 | package v1beta1 5 | 6 | import ( 7 | bytes "bytes" 8 | fmt "fmt" 9 | github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 10 | proto "github.com/gogo/protobuf/proto" 11 | _ "istio.io/api/type/v1beta1" 12 | math "math" 13 | ) 14 | 15 | // Reference imports to suppress errors if they are not otherwise used. 16 | var _ = proto.Marshal 17 | var _ = fmt.Errorf 18 | var _ = math.Inf 19 | 20 | // MarshalJSON is a custom marshaler for PeerAuthentication 21 | func (this *PeerAuthentication) MarshalJSON() ([]byte, error) { 22 | str, err := PeerAuthenticationMarshaler.MarshalToString(this) 23 | return []byte(str), err 24 | } 25 | 26 | // UnmarshalJSON is a custom unmarshaler for PeerAuthentication 27 | func (this *PeerAuthentication) UnmarshalJSON(b []byte) error { 28 | return PeerAuthenticationUnmarshaler.Unmarshal(bytes.NewReader(b), this) 29 | } 30 | 31 | // MarshalJSON is a custom marshaler for PeerAuthentication_MutualTLS 32 | func (this *PeerAuthentication_MutualTLS) MarshalJSON() ([]byte, error) { 33 | str, err := PeerAuthenticationMarshaler.MarshalToString(this) 34 | return []byte(str), err 35 | } 36 | 37 | // UnmarshalJSON is a custom unmarshaler for PeerAuthentication_MutualTLS 38 | func (this *PeerAuthentication_MutualTLS) UnmarshalJSON(b []byte) error { 39 | return PeerAuthenticationUnmarshaler.Unmarshal(bytes.NewReader(b), this) 40 | } 41 | 42 | var ( 43 | PeerAuthenticationMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 44 | PeerAuthenticationUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{} 45 | ) 46 | -------------------------------------------------------------------------------- /licenses/gopkg.in/tomb.v1/LICENSE: -------------------------------------------------------------------------------- 1 | tomb - support for clean goroutine termination in Go. 2 | 3 | Copyright (c) 2010-2011 - Gustavo Niemeyer 4 | 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, 11 | this list of conditions and the following disclaimer. 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | * Neither the name of the copyright holder nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 23 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 24 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 26 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 27 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 28 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /common-protos/k8s.io/apimachinery/pkg/apis/meta/v1beta1/generated.proto: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | 18 | // This file was autogenerated by go-to-protobuf. Do not edit it manually! 19 | 20 | syntax = 'proto2'; 21 | 22 | package k8s.io.apimachinery.pkg.apis.meta.v1beta1; 23 | 24 | import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; 25 | import "k8s.io/apimachinery/pkg/runtime/generated.proto"; 26 | import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; 27 | 28 | // Package-wide variables from generator "generated". 29 | option go_package = "v1beta1"; 30 | 31 | // PartialObjectMetadataList contains a list of objects containing only their metadata. 32 | // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object 33 | message PartialObjectMetadataList { 34 | // Standard list metadata. 35 | // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds 36 | // +optional 37 | optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 2; 38 | 39 | // items contains each of the included items. 40 | repeated k8s.io.apimachinery.pkg.apis.meta.v1.PartialObjectMetadata items = 1; 41 | } 42 | 43 | -------------------------------------------------------------------------------- /common-protos/google/type/money.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option cc_enable_arenas = true; 21 | option go_package = "google.golang.org/genproto/googleapis/type/money;money"; 22 | option java_multiple_files = true; 23 | option java_outer_classname = "MoneyProto"; 24 | option java_package = "com.google.type"; 25 | option objc_class_prefix = "GTP"; 26 | 27 | 28 | // Represents an amount of money with its currency type. 29 | message Money { 30 | // The 3-letter currency code defined in ISO 4217. 31 | string currency_code = 1; 32 | 33 | // The whole units of the amount. 34 | // For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. 35 | int64 units = 2; 36 | 37 | // Number of nano (10^-9) units of the amount. 38 | // The value must be between -999,999,999 and +999,999,999 inclusive. 39 | // If `units` is positive, `nanos` must be positive or zero. 40 | // If `units` is zero, `nanos` can be positive, zero, or negative. 41 | // If `units` is negative, `nanos` must be negative or zero. 42 | // For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. 43 | int32 nanos = 3; 44 | } 45 | -------------------------------------------------------------------------------- /licenses/github.com/gogo/protobuf/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, The GoGo Authors. All rights reserved. 2 | 3 | Protocol Buffers for Go with Gadgets 4 | 5 | Go support for Protocol Buffers - Google's data interchange format 6 | 7 | Copyright 2010 The Go Authors. All rights reserved. 8 | https://github.com/golang/protobuf 9 | 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are 12 | met: 13 | 14 | * Redistributions of source code must retain the above copyright 15 | notice, this list of conditions and the following disclaimer. 16 | * Redistributions in binary form must reproduce the above 17 | copyright notice, this list of conditions and the following disclaimer 18 | in the documentation and/or other materials provided with the 19 | distribution. 20 | * Neither the name of Google Inc. nor the names of its 21 | contributors may be used to endorse or promote products derived from 22 | this software without specific prior written permission. 23 | 24 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 25 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 26 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 27 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 28 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 29 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 30 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 31 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 32 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 33 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 34 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35 | 36 | -------------------------------------------------------------------------------- /common-protos/google/type/timeofday.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option cc_enable_arenas = true; 21 | option go_package = "google.golang.org/genproto/googleapis/type/timeofday;timeofday"; 22 | option java_multiple_files = true; 23 | option java_outer_classname = "TimeOfDayProto"; 24 | option java_package = "com.google.type"; 25 | option objc_class_prefix = "GTP"; 26 | 27 | 28 | // Represents a time of day. The date and time zone are either not significant 29 | // or are specified elsewhere. An API may choose to allow leap seconds. Related 30 | // types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`. 31 | message TimeOfDay { 32 | // Hours of day in 24 hour format. Should be from 0 to 23. An API may choose 33 | // to allow the value "24:00:00" for scenarios like business closing time. 34 | int32 hours = 1; 35 | 36 | // Minutes of hour of day. Must be from 0 to 59. 37 | int32 minutes = 2; 38 | 39 | // Seconds of minutes of the time. Must normally be from 0 to 59. An API may 40 | // allow the value 60 if it allows leap-seconds. 41 | int32 seconds = 3; 42 | 43 | // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. 44 | int32 nanos = 4; 45 | } 46 | -------------------------------------------------------------------------------- /type/v1beta1/selector.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto3"; 15 | 16 | import "google/api/field_behavior.proto"; 17 | 18 | // $title: Workload Selector 19 | // $description: Definition of a workload selector. 20 | // $location: https://istio.io/docs/reference/config/type/v1beta1/workload-selector.html 21 | 22 | package istio.type.v1beta1; 23 | 24 | option go_package="istio.io/api/type/v1beta1"; 25 | 26 | // WorkloadSelector specifies the criteria used to determine if a policy can be applied 27 | // to a proxy. The matching criteria includes the metadata associated with a proxy, 28 | // workload instance info such as labels attached to the pod/VM, or any other info 29 | // that the proxy provides to Istio during the initial handshake. If multiple conditions are 30 | // specified, all conditions need to match in order for the workload instance to be 31 | // selected. Currently, only label based selection mechanism is supported. 32 | message WorkloadSelector { 33 | // One or more labels that indicate a specific set of pods/VMs 34 | // on which a policy should be applied. The scope of label search is restricted to 35 | // the configuration namespace in which the resource is present. 36 | map match_labels = 1 [(google.api.field_behavior) = REQUIRED]; 37 | } 38 | -------------------------------------------------------------------------------- /policy/v1beta1/value_type.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package istio.policy.v1beta1; 18 | 19 | option go_package="istio.io/api/policy/v1beta1"; 20 | 21 | // ValueType describes the types that values in the Istio system can take. These 22 | // are used to describe the type of Attributes at run time, describe the type of 23 | // the result of evaluating an expression, and to describe the runtime type of 24 | // fields of other descriptors. 25 | enum ValueType { 26 | // Invalid, default value. 27 | VALUE_TYPE_UNSPECIFIED = 0; 28 | 29 | // An undiscriminated variable-length string. 30 | STRING = 1; 31 | 32 | // An undiscriminated 64-bit signed integer. 33 | INT64 = 2; 34 | 35 | // An undiscriminated 64-bit floating-point value. 36 | DOUBLE = 3; 37 | 38 | // An undiscriminated boolean value. 39 | BOOL = 4; 40 | 41 | // A point in time. 42 | TIMESTAMP = 5; 43 | 44 | // An IP address. 45 | IP_ADDRESS = 6; 46 | 47 | // An email address. 48 | EMAIL_ADDRESS = 7; 49 | 50 | // A URI. 51 | URI = 8; 52 | 53 | // A DNS name. 54 | DNS_NAME = 9; 55 | 56 | // A span between two points in time. 57 | DURATION = 10; 58 | 59 | // A map string -> string, typically used by headers. 60 | STRING_MAP = 11; 61 | } 62 | -------------------------------------------------------------------------------- /common-protos/google/api/expr/v1alpha1/cel_service.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api.expr.v1alpha1; 19 | 20 | import "google/api/expr/v1alpha1/conformance_service.proto"; 21 | 22 | option cc_enable_arenas = true; 23 | option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; 24 | option java_multiple_files = true; 25 | option java_outer_classname = "CelServiceProto"; 26 | option java_package = "com.google.api.expr.v1alpha1"; 27 | 28 | // Access a CEL implementation from another process or machine. 29 | // A CEL implementation is decomposed as a parser, a static checker, 30 | // and an evaluator. Every CEL implementation is expected to provide 31 | // a server for this API. The API will be used for conformance testing, 32 | // utilities, and execution as a service. 33 | service CelService { 34 | // Transforms CEL source text into a parsed representation. 35 | rpc Parse(ParseRequest) returns (ParseResponse) {} 36 | 37 | // Runs static checks on a parsed CEL representation and return 38 | // an annotated representation, or a set of issues. 39 | rpc Check(CheckRequest) returns (CheckResponse) {} 40 | 41 | // Evaluates a parsed or annotation CEL representation given 42 | // values of external bindings. 43 | rpc Eval(EvalRequest) returns (EvalResponse) {} 44 | } 45 | -------------------------------------------------------------------------------- /label/label.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package label contains common definitions for workload labels used by Istio. 16 | package label 17 | 18 | const ( 19 | // TLSMode is the name of label given to service instances to determine whether to use mTLS or 20 | // fallback to plaintext/tls 21 | TLSMode = "security.istio.io/tlsMode" 22 | 23 | // IstioCanonicalServiceName is the name of label for the Istio Canonical Service for a workload instance. 24 | IstioCanonicalServiceName = "service.istio.io/canonical-name" 25 | 26 | // IstioCanonicalServiceRevision is the name of label for the Istio Canonical Service revision for a workload instance. 27 | IstioCanonicalServiceRevision = "service.istio.io/canonical-revision" 28 | 29 | // IoIstioRev is the Istio control plane revision associated with the resource; e.g. "canary" 30 | IstioRev = "istio.io/rev" 31 | 32 | // IstioOperatorComponent is the Istio operator component name of the resource, e.g. "Pilot" 33 | IstioOperatorComponent = "operator.istio.io/component" 34 | 35 | // IstioOperatorManaged is "Reconcile" if the Istio operator will reconcile the resource. 36 | IstioOperatorManaged = "operator.istio.io/managed" 37 | 38 | // IstioOperatorVersion is the Istio operator version that installed the resource, e.g. "1.6.0" 39 | IstioOperatorVersion = "operator.istio.io/version" 40 | ) 41 | -------------------------------------------------------------------------------- /common-protos/google/api/expr/v1alpha1/explain.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api.expr.v1alpha1; 19 | 20 | import "google/api/expr/v1alpha1/value.proto"; 21 | 22 | option cc_enable_arenas = true; 23 | option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; 24 | option java_multiple_files = true; 25 | option java_outer_classname = "ExplainProto"; 26 | option java_package = "com.google.api.expr.v1alpha1"; 27 | 28 | // Values of intermediate expressions produced when evaluating expression. 29 | // Deprecated, use `EvalState` instead. 30 | message Explain { 31 | option deprecated = true; 32 | 33 | // ID and value index of one step. 34 | message ExprStep { 35 | // ID of corresponding Expr node. 36 | int64 id = 1; 37 | 38 | // Index of the value in the values list. 39 | int32 value_index = 2; 40 | } 41 | 42 | // All of the observed values. 43 | // 44 | // The field value_index is an index in the values list. 45 | // Separating values from steps is needed to remove redundant values. 46 | repeated Value values = 1; 47 | 48 | // List of steps. 49 | // 50 | // Repeated evaluations of the same expression generate new ExprStep 51 | // instances. The order of such ExprStep instances matches the order of 52 | // elements returned by Comprehension.iter_range. 53 | repeated ExprStep expr_steps = 2; 54 | } 55 | -------------------------------------------------------------------------------- /envoy/config/filter/http/authn/v2alpha1/config.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | import "authentication/v1alpha1/policy.proto"; 18 | 19 | // $title: Internal API for authentication implementation on Envoy. 20 | 21 | package istio.envoy.config.filter.http.authn.v2alpha1; 22 | 23 | 24 | option go_package = "istio.io/api/envoy/config/filter/http/authn/v2alpha1"; 25 | 26 | // FilterConfig is the config for Istio-specific filter that is used to enforce 27 | // authentication policy on Envoy. 28 | message FilterConfig { 29 | // Policy is the original copy of the policy. 30 | istio.authentication.v1alpha1.Policy policy = 1; 31 | 32 | // Map from issuer to location of the payload that is emitted by Jwt filter. 33 | // This information is added by pilot when construct and add Jwt and 34 | // authN filters. 35 | map jwt_output_payload_locations = 2; 36 | 37 | // Skips validating the peer's trust domain. 38 | // By default, the istio authn filter will reject the request if the peer and 39 | // the local service is not in the same trust domain. 40 | // Set this field to true to skip the validation and allows peers from any 41 | // trust domains. 42 | // Note, the istio authn filter only validates the trust domain when mTLS is 43 | // used, In other words, this field has no effect for plaintext traffic. 44 | bool skip_validate_trust_domain = 3; 45 | } 46 | -------------------------------------------------------------------------------- /common-protos/google/type/calendar_period.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option go_package = "google.golang.org/genproto/googleapis/type/calendarperiod;calendarperiod"; 21 | option java_multiple_files = true; 22 | option java_outer_classname = "CalendarPeriodProto"; 23 | option java_package = "com.google.type"; 24 | option objc_class_prefix = "GTP"; 25 | 26 | 27 | // A `CalendarPeriod` represents the abstract concept of a time period that has 28 | // a canonical start. Grammatically, "the start of the current 29 | // `CalendarPeriod`." All calendar times begin at midnight UTC. 30 | enum CalendarPeriod { 31 | // Undefined period, raises an error. 32 | CALENDAR_PERIOD_UNSPECIFIED = 0; 33 | 34 | // A day. 35 | DAY = 1; 36 | 37 | // A week. Weeks begin on Monday, following 38 | // [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date). 39 | WEEK = 2; 40 | 41 | // A fortnight. The first calendar fortnight of the year begins at the start 42 | // of week 1 according to 43 | // [ISO 8601](https://en.wikipedia.org/wiki/ISO_week_date). 44 | FORTNIGHT = 3; 45 | 46 | // A month. 47 | MONTH = 4; 48 | 49 | // A quarter. Quarters start on dates 1-Jan, 1-Apr, 1-Jul, and 1-Oct of each 50 | // year. 51 | QUARTER = 5; 52 | 53 | // A half-year. Half-years start on dates 1-Jan and 1-Jul. 54 | HALF = 6; 55 | 56 | // A year. 57 | YEAR = 7; 58 | } 59 | -------------------------------------------------------------------------------- /common-protos/google/type/expr.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option go_package = "google.golang.org/genproto/googleapis/type/expr;expr"; 21 | option java_multiple_files = true; 22 | option java_outer_classname = "ExprProto"; 23 | option java_package = "com.google.type"; 24 | option objc_class_prefix = "GTP"; 25 | 26 | 27 | // Represents an expression text. Example: 28 | // 29 | // title: "User account presence" 30 | // description: "Determines whether the request has a user account" 31 | // expression: "size(request.user) > 0" 32 | message Expr { 33 | // Textual representation of an expression in 34 | // Common Expression Language syntax. 35 | // 36 | // The application context of the containing message determines which 37 | // well-known feature set of CEL is supported. 38 | string expression = 1; 39 | 40 | // An optional title for the expression, i.e. a short string describing 41 | // its purpose. This can be used e.g. in UIs which allow to enter the 42 | // expression. 43 | string title = 2; 44 | 45 | // An optional description of the expression. This is a longer text which 46 | // describes the expression, e.g. when hovered over it in a UI. 47 | string description = 3; 48 | 49 | // An optional string indicating the location of the expression for error 50 | // reporting, e.g. a file name and a position in the file. 51 | string location = 4; 52 | } 53 | -------------------------------------------------------------------------------- /common/scripts/report_build_info.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY 4 | # 5 | # The original version of this file is located in the https://github.com/istio/common-files repo. 6 | # If you're looking at this file in a different repo and want to make a change, please go to the 7 | # common-files repo, make the change there and check it in. Then come back to this repo and run 8 | # "make update-common". 9 | 10 | # Copyright Istio Authors 11 | # 12 | # Licensed under the Apache License, Version 2.0 (the "License"); 13 | # you may not use this file except in compliance with the License. 14 | # You may obtain a copy of the License at 15 | # 16 | # http://www.apache.org/licenses/LICENSE-2.0 17 | # 18 | # Unless required by applicable law or agreed to in writing, software 19 | # distributed under the License is distributed on an "AS IS" BASIS, 20 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | # See the License for the specific language governing permissions and 22 | # limitations under the License. 23 | 24 | if BUILD_GIT_REVISION=$(git rev-parse HEAD 2> /dev/null); then 25 | if [[ -n "$(git status --porcelain 2>/dev/null)" ]]; then 26 | BUILD_GIT_REVISION=${BUILD_GIT_REVISION}"-dirty" 27 | fi 28 | else 29 | BUILD_GIT_REVISION=unknown 30 | fi 31 | 32 | # Check for local changes 33 | if git diff-index --quiet HEAD --; then 34 | tree_status="Clean" 35 | else 36 | tree_status="Modified" 37 | fi 38 | 39 | # security wanted VERSION='unknown' 40 | VERSION="${BUILD_GIT_REVISION}" 41 | if [[ -n ${ISTIO_VERSION} ]]; then 42 | VERSION="${ISTIO_VERSION}" 43 | fi 44 | 45 | GIT_DESCRIBE_TAG=$(git describe --tags) 46 | HUB=${HUB:-"docker.io/istio"} 47 | 48 | # used by common/scripts/gobuild.sh 49 | echo "istio.io/pkg/version.buildVersion=${VERSION}" 50 | echo "istio.io/pkg/version.buildGitRevision=${BUILD_GIT_REVISION}" 51 | echo "istio.io/pkg/version.buildStatus=${tree_status}" 52 | echo "istio.io/pkg/version.buildTag=${GIT_DESCRIBE_TAG}" 53 | echo "istio.io/pkg/version.buildHub=${HUB}" 54 | -------------------------------------------------------------------------------- /operator/v1alpha1/operator_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-golang. DO NOT EDIT. 2 | // source: operator/v1alpha1/operator.proto 3 | 4 | // Configuration affecting Istio control plane installation version and shape. 5 | 6 | package v1alpha1 7 | 8 | import ( 9 | bytes "bytes" 10 | fmt "fmt" 11 | github_com_golang_protobuf_jsonpb "github.com/golang/protobuf/jsonpb" 12 | proto "github.com/golang/protobuf/proto" 13 | _ "istio.io/api/mesh/v1alpha1" 14 | math "math" 15 | ) 16 | 17 | // Reference imports to suppress errors if they are not otherwise used. 18 | var _ = proto.Marshal 19 | var _ = fmt.Errorf 20 | var _ = math.Inf 21 | 22 | // MarshalJSON is a custom marshaler for IstioOperatorSpec 23 | func (this *IstioOperatorSpec) MarshalJSON() ([]byte, error) { 24 | str, err := OperatorMarshaler.MarshalToString(this) 25 | return []byte(str), err 26 | } 27 | 28 | // UnmarshalJSON is a custom unmarshaler for IstioOperatorSpec 29 | func (this *IstioOperatorSpec) UnmarshalJSON(b []byte) error { 30 | return OperatorUnmarshaler.Unmarshal(bytes.NewReader(b), this) 31 | } 32 | 33 | // MarshalJSON is a custom marshaler for InstallStatus 34 | func (this *InstallStatus) MarshalJSON() ([]byte, error) { 35 | str, err := OperatorMarshaler.MarshalToString(this) 36 | return []byte(str), err 37 | } 38 | 39 | // UnmarshalJSON is a custom unmarshaler for InstallStatus 40 | func (this *InstallStatus) UnmarshalJSON(b []byte) error { 41 | return OperatorUnmarshaler.Unmarshal(bytes.NewReader(b), this) 42 | } 43 | 44 | // MarshalJSON is a custom marshaler for InstallStatus_VersionStatus 45 | func (this *InstallStatus_VersionStatus) MarshalJSON() ([]byte, error) { 46 | str, err := OperatorMarshaler.MarshalToString(this) 47 | return []byte(str), err 48 | } 49 | 50 | // UnmarshalJSON is a custom unmarshaler for InstallStatus_VersionStatus 51 | func (this *InstallStatus_VersionStatus) UnmarshalJSON(b []byte) error { 52 | return OperatorUnmarshaler.Unmarshal(bytes.NewReader(b), this) 53 | } 54 | 55 | var ( 56 | OperatorMarshaler = &github_com_golang_protobuf_jsonpb.Marshaler{} 57 | OperatorUnmarshaler = &github_com_golang_protobuf_jsonpb.Unmarshaler{} 58 | ) 59 | -------------------------------------------------------------------------------- /common-protos/google/type/date.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.type; 19 | 20 | option cc_enable_arenas = true; 21 | option go_package = "google.golang.org/genproto/googleapis/type/date;date"; 22 | option java_multiple_files = true; 23 | option java_outer_classname = "DateProto"; 24 | option java_package = "com.google.type"; 25 | option objc_class_prefix = "GTP"; 26 | 27 | 28 | // Represents a whole or partial calendar date, e.g. a birthday. The time of day 29 | // and time zone are either specified elsewhere or are not significant. The date 30 | // is relative to the Proleptic Gregorian Calendar. This can represent: 31 | // 32 | // * A full date, with non-zero year, month and day values 33 | // * A month and day value, with a zero year, e.g. an anniversary 34 | // * A year on its own, with zero month and day values 35 | // * A year and month value, with a zero day, e.g. a credit card expiration date 36 | // 37 | // Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`. 38 | message Date { 39 | // Year of date. Must be from 1 to 9999, or 0 if specifying a date without 40 | // a year. 41 | int32 year = 1; 42 | 43 | // Month of year. Must be from 1 to 12, or 0 if specifying a year without a 44 | // month and day. 45 | int32 month = 2; 46 | 47 | // Day of month. Must be from 1 to 31 and valid for the year and month, or 0 48 | // if specifying a year by itself or a year and month where the day is not 49 | // significant. 50 | int32 day = 3; 51 | } 52 | -------------------------------------------------------------------------------- /common/scripts/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY 4 | # 5 | # The original version of this file is located in the https://github.com/istio/common-files repo. 6 | # If you're looking at this file in a different repo and want to make a change, please go to the 7 | # common-files repo, make the change there and check it in. Then come back to this repo and run 8 | # "make update-common". 9 | 10 | # Copyright Istio Authors 11 | # 12 | # Licensed under the Apache License, Version 2.0 (the "License"); 13 | # you may not use this file except in compliance with the License. 14 | # You may obtain a copy of the License at 15 | # 16 | # http://www.apache.org/licenses/LICENSE-2.0 17 | # 18 | # Unless required by applicable law or agreed to in writing, software 19 | # distributed under the License is distributed on an "AS IS" BASIS, 20 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | # See the License for the specific language governing permissions and 22 | # limitations under the License. 23 | 24 | set -e 25 | 26 | WD=$(dirname "$0") 27 | WD=$(cd "$WD"; pwd) 28 | 29 | # shellcheck disable=SC1090 30 | source "${WD}/setup_env.sh" 31 | 32 | # Override variables with container specific 33 | export TARGET_OUT=${CONTAINER_TARGET_OUT} 34 | export TARGET_OUT_LINUX=${CONTAINER_TARGET_OUT_LINUX} 35 | export REPO_ROOT=/work 36 | 37 | # $CONTAINER_OPTIONS becomes an empty arg when quoted, so SC2086 is disabled for the 38 | # following command only 39 | # shellcheck disable=SC2086 40 | "${CONTAINER_CLI}" run -it --rm \ 41 | -u "${UID}:${DOCKER_GID}" \ 42 | --sig-proxy=true \ 43 | ${DOCKER_SOCKET_MOUNT:--v /var/run/docker.sock:/var/run/docker.sock} \ 44 | -v /etc/passwd:/etc/passwd:ro \ 45 | -v /etc/group:/etc/group:ro \ 46 | $CONTAINER_OPTIONS \ 47 | --env-file <(env | grep -v ${ENV_BLOCKLIST}) \ 48 | -e IN_BUILD_CONTAINER=1 \ 49 | -e TZ="${TIMEZONE:-$TZ}" \ 50 | --mount "type=bind,source=${PWD},destination=/work" \ 51 | --mount "type=volume,source=go,destination=/go" \ 52 | --mount "type=volume,source=gocache,destination=/gocache" \ 53 | ${CONDITIONAL_HOST_MOUNTS} \ 54 | -w /work "${IMG}" "$@" -------------------------------------------------------------------------------- /common-protos/google/api/log.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api; 19 | 20 | import "google/api/label.proto"; 21 | 22 | option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; 23 | option java_multiple_files = true; 24 | option java_outer_classname = "LogProto"; 25 | option java_package = "com.google.api"; 26 | option objc_class_prefix = "GAPI"; 27 | 28 | // A description of a log type. Example in YAML format: 29 | // 30 | // - name: library.googleapis.com/activity_history 31 | // description: The history of borrowing and returning library items. 32 | // display_name: Activity 33 | // labels: 34 | // - key: /customer_id 35 | // description: Identifier of a library customer 36 | message LogDescriptor { 37 | // The name of the log. It must be less than 512 characters long and can 38 | // include the following characters: upper- and lower-case alphanumeric 39 | // characters [A-Za-z0-9], and punctuation characters including 40 | // slash, underscore, hyphen, period [/_-.]. 41 | string name = 1; 42 | 43 | // The set of labels that are available to describe a specific log entry. 44 | // Runtime requests that contain labels not specified here are 45 | // considered invalid. 46 | repeated LabelDescriptor labels = 2; 47 | 48 | // A human-readable description of this log. This information appears in 49 | // the documentation and can contain details. 50 | string description = 3; 51 | 52 | // The human-readable name for this log. This information appears on 53 | // the user interface and should be concise. 54 | string display_name = 4; 55 | } 56 | -------------------------------------------------------------------------------- /python/istio_api/mixer/adapter/model/v1beta1/report_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: mixer/adapter/model/v1beta1/report.proto 4 | 5 | import sys 6 | _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) 7 | from google.protobuf import descriptor as _descriptor 8 | from google.protobuf import message as _message 9 | from google.protobuf import reflection as _reflection 10 | from google.protobuf import symbol_database as _symbol_database 11 | # @@protoc_insertion_point(imports) 12 | 13 | _sym_db = _symbol_database.Default() 14 | 15 | 16 | from gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 17 | 18 | 19 | DESCRIPTOR = _descriptor.FileDescriptor( 20 | name='mixer/adapter/model/v1beta1/report.proto', 21 | package='istio.mixer.adapter.model.v1beta1', 22 | syntax='proto3', 23 | serialized_options=_b('Z(istio.io/api/mixer/adapter/model/v1beta1\310\341\036\000\250\342\036\000\360\341\036\000'), 24 | serialized_pb=_b('\n(mixer/adapter/model/v1beta1/report.proto\x12!istio.mixer.adapter.model.v1beta1\x1a\x14gogoproto/gogo.proto\"\x0e\n\x0cReportResultB6Z(istio.io/api/mixer/adapter/model/v1beta1\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3') 25 | , 26 | dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _REPORTRESULT = _descriptor.Descriptor( 32 | name='ReportResult', 33 | full_name='istio.mixer.adapter.model.v1beta1.ReportResult', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | fields=[ 38 | ], 39 | extensions=[ 40 | ], 41 | nested_types=[], 42 | enum_types=[ 43 | ], 44 | serialized_options=None, 45 | is_extendable=False, 46 | syntax='proto3', 47 | extension_ranges=[], 48 | oneofs=[ 49 | ], 50 | serialized_start=101, 51 | serialized_end=115, 52 | ) 53 | 54 | DESCRIPTOR.message_types_by_name['ReportResult'] = _REPORTRESULT 55 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 56 | 57 | ReportResult = _reflection.GeneratedProtocolMessageType('ReportResult', (_message.Message,), { 58 | 'DESCRIPTOR' : _REPORTRESULT, 59 | '__module__' : 'mixer.adapter.model.v1beta1.report_pb2' 60 | # @@protoc_insertion_point(class_scope:istio.mixer.adapter.model.v1beta1.ReportResult) 61 | }) 62 | _sym_db.RegisterMessage(ReportResult) 63 | 64 | 65 | DESCRIPTOR._options = None 66 | # @@protoc_insertion_point(module_scope) 67 | -------------------------------------------------------------------------------- /common-protos/google/api/expr/v1beta1/source.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api.expr.v1beta1; 19 | 20 | option cc_enable_arenas = true; 21 | option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr"; 22 | option java_multiple_files = true; 23 | option java_outer_classname = "SourceProto"; 24 | option java_package = "com.google.api.expr.v1beta1"; 25 | 26 | // Source information collected at parse time. 27 | message SourceInfo { 28 | // The location name. All position information attached to an expression is 29 | // relative to this location. 30 | // 31 | // The location could be a file, UI element, or similar. For example, 32 | // `acme/app/AnvilPolicy.cel`. 33 | string location = 2; 34 | 35 | // Monotonically increasing list of character offsets where newlines appear. 36 | // 37 | // The line number of a given position is the index `i` where for a given 38 | // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The 39 | // column may be derivd from `id_positions[id] - line_offsets[i]`. 40 | repeated int32 line_offsets = 3; 41 | 42 | // A map from the parse node id (e.g. `Expr.id`) to the character offset 43 | // within source. 44 | map positions = 4; 45 | } 46 | 47 | // A specific position in source. 48 | message SourcePosition { 49 | // The soucre location name (e.g. file name). 50 | string location = 1; 51 | 52 | // The character offset. 53 | int32 offset = 2; 54 | 55 | // The 1-based index of the starting line in the source text 56 | // where the issue occurs, or 0 if unknown. 57 | int32 line = 3; 58 | 59 | // The 0-based index of the starting position within the line of source text 60 | // where the issue occurs. Only meaningful if line is nonzer.. 61 | int32 column = 4; 62 | } 63 | -------------------------------------------------------------------------------- /security/v1beta1/peer_authentication.gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "openapi": "3.0.0", 3 | "info": { 4 | "title": "Peer authentication configuration for workloads.", 5 | "version": "v1beta1" 6 | }, 7 | "components": { 8 | "schemas": { 9 | "istio.security.v1beta1.PeerAuthentication": { 10 | "description": "PeerAuthentication defines how traffic will be tunneled (or not) to the sidecar.", 11 | "type": "object", 12 | "properties": { 13 | "selector": { 14 | "$ref": "#/components/schemas/istio.type.v1beta1.WorkloadSelector" 15 | }, 16 | "mtls": { 17 | "$ref": "#/components/schemas/istio.security.v1beta1.PeerAuthentication.MutualTLS" 18 | }, 19 | "portLevelMtls": { 20 | "description": "Port specific mutual TLS settings.", 21 | "type": "object", 22 | "additionalProperties": { 23 | "$ref": "#/components/schemas/istio.security.v1beta1.PeerAuthentication.MutualTLS" 24 | } 25 | } 26 | } 27 | }, 28 | "istio.security.v1beta1.PeerAuthentication.MutualTLS": { 29 | "description": "Mutual TLS settings.", 30 | "type": "object", 31 | "properties": { 32 | "mode": { 33 | "$ref": "#/components/schemas/istio.security.v1beta1.PeerAuthentication.MutualTLS.Mode" 34 | } 35 | } 36 | }, 37 | "istio.security.v1beta1.PeerAuthentication.MutualTLS.Mode": { 38 | "type": "string", 39 | "enum": [ 40 | "UNSET", 41 | "DISABLE", 42 | "PERMISSIVE", 43 | "STRICT" 44 | ] 45 | }, 46 | "istio.type.v1beta1.WorkloadSelector": { 47 | "description": "The selector determines the workloads to apply the RequestAuthentication on. If not set, the policy will be applied to all workloads in the same namespace as the policy.", 48 | "type": "object", 49 | "properties": { 50 | "matchLabels": { 51 | "description": "One or more labels that indicate a specific set of pods/VMs on which a policy should be applied. The scope of label search is restricted to the configuration namespace in which the resource is present.", 52 | "type": "object", 53 | "additionalProperties": { 54 | "type": "string", 55 | "format": "string" 56 | } 57 | } 58 | } 59 | } 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /mixer/v1/config/client/service.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package istio.mixer.v1.config.client; 18 | 19 | option go_package="istio.io/api/mixer/v1/config/client"; 20 | 21 | import "gogoproto/gogo.proto"; 22 | 23 | option (gogoproto.goproto_getters_all) = false; 24 | option (gogoproto.equal_all) = false; 25 | option (gogoproto.gostring_all) = false; 26 | option (gogoproto.stable_marshaler_all) = true; 27 | 28 | // NOTE: this is a duplicate of proxy.v1.config.IstioService from 29 | // proxy/v1alpha1/config/route_rules.proto. 30 | // 31 | // Mixer protobufs have gogoproto specific options which are not 32 | // compatiable with the proxy's vanilla protobufs. Ideally, these 33 | // protobuf options be reconciled so fundamental Istio concepts and 34 | // types can be shared by components. Until then, make a copy of 35 | // IstioService for mixerclient to use. 36 | 37 | // IstioService identifies a service and optionally service version. 38 | // The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix 39 | // (e.g. on Kubernetes, "reviews" + "default" + "svc.cluster.local" -> "reviews.default.svc.cluster.local"). 40 | message IstioService { 41 | // The short name of the service such as "foo". 42 | string name = 1; 43 | 44 | // Optional namespace of the service. Defaults to value of metadata namespace field. 45 | string namespace = 2; 46 | 47 | // Domain suffix used to construct the service FQDN in implementations that support such specification. 48 | string domain = 3; 49 | 50 | // The service FQDN. 51 | string service = 4; 52 | 53 | // Optional one or more labels that uniquely identify the service version. 54 | // 55 | // *Note:* When used for a VirtualService destination, labels MUST be empty. 56 | // 57 | map labels = 5; 58 | } 59 | -------------------------------------------------------------------------------- /mixer/adapter/model/v1beta1/quota.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package istio.mixer.adapter.model.v1beta1; 18 | 19 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 20 | 21 | import "gogoproto/gogo.proto"; 22 | import "google/protobuf/duration.proto"; 23 | import "google/rpc/status.proto"; 24 | 25 | option (gogoproto.goproto_getters_all) = false; 26 | option (gogoproto.equal_all) = false; 27 | option (gogoproto.gostring_all) = false; 28 | 29 | // Expresses the quota allocation request. 30 | message QuotaRequest { 31 | // parameters for a quota allocation 32 | message QuotaParams { 33 | // Amount of quota to allocate 34 | int64 amount = 1; 35 | 36 | // When true, supports returning less quota than what was requested. 37 | bool best_effort = 2; 38 | } 39 | 40 | // The individual quotas to allocate 41 | map quotas = 1 [(gogoproto.nullable) = false]; 42 | } 43 | 44 | // Expresses the result of multiple quota allocations. 45 | message QuotaResult { 46 | // Expresses the result of a quota allocation. 47 | message Result { 48 | // The amount of time for which this result can be considered valid. 49 | google.protobuf.Duration valid_duration = 2 [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; 50 | 51 | // The amount of granted quota. When `QuotaParams.best_effort` is true, this will be >= 0. 52 | // If `QuotaParams.best_effort` is false, this will be either 0 or >= `QuotaParams.amount`. 53 | int64 granted_amount = 3; 54 | 55 | // A status code of OK indicates quota was fetched successfully. Any other code indicates error in fetching quota. 56 | google.rpc.Status status = 4 [(gogoproto.nullable) = false]; 57 | } 58 | 59 | // The resulting quota, one entry per requested quota. 60 | map quotas = 1 [(gogoproto.nullable) = false]; 61 | } 62 | -------------------------------------------------------------------------------- /common/config/sass-lint.yml: -------------------------------------------------------------------------------- 1 | ######################### 2 | ## Config for sass-lint 3 | ######################### 4 | # Linter Options 5 | options: 6 | # Don't merge default rules 7 | merge-default-rules: false 8 | # Raise an error if more than 50 warnings are generated 9 | max-warnings: 500 10 | # Rule Configuration 11 | rules: 12 | attribute-quotes: 13 | - 2 14 | - 15 | include: false 16 | bem-depth: 2 17 | border-zero: 2 18 | brace-style: 2 19 | class-name-format: 2 20 | clean-import-paths: 2 21 | declarations-before-nesting: 2 22 | empty-args: 2 23 | empty-line-between-blocks: 2 24 | extends-before-declarations: 2 25 | extends-before-mixins: 2 26 | final-newline: 2 27 | force-attribute-nesting: 0 28 | force-element-nesting: 0 29 | force-pseudo-nesting: 0 30 | function-name-format: 2 31 | hex-length: 0 32 | hex-notation: 2 33 | id-name-format: 2 34 | indentation: 35 | - 2 36 | - 37 | size: 4 38 | leading-zero: 39 | - 2 40 | - 41 | include: false 42 | max-file-line-count: 0 43 | max-file-length: 0 44 | mixins-before-declarations: 2 45 | no-attribute-selectors: 0 46 | no-color-hex: 0 47 | no-color-keywords: 0 48 | no-color-literals: 0 49 | no-combinators: 0 50 | no-css-comments: 2 51 | no-debug: 2 52 | no-disallowed-properties: 2 53 | no-duplicate-properties: 2 54 | no-empty-rulesets: 2 55 | no-extends: 2 56 | no-ids: 0 57 | no-invalid-hex: 2 58 | no-important: 0 59 | no-mergeable-selectors: 2 60 | no-misspelled-properties: 2 61 | no-qualifying-elements: 0 62 | no-trailing-whitespace: 2 63 | no-trailing-zero: 2 64 | no-transition-all: 0 65 | no-url-domains: 2 66 | no-url-protocols: 2 67 | no-warn: 2 68 | one-declaration-per-line: 2 69 | placeholder-in-extend: 2 70 | placeholder-name-format: 2 71 | property-sort-order: 0 72 | property-units: 2 73 | pseudo-element: 2 74 | quotes: 75 | - 2 76 | - 77 | style: double 78 | shorthand-values: 2 79 | single-line-per-selector: 0 80 | space-after-bang: 2 81 | space-after-colon: 2 82 | space-after-comma: 2 83 | space-around-operator: 2 84 | space-before-bang: 2 85 | space-before-brace: 2 86 | space-before-colon: 2 87 | space-between-parens: 2 88 | trailing-semicolon: 2 89 | url-quotes: 2 90 | variable-for-property: 91 | - 0 92 | - 93 | properties: 94 | - color 95 | - background-color 96 | - fill 97 | variable-name-format: 0 98 | zero-unit: 2 99 | -------------------------------------------------------------------------------- /common-protos/github.com/prometheus/client_model/metrics.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2013 Prometheus Team 2 | // Licensed under the Apache License, Version 2.0 (the "License"); 3 | // you may not use this file except in compliance with the License. 4 | // You may obtain a copy of the License at 5 | // 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | syntax = "proto2"; 15 | 16 | package io.prometheus.client; 17 | option java_package = "io.prometheus.client"; 18 | option go_package = "github.com/prometheus/client_model/go;io_prometheus_client"; 19 | 20 | message LabelPair { 21 | optional string name = 1; 22 | optional string value = 2; 23 | } 24 | 25 | enum MetricType { 26 | COUNTER = 0; 27 | GAUGE = 1; 28 | SUMMARY = 2; 29 | UNTYPED = 3; 30 | HISTOGRAM = 4; 31 | } 32 | 33 | message Gauge { 34 | optional double value = 1; 35 | } 36 | 37 | message Counter { 38 | optional double value = 1; 39 | } 40 | 41 | message Quantile { 42 | optional double quantile = 1; 43 | optional double value = 2; 44 | } 45 | 46 | message Summary { 47 | optional uint64 sample_count = 1; 48 | optional double sample_sum = 2; 49 | repeated Quantile quantile = 3; 50 | } 51 | 52 | message Untyped { 53 | optional double value = 1; 54 | } 55 | 56 | message Histogram { 57 | optional uint64 sample_count = 1; 58 | optional double sample_sum = 2; 59 | repeated Bucket bucket = 3; // Ordered in increasing order of upper_bound, +Inf bucket is optional. 60 | } 61 | 62 | message Bucket { 63 | optional uint64 cumulative_count = 1; // Cumulative in increasing order. 64 | optional double upper_bound = 2; // Inclusive. 65 | } 66 | 67 | message Metric { 68 | repeated LabelPair label = 1; 69 | optional Gauge gauge = 2; 70 | optional Counter counter = 3; 71 | optional Summary summary = 4; 72 | optional Untyped untyped = 5; 73 | optional Histogram histogram = 7; 74 | optional int64 timestamp_ms = 6; 75 | } 76 | 77 | message MetricFamily { 78 | optional string name = 1; 79 | optional string help = 2; 80 | optional MetricType type = 3; 81 | repeated Metric metric = 4; 82 | } 83 | -------------------------------------------------------------------------------- /common-protos/github.com/gogo/protobuf/protobuf/google/protobuf/source_context.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | syntax = "proto3"; 32 | 33 | package google.protobuf; 34 | 35 | option csharp_namespace = "Google.Protobuf.WellKnownTypes"; 36 | option java_package = "com.google.protobuf"; 37 | option java_outer_classname = "SourceContextProto"; 38 | option java_multiple_files = true; 39 | option objc_class_prefix = "GPB"; 40 | option go_package = "types"; 41 | 42 | // `SourceContext` represents information about the source of a 43 | // protobuf element, like the file in which it is defined. 44 | message SourceContext { 45 | // The path-qualified name of the .proto file that contained the associated 46 | // protobuf element. For example: `"google/protobuf/source_context.proto"`. 47 | string file_name = 1; 48 | } 49 | -------------------------------------------------------------------------------- /common-protos/google/protobuf/source_context.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | syntax = "proto3"; 32 | 33 | package google.protobuf; 34 | 35 | option csharp_namespace = "Google.Protobuf.WellKnownTypes"; 36 | option java_package = "com.google.protobuf"; 37 | option java_outer_classname = "SourceContextProto"; 38 | option java_multiple_files = true; 39 | option objc_class_prefix = "GPB"; 40 | option go_package = "google.golang.org/genproto/protobuf/source_context;source_context"; 41 | 42 | // `SourceContext` represents information about the source of a 43 | // protobuf element, like the file in which it is defined. 44 | message SourceContext { 45 | // The path-qualified name of the .proto file that contained the associated 46 | // protobuf element. For example: `"google/protobuf/source_context.proto"`. 47 | string file_name = 1; 48 | } 49 | -------------------------------------------------------------------------------- /python/istio_api/mixer/adapter/model/v1beta1/template_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: mixer/adapter/model/v1beta1/template.proto 4 | 5 | import sys 6 | _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) 7 | from google.protobuf import descriptor as _descriptor 8 | from google.protobuf import message as _message 9 | from google.protobuf import reflection as _reflection 10 | from google.protobuf import symbol_database as _symbol_database 11 | # @@protoc_insertion_point(imports) 12 | 13 | _sym_db = _symbol_database.Default() 14 | 15 | 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='mixer/adapter/model/v1beta1/template.proto', 20 | package='istio.mixer.adapter.model.v1beta1', 21 | syntax='proto3', 22 | serialized_options=_b('Z(istio.io/api/mixer/adapter/model/v1beta1'), 23 | serialized_pb=_b('\n*mixer/adapter/model/v1beta1/template.proto\x12!istio.mixer.adapter.model.v1beta1\"\x1e\n\x08Template\x12\x12\n\ndescriptor\x18\x01 \x01(\tB*Z(istio.io/api/mixer/adapter/model/v1beta1b\x06proto3') 24 | ) 25 | 26 | 27 | 28 | 29 | _TEMPLATE = _descriptor.Descriptor( 30 | name='Template', 31 | full_name='istio.mixer.adapter.model.v1beta1.Template', 32 | filename=None, 33 | file=DESCRIPTOR, 34 | containing_type=None, 35 | fields=[ 36 | _descriptor.FieldDescriptor( 37 | name='descriptor', full_name='istio.mixer.adapter.model.v1beta1.Template.descriptor', index=0, 38 | number=1, type=9, cpp_type=9, label=1, 39 | has_default_value=False, default_value=_b("").decode('utf-8'), 40 | message_type=None, enum_type=None, containing_type=None, 41 | is_extension=False, extension_scope=None, 42 | serialized_options=None, file=DESCRIPTOR), 43 | ], 44 | extensions=[ 45 | ], 46 | nested_types=[], 47 | enum_types=[ 48 | ], 49 | serialized_options=None, 50 | is_extendable=False, 51 | syntax='proto3', 52 | extension_ranges=[], 53 | oneofs=[ 54 | ], 55 | serialized_start=81, 56 | serialized_end=111, 57 | ) 58 | 59 | DESCRIPTOR.message_types_by_name['Template'] = _TEMPLATE 60 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 61 | 62 | Template = _reflection.GeneratedProtocolMessageType('Template', (_message.Message,), { 63 | 'DESCRIPTOR' : _TEMPLATE, 64 | '__module__' : 'mixer.adapter.model.v1beta1.template_pb2' 65 | # @@protoc_insertion_point(class_scope:istio.mixer.adapter.model.v1beta1.Template) 66 | }) 67 | _sym_db.RegisterMessage(Template) 68 | 69 | 70 | DESCRIPTOR._options = None 71 | # @@protoc_insertion_point(module_scope) 72 | -------------------------------------------------------------------------------- /common-protos/google/api/expr/v1beta1/decl.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api.expr.v1beta1; 19 | 20 | import "google/api/expr/v1beta1/expr.proto"; 21 | 22 | option cc_enable_arenas = true; 23 | option go_package = "google.golang.org/genproto/googleapis/api/expr/v1beta1;expr"; 24 | option java_multiple_files = true; 25 | option java_outer_classname = "DeclProto"; 26 | option java_package = "com.google.api.expr.v1beta1"; 27 | 28 | // A declaration. 29 | message Decl { 30 | // The id of the declaration. 31 | int32 id = 1; 32 | 33 | // The name of the declaration. 34 | string name = 2; 35 | 36 | // The documentation string for the declaration. 37 | string doc = 3; 38 | 39 | // The kind of declaration. 40 | oneof kind { 41 | // An identifier declaration. 42 | IdentDecl ident = 4; 43 | 44 | // A function declaration. 45 | FunctionDecl function = 5; 46 | } 47 | } 48 | 49 | // The declared type of a variable. 50 | // 51 | // Extends runtime type values with extra information used for type checking 52 | // and dispatching. 53 | message DeclType { 54 | // The expression id of the declared type, if applicable. 55 | int32 id = 1; 56 | 57 | // The type name, e.g. 'int', 'my.type.Type' or 'T' 58 | string type = 2; 59 | 60 | // An ordered list of type parameters, e.g. ``. 61 | // Only applies to a subset of types, e.g. `map`, `list`. 62 | repeated DeclType type_params = 4; 63 | } 64 | 65 | // An identifier declaration. 66 | message IdentDecl { 67 | // Optional type of the identifier. 68 | DeclType type = 3; 69 | 70 | // Optional value of the identifier. 71 | Expr value = 4; 72 | } 73 | 74 | // A function declaration. 75 | message FunctionDecl { 76 | // The function arguments. 77 | repeated IdentDecl args = 1; 78 | 79 | // Optional declared return type. 80 | DeclType return_type = 2; 81 | 82 | // If the first argument of the function is the receiver. 83 | bool receiver_function = 3; 84 | } 85 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # WARNING: DO NOT EDIT, THIS FILE IS PROBABLY A COPY 2 | # 3 | # The original version of this file is located in the https://github.com/istio/common-files repo. 4 | # If you're looking at this file in a different repo and want to make a change, please go to the 5 | # common-files repo, make the change there and check it in. Then come back to this repo and run 6 | # "make update-common". 7 | 8 | # Copyright Istio Authors 9 | # 10 | # Licensed under the Apache License, Version 2.0 (the "License"); 11 | # you may not use this file except in compliance with the License. 12 | # You may obtain a copy of the License at 13 | # 14 | # http://www.apache.org/licenses/LICENSE-2.0 15 | # 16 | # Unless required by applicable law or agreed to in writing, software 17 | # distributed under the License is distributed on an "AS IS" BASIS, 18 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | # See the License for the specific language governing permissions and 20 | # limitations under the License. 21 | 22 | SHELL := /bin/bash 23 | 24 | # allow optional per-repo overrides 25 | -include Makefile.overrides.mk 26 | 27 | # Set the environment variable BUILD_WITH_CONTAINER to use a container 28 | # to build the repo. The only dependencies in this mode are to have make and 29 | # docker. If you'd rather build with a local tool chain instead, you'll need to 30 | # figure out all the tools you need in your environment to make that work. 31 | export BUILD_WITH_CONTAINER ?= 0 32 | 33 | ifeq ($(BUILD_WITH_CONTAINER),1) 34 | 35 | # An export free of arugments in a Makefile places all variables in the Makefile into the 36 | # environment. This is needed to allow overrides from Makefile.overrides.mk. 37 | export 38 | 39 | $(shell $(shell pwd)/common/scripts/setup_env.sh) 40 | 41 | RUN = ./common/scripts/run.sh 42 | 43 | MAKE_DOCKER = $(RUN) make --no-print-directory -e -f Makefile.core.mk 44 | 45 | %: 46 | @$(MAKE_DOCKER) $@ 47 | 48 | default: 49 | @$(MAKE_DOCKER) 50 | 51 | shell: 52 | @$(RUN) /bin/bash 53 | 54 | .PHONY: default 55 | 56 | else 57 | 58 | # If we are not in build container, we need a workaround to get environment properly set 59 | # Write to file, then include 60 | $(shell mkdir -p out) 61 | $(shell $(shell pwd)/common/scripts/setup_env.sh envfile > out/.env) 62 | include out/.env 63 | # An export free of arugments in a Makefile places all variables in the Makefile into the 64 | # environment. This behavior may be surprising to many that use shell often, which simply 65 | # displays the existing environment 66 | export 67 | 68 | export GOBIN ?= $(GOPATH)/bin 69 | include Makefile.core.mk 70 | 71 | endif 72 | -------------------------------------------------------------------------------- /common-protos/github.com/gogo/protobuf/protobuf/google/protobuf/empty.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | syntax = "proto3"; 32 | 33 | package google.protobuf; 34 | 35 | option csharp_namespace = "Google.Protobuf.WellKnownTypes"; 36 | option go_package = "types"; 37 | option java_package = "com.google.protobuf"; 38 | option java_outer_classname = "EmptyProto"; 39 | option java_multiple_files = true; 40 | option objc_class_prefix = "GPB"; 41 | option cc_enable_arenas = true; 42 | 43 | // A generic empty message that you can re-use to avoid defining duplicated 44 | // empty messages in your APIs. A typical example is to use it as the request 45 | // or the response type of an API method. For instance: 46 | // 47 | // service Foo { 48 | // rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 49 | // } 50 | // 51 | // The JSON representation for `Empty` is empty JSON object `{}`. 52 | message Empty {} 53 | -------------------------------------------------------------------------------- /common-protos/google/protobuf/empty.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | syntax = "proto3"; 32 | 33 | package google.protobuf; 34 | 35 | option csharp_namespace = "Google.Protobuf.WellKnownTypes"; 36 | option go_package = "github.com/golang/protobuf/ptypes/empty"; 37 | option java_package = "com.google.protobuf"; 38 | option java_outer_classname = "EmptyProto"; 39 | option java_multiple_files = true; 40 | option objc_class_prefix = "GPB"; 41 | option cc_enable_arenas = true; 42 | 43 | // A generic empty message that you can re-use to avoid defining duplicated 44 | // empty messages in your APIs. A typical example is to use it as the request 45 | // or the response type of an API method. For instance: 46 | // 47 | // service Foo { 48 | // rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 49 | // } 50 | // 51 | // The JSON representation for `Empty` is empty JSON object `{}`. 52 | message Empty {} 53 | -------------------------------------------------------------------------------- /mixer/adapter/model/v1beta1/extensions.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018 Istio Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package istio.mixer.adapter.model.v1beta1; 18 | 19 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 20 | 21 | import "google/protobuf/descriptor.proto"; 22 | 23 | 24 | // The available varieties of templates, controlling the semantics of what an adapter does with each instance. 25 | enum TemplateVariety { 26 | // Makes the template applicable for Mixer's check calls. Instances of such template are created during 27 | // check calls in Mixer and passed to the handlers based on the rule configurations. 28 | TEMPLATE_VARIETY_CHECK = 0; 29 | // Makes the template applicable for Mixer's report calls. Instances of such template are created during 30 | // report calls in Mixer and passed to the handlers based on the rule configurations. 31 | TEMPLATE_VARIETY_REPORT = 1; 32 | // Makes the template applicable for Mixer's quota calls. Instances of such template are created during 33 | // quota check calls in Mixer and passed to the handlers based on the rule configurations. 34 | TEMPLATE_VARIETY_QUOTA = 2; 35 | // Makes the template applicable for Mixer's attribute generation phase. Instances of such template are created during 36 | // pre-processing attribute generation phase and passed to the handlers based on the rule configurations. 37 | TEMPLATE_VARIETY_ATTRIBUTE_GENERATOR = 3; 38 | // Makes the template applicable for Mixer's check calls. Instances of such template are created during 39 | // check calls in Mixer and passed to the handlers that produce values. 40 | TEMPLATE_VARIETY_CHECK_WITH_OUTPUT = 4; 41 | } 42 | 43 | // File level options for the template. 44 | extend google.protobuf.FileOptions { 45 | // Required: option for the TemplateVariety. 46 | TemplateVariety template_variety = 72295727; 47 | // Optional: option for the template name. 48 | // If not specified, the last segment of the template proto's package name is used to 49 | // derive the template name. 50 | string template_name = 72295888; 51 | } 52 | -------------------------------------------------------------------------------- /common-protos/github.com/census-instrumentation/opencensus-proto/src/opencensus/proto/agent/metrics/v1/metrics_service.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2018, OpenCensus Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package opencensus.proto.agent.metrics.v1; 18 | 19 | import "opencensus/proto/agent/common/v1/common.proto"; 20 | import "opencensus/proto/metrics/v1/metrics.proto"; 21 | import "opencensus/proto/resource/v1/resource.proto"; 22 | 23 | option java_multiple_files = true; 24 | option java_package = "io.opencensus.proto.agent.metrics.v1"; 25 | option java_outer_classname = "MetricsServiceProto"; 26 | 27 | option go_package = "github.com/census-instrumentation/opencensus-proto/gen-go/agent/metrics/v1"; 28 | 29 | option ruby_package = "OpenCensus.Proto.Agent.Metrics.V1"; 30 | 31 | // Service that can be used to push metrics between one Application 32 | // instrumented with OpenCensus and an agent, or between an agent and a 33 | // central collector. 34 | service MetricsService { 35 | // For performance reasons, it is recommended to keep this RPC 36 | // alive for the entire life of the application. 37 | rpc Export(stream ExportMetricsServiceRequest) returns (stream ExportMetricsServiceResponse) {} 38 | } 39 | 40 | message ExportMetricsServiceRequest { 41 | // This is required only in the first message on the stream or if the 42 | // previous sent ExportMetricsServiceRequest message has a different Node (e.g. 43 | // when the same RPC is used to send Metrics from multiple Applications). 44 | opencensus.proto.agent.common.v1.Node node = 1; 45 | 46 | // A list of metrics that belong to the last received Node. 47 | repeated opencensus.proto.metrics.v1.Metric metrics = 2; 48 | 49 | // The resource for the metrics in this message that do not have an explicit 50 | // resource set. 51 | // If unset, the most recently set resource in the RPC stream applies. It is 52 | // valid to never be set within a stream, e.g. when no resource info is known 53 | // at all or when all sent metrics have an explicit resource set. 54 | opencensus.proto.resource.v1.Resource resource = 3; 55 | } 56 | 57 | message ExportMetricsServiceResponse { 58 | } 59 | -------------------------------------------------------------------------------- /common-protos/google/api/servicecontrol/v1/log_entry.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google Inc. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | syntax = "proto3"; 16 | 17 | package google.api.servicecontrol.v1; 18 | 19 | import "google/api/annotations.proto"; 20 | import "google/logging/type/log_severity.proto"; 21 | import "google/protobuf/any.proto"; 22 | import "google/protobuf/struct.proto"; 23 | import "google/protobuf/timestamp.proto"; 24 | 25 | option go_package = "google.golang.org/genproto/googleapis/api/servicecontrol/v1;servicecontrol"; 26 | option java_multiple_files = true; 27 | option java_outer_classname = "LogEntryProto"; 28 | option java_package = "com.google.api.servicecontrol.v1"; 29 | 30 | // An individual log entry. 31 | message LogEntry { 32 | // Required. The log to which this log entry belongs. Examples: `"syslog"`, 33 | // `"book_log"`. 34 | string name = 10; 35 | 36 | // The time the event described by the log entry occurred. If 37 | // omitted, defaults to operation start time. 38 | google.protobuf.Timestamp timestamp = 11; 39 | 40 | // The severity of the log entry. The default value is 41 | // `LogSeverity.DEFAULT`. 42 | google.logging.type.LogSeverity severity = 12; 43 | 44 | // A unique ID for the log entry used for deduplication. If omitted, 45 | // the implementation will generate one based on operation_id. 46 | string insert_id = 4; 47 | 48 | // A set of user-defined (key, value) data that provides additional 49 | // information about the log entry. 50 | map labels = 13; 51 | 52 | // The log entry payload, which can be one of multiple types. 53 | oneof payload { 54 | // The log entry payload, represented as a protocol buffer that is 55 | // expressed as a JSON object. The only accepted type currently is 56 | // [AuditLog][google.cloud.audit.AuditLog]. 57 | google.protobuf.Any proto_payload = 2; 58 | 59 | // The log entry payload, represented as a Unicode string (UTF-8). 60 | string text_payload = 3; 61 | 62 | // The log entry payload, represented as a structure that 63 | // is expressed as a JSON object. 64 | google.protobuf.Struct struct_payload = 6; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /licenses/sigs.k8s.io/yaml/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Sam Ghods 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | Copyright (c) 2012 The Go Authors. All rights reserved. 25 | 26 | Redistribution and use in source and binary forms, with or without 27 | modification, are permitted provided that the following conditions are 28 | met: 29 | 30 | * Redistributions of source code must retain the above copyright 31 | notice, this list of conditions and the following disclaimer. 32 | * Redistributions in binary form must reproduce the above 33 | copyright notice, this list of conditions and the following disclaimer 34 | in the documentation and/or other materials provided with the 35 | distribution. 36 | * Neither the name of Google Inc. nor the names of its 37 | contributors may be used to endorse or promote products derived from 38 | this software without specific prior written permission. 39 | 40 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 41 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 42 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 43 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 44 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 46 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 47 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 48 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 49 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 50 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 51 | -------------------------------------------------------------------------------- /licenses/github.com/ghodss/yaml/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Sam Ghods 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | 24 | Copyright (c) 2012 The Go Authors. All rights reserved. 25 | 26 | Redistribution and use in source and binary forms, with or without 27 | modification, are permitted provided that the following conditions are 28 | met: 29 | 30 | * Redistributions of source code must retain the above copyright 31 | notice, this list of conditions and the following disclaimer. 32 | * Redistributions in binary form must reproduce the above 33 | copyright notice, this list of conditions and the following disclaimer 34 | in the documentation and/or other materials provided with the 35 | distribution. 36 | * Neither the name of Google Inc. nor the names of its 37 | contributors may be used to endorse or promote products derived from 38 | this software without specific prior written permission. 39 | 40 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 41 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 42 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 43 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 44 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 45 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 46 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 47 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 48 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 49 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 50 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 51 | -------------------------------------------------------------------------------- /common-protos/google/api/billing.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | // 15 | 16 | syntax = "proto3"; 17 | 18 | package google.api; 19 | 20 | import "google/api/metric.proto"; 21 | 22 | option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; 23 | option java_multiple_files = true; 24 | option java_outer_classname = "BillingProto"; 25 | option java_package = "com.google.api"; 26 | option objc_class_prefix = "GAPI"; 27 | 28 | // Billing related configuration of the service. 29 | // 30 | // The following example shows how to configure monitored resources and metrics 31 | // for billing: 32 | // 33 | // monitored_resources: 34 | // - type: library.googleapis.com/branch 35 | // labels: 36 | // - key: /city 37 | // description: The city where the library branch is located in. 38 | // - key: /name 39 | // description: The name of the branch. 40 | // metrics: 41 | // - name: library.googleapis.com/book/borrowed_count 42 | // metric_kind: DELTA 43 | // value_type: INT64 44 | // billing: 45 | // consumer_destinations: 46 | // - monitored_resource: library.googleapis.com/branch 47 | // metrics: 48 | // - library.googleapis.com/book/borrowed_count 49 | message Billing { 50 | // Configuration of a specific billing destination (Currently only support 51 | // bill against consumer project). 52 | message BillingDestination { 53 | // The monitored resource type. The type must be defined in 54 | // [Service.monitored_resources][google.api.Service.monitored_resources] section. 55 | string monitored_resource = 1; 56 | 57 | // Names of the metrics to report to this billing destination. 58 | // Each name must be defined in [Service.metrics][google.api.Service.metrics] section. 59 | repeated string metrics = 2; 60 | } 61 | 62 | // Billing configurations for sending metrics to the consumer project. 63 | // There can be multiple consumer destinations per service, each one must have 64 | // a different monitored resource type. A metric can be used in at most 65 | // one consumer destination. 66 | repeated BillingDestination consumer_destinations = 8; 67 | } 68 | --------------------------------------------------------------------------------