├── CODEOWNERS ├── 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 ├── 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 │ ├── exp │ └── LICENSE │ ├── net │ └── LICENSE │ ├── sys │ └── LICENSE │ ├── crypto │ └── LICENSE │ ├── lint │ └── LICENSE │ ├── oauth2 │ └── LICENSE │ ├── sync │ └── LICENSE │ ├── text │ └── LICENSE │ └── tools │ ├── LICENSE │ └── cmd │ └── getgo │ └── LICENSE ├── common ├── .commonfiles.sha ├── config │ ├── mdl.rb │ ├── .hadolint.yml │ ├── tslint.json │ ├── .yamllint.yml │ └── sass-lint.yml └── scripts │ ├── copyright-banner-go.txt │ ├── check_clean_repo.sh │ ├── lint_go.sh │ ├── lint_copyright_banner.sh │ ├── fix_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 │ ├── type │ │ ├── fraction.proto │ │ ├── dayofweek.proto │ │ ├── latlng.proto │ │ ├── money.proto │ │ ├── timeofday.proto │ │ ├── calendar_period.proto │ │ ├── expr.proto │ │ └── date.proto │ └── protobuf │ │ └── source_context.proto └── github.com │ ├── census-instrumentation │ └── opencensus-proto │ │ └── src │ │ └── opencensus │ │ └── proto │ │ └── resource │ │ └── v1 │ │ └── resource.proto │ ├── prometheus │ └── client_model │ │ └── metrics.proto │ └── gogo │ └── protobuf │ └── protobuf │ └── google │ └── protobuf │ └── source_context.proto ├── BUILD ├── CONTRIBUTING.md ├── go.mod ├── authentication └── v1alpha1 │ └── istio.authentication.v1alpha1.pb.html ├── .gitattributes ├── SUPPORT.md ├── dictionaries └── custom.txt ├── .gitignore ├── BUGS-AND-FEATURE-REQUESTS.md ├── .github ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── workflows │ └── commit.yaml ├── WORKSPACE ├── python ├── setup.py └── istio_api │ └── mixer │ └── adapter │ └── model │ └── v1beta1 │ └── report_pb2.py ├── mixer ├── v1 │ └── config │ │ └── client │ │ ├── service_deepcopy.gen.go │ │ ├── service_json.gen.go │ │ └── service.proto └── adapter │ └── model │ └── v1beta1 │ ├── template.proto │ ├── report.proto │ ├── check.proto │ └── quota.proto ├── policy └── v1beta1 │ ├── http_response_deepcopy.gen.go │ ├── http_response_json.gen.go │ └── value_type.proto ├── scripts ├── check-release-locks.md └── check-release-locks.sh ├── type └── v1beta1 │ ├── selector_deepcopy.gen.go │ ├── selector_json.gen.go │ ├── selector.gen.json │ ├── istio.type.v1beta1.pb.html │ └── selector.proto ├── security ├── v1beta1 │ ├── request_authentication_deepcopy.gen.go │ ├── request_authentication_json.gen.go │ ├── jwt_deepcopy.gen.go │ ├── jwt_json.gen.go │ ├── peer_authentication_json.gen.go │ ├── peer_authentication_deepcopy.gen.go │ └── peer_authentication.gen.json └── v1alpha1 │ ├── ca_json.gen.go │ ├── ca_deepcopy.gen.go │ ├── ca.gen.json │ ├── ca.proto │ └── ca.pb.html ├── prototool.yaml ├── Makefile.overrides.mk ├── cue.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 ├── meta └── v1alpha1 │ ├── status_deepcopy.gen.go │ ├── status_json.gen.go │ └── status.proto ├── operator └── v1alpha1 │ ├── common_test.go │ └── operator_json.gen.go └── label └── label.go /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @istio/release-managers-1-7 2 | -------------------------------------------------------------------------------- /licenses/github.com/munnerz/goautoneg/NONE: -------------------------------------------------------------------------------- 1 | NO LICENSE FOUND 2 | -------------------------------------------------------------------------------- /common/.commonfiles.sha: -------------------------------------------------------------------------------- 1 | fc8762216c8230e95ad02c690bf67f8e89df4b1a 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.1 7 | github.com/golang/protobuf v1.3.5 // indirect 8 | google.golang.org/grpc v1.28.1 9 | istio.io/gogo-genproto v0.0.0-20190930162913-45029607206a 10 | k8s.io/apimachinery v0.18.1 11 | ) 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | - DL3008 10 | 11 | trustedRegistries: 12 | - gcr.io 13 | - docker.io 14 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /common/scripts/copyright-banner-go.txt: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/v1/config/client/service_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // mixer/v1/config/client/service.proto is a deprecated file. 3 | 4 | package client 5 | 6 | import ( 7 | fmt "fmt" 8 | _ "github.com/gogo/protobuf/gogoproto" 9 | proto "github.com/gogo/protobuf/proto" 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 IstioService within kubernetes types, where deepcopy-gen is used. 19 | func (in *IstioService) DeepCopyInto(out *IstioService) { 20 | p := proto.Clone(in).(*IstioService) 21 | *out = *p 22 | } 23 | 24 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioService. Required by controller-gen. 25 | func (in *IstioService) DeepCopy() *IstioService { 26 | if in == nil { 27 | return nil 28 | } 29 | out := new(IstioService) 30 | in.DeepCopyInto(out) 31 | return out 32 | } 33 | -------------------------------------------------------------------------------- /policy/v1beta1/http_response_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // policy/v1beta1/http_response.proto is a deprecated file. 3 | 4 | package v1beta1 5 | 6 | import ( 7 | fmt "fmt" 8 | proto "github.com/gogo/protobuf/proto" 9 | math "math" 10 | ) 11 | 12 | // Reference imports to suppress errors if they are not otherwise used. 13 | var _ = proto.Marshal 14 | var _ = fmt.Errorf 15 | var _ = math.Inf 16 | 17 | // DeepCopyInto supports using DirectHttpResponse within kubernetes types, where deepcopy-gen is used. 18 | func (in *DirectHttpResponse) DeepCopyInto(out *DirectHttpResponse) { 19 | p := proto.Clone(in).(*DirectHttpResponse) 20 | *out = *p 21 | } 22 | 23 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectHttpResponse. Required by controller-gen. 24 | func (in *DirectHttpResponse) DeepCopy() *DirectHttpResponse { 25 | if in == nil { 26 | return nil 27 | } 28 | out := new(DirectHttpResponse) 29 | in.DeepCopyInto(out) 30 | return out 31 | } 32 | -------------------------------------------------------------------------------- /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 deprecated = true; 20 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 21 | 22 | // Template provides the details of a Mixer template. 23 | message Template { 24 | // Base64 encoded proto descriptor of the template. 25 | string descriptor = 1; 26 | } 27 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /type/v1beta1/selector_deepcopy.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 | fmt "fmt" 8 | proto "github.com/gogo/protobuf/proto" 9 | _ "istio.io/gogo-genproto/googleapis/google/api" 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 WorkloadSelector within kubernetes types, where deepcopy-gen is used. 19 | func (in *WorkloadSelector) DeepCopyInto(out *WorkloadSelector) { 20 | p := proto.Clone(in).(*WorkloadSelector) 21 | *out = *p 22 | } 23 | 24 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSelector. Required by controller-gen. 25 | func (in *WorkloadSelector) DeepCopy() *WorkloadSelector { 26 | if in == nil { 27 | return nil 28 | } 29 | out := new(WorkloadSelector) 30 | in.DeepCopyInto(out) 31 | return out 32 | } 33 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | 24 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestAuthentication. Required by controller-gen. 25 | func (in *RequestAuthentication) DeepCopy() *RequestAuthentication { 26 | if in == nil { 27 | return nil 28 | } 29 | out := new(RequestAuthentication) 30 | in.DeepCopyInto(out) 31 | return out 32 | } 33 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 deprecated = true; 20 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 21 | 22 | import "gogoproto/gogo.proto"; 23 | 24 | option (gogoproto.goproto_getters_all) = false; 25 | option (gogoproto.equal_all) = false; 26 | option (gogoproto.gostring_all) = false; 27 | 28 | // Expresses the result of a report call. 29 | message ReportResult {} 30 | -------------------------------------------------------------------------------- /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/operator.proto 13 | - id: MESSAGE_FIELD_NAMES_LOWER_SNAKE_CASE 14 | files: 15 | - operator/v1alpha1/operator.proto 16 | - id: ENUM_FIELD_NAMES_UPPER_SNAKE_CASE 17 | files: 18 | - networking/v1alpha3/gateway.proto 19 | - policy/v1beta1/http_response.proto 20 | - id: REQUEST_RESPONSE_TYPES_UNIQUE 21 | files: 22 | - mcp/v1alpha1/mcp.proto 23 | 24 | # Linter rules. 25 | rules: 26 | # The specific linters to remove. 27 | remove: 28 | - FILE_OPTIONS_REQUIRE_JAVA_MULTIPLE_FILES 29 | - FILE_OPTIONS_REQUIRE_JAVA_OUTER_CLASSNAME 30 | - FILE_OPTIONS_REQUIRE_JAVA_PACKAGE 31 | - FILE_OPTIONS_EQUAL_GO_PACKAGE_PB_SUFFIX 32 | - ENUM_FIELD_PREFIXES 33 | - ENUM_ZERO_VALUES_INVALID 34 | - COMMENTS_NO_C_STYLE 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /policy/v1beta1/http_response_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // policy/v1beta1/http_response.proto is a deprecated file. 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{AllowUnknownFields: true} 33 | ) 34 | -------------------------------------------------------------------------------- /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{AllowUnknownFields: true} 34 | ) 35 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /mixer/v1/config/client/service_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // mixer/v1/config/client/service.proto is a deprecated file. 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{AllowUnknownFields: true} 34 | ) 35 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | 18 | # version of `build-tools` that corresponds to Istio 1.7.8 + patch that brings back support for k8s 1.15 19 | # see https://github.com/tetrateio/istio-tools/tree/release-1.7.8 20 | IMG ?= docker.io/tetrate/build-tools:release-1.7.8-2021-05-04T12-36-52 21 | 22 | # if enabled, will verify that schema definitions match between versions (ie. v1alpha3 & v1beta1). 23 | # only works with apiextensions.k8s.io/v1 kubernetes api (not with v1beta1) 24 | VERIFY_CRDS_SCHEMA ?= 0 25 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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{AllowUnknownFields: true} 34 | ) 35 | -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /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 | security/v1alpha1: 33 | - mode: perFile 34 | security/v1beta1: 35 | - mode: perFile 36 | analysis/v1alpha1: 37 | - mode: perFile 38 | meta/v1alpha1: 39 | - mode: perFile 40 | 41 | 42 | # All is used when generating all types referenced in the above directories to 43 | # one file. 44 | all: 45 | title: All Istio types. 46 | version: v1alpha1 47 | oapiFilename: istio.gen.json 48 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /type/v1beta1/istio.type.v1beta1.pb.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: istio.type.v1beta1 3 | layout: protoc-gen-docs 4 | generator: protoc-gen-docs 5 | aliases: [https://istio.io/docs/reference/config/type/v1beta1/workload-selector.html] 6 | number_of_entries: 1 7 | --- 8 |

WorkloadSelector

9 |
10 |

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

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

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

34 | 35 |
37 | Yes 38 |
42 |
43 | -------------------------------------------------------------------------------- /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_deepcopy.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 | fmt "fmt" 8 | proto "github.com/gogo/protobuf/proto" 9 | _ "istio.io/gogo-genproto/googleapis/google/api" 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 JWTRule within kubernetes types, where deepcopy-gen is used. 19 | func (in *JWTRule) DeepCopyInto(out *JWTRule) { 20 | p := proto.Clone(in).(*JWTRule) 21 | *out = *p 22 | } 23 | 24 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JWTRule. Required by controller-gen. 25 | func (in *JWTRule) DeepCopy() *JWTRule { 26 | if in == nil { 27 | return nil 28 | } 29 | out := new(JWTRule) 30 | in.DeepCopyInto(out) 31 | return out 32 | } 33 | 34 | // DeepCopyInto supports using JWTHeader within kubernetes types, where deepcopy-gen is used. 35 | func (in *JWTHeader) DeepCopyInto(out *JWTHeader) { 36 | p := proto.Clone(in).(*JWTHeader) 37 | *out = *p 38 | } 39 | 40 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JWTHeader. Required by controller-gen. 41 | func (in *JWTHeader) DeepCopy() *JWTHeader { 42 | if in == nil { 43 | return nil 44 | } 45 | out := new(JWTHeader) 46 | in.DeepCopyInto(out) 47 | return out 48 | } 49 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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{AllowUnknownFields: true} 45 | ) 46 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /common/scripts/fix_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 | WD=$(dirname "$0") 27 | WD=$(cd "$WD"; pwd) 28 | 29 | for fn in "$@"; do 30 | if ! grep -L -q -e "Apache License, Version 2" -e "Copyright" "${fn}"; then 31 | if [[ "${fn}" == *.go ]]; then 32 | newfile=$(cat "${WD}/copyright-banner-go.txt" "${fn}") 33 | echo "${newfile}" > "${fn}" 34 | echo "Fixing license: ${fn}" 35 | else 36 | echo "Cannot fix license: ${fn}. Unknown file type" 37 | fi 38 | fi 39 | done 40 | -------------------------------------------------------------------------------- /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/exp/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/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 | -------------------------------------------------------------------------------- /security/v1alpha1/ca_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: security/v1alpha1/ca.proto 3 | 4 | // Keep this package for backward compatibility. 5 | 6 | package v1alpha1 7 | 8 | import ( 9 | bytes "bytes" 10 | fmt "fmt" 11 | github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 12 | proto "github.com/gogo/protobuf/proto" 13 | math "math" 14 | ) 15 | 16 | // Reference imports to suppress errors if they are not otherwise used. 17 | var _ = proto.Marshal 18 | var _ = fmt.Errorf 19 | var _ = math.Inf 20 | 21 | // MarshalJSON is a custom marshaler for IstioCertificateRequest 22 | func (this *IstioCertificateRequest) MarshalJSON() ([]byte, error) { 23 | str, err := CaMarshaler.MarshalToString(this) 24 | return []byte(str), err 25 | } 26 | 27 | // UnmarshalJSON is a custom unmarshaler for IstioCertificateRequest 28 | func (this *IstioCertificateRequest) UnmarshalJSON(b []byte) error { 29 | return CaUnmarshaler.Unmarshal(bytes.NewReader(b), this) 30 | } 31 | 32 | // MarshalJSON is a custom marshaler for IstioCertificateResponse 33 | func (this *IstioCertificateResponse) MarshalJSON() ([]byte, error) { 34 | str, err := CaMarshaler.MarshalToString(this) 35 | return []byte(str), err 36 | } 37 | 38 | // UnmarshalJSON is a custom unmarshaler for IstioCertificateResponse 39 | func (this *IstioCertificateResponse) UnmarshalJSON(b []byte) error { 40 | return CaUnmarshaler.Unmarshal(bytes.NewReader(b), this) 41 | } 42 | 43 | var ( 44 | CaMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 45 | CaUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{} 46 | ) 47 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /meta/v1alpha1/status_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: meta/v1alpha1/status.proto 3 | 4 | package v1alpha1 5 | 6 | import ( 7 | fmt "fmt" 8 | proto "github.com/gogo/protobuf/proto" 9 | _ "github.com/gogo/protobuf/types" 10 | _ "istio.io/api/analysis/v1alpha1" 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 IstioStatus within kubernetes types, where deepcopy-gen is used. 21 | func (in *IstioStatus) DeepCopyInto(out *IstioStatus) { 22 | p := proto.Clone(in).(*IstioStatus) 23 | *out = *p 24 | } 25 | 26 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioStatus. Required by controller-gen. 27 | func (in *IstioStatus) DeepCopy() *IstioStatus { 28 | if in == nil { 29 | return nil 30 | } 31 | out := new(IstioStatus) 32 | in.DeepCopyInto(out) 33 | return out 34 | } 35 | 36 | // DeepCopyInto supports using IstioCondition within kubernetes types, where deepcopy-gen is used. 37 | func (in *IstioCondition) DeepCopyInto(out *IstioCondition) { 38 | p := proto.Clone(in).(*IstioCondition) 39 | *out = *p 40 | } 41 | 42 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioCondition. Required by controller-gen. 43 | func (in *IstioCondition) DeepCopy() *IstioCondition { 44 | if in == nil { 45 | return nil 46 | } 47 | out := new(IstioCondition) 48 | in.DeepCopyInto(out) 49 | return out 50 | } 51 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /meta/v1alpha1/status_json.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: meta/v1alpha1/status.proto 3 | 4 | package v1alpha1 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 | _ "github.com/gogo/protobuf/types" 12 | _ "istio.io/api/analysis/v1alpha1" 13 | _ "istio.io/gogo-genproto/googleapis/google/api" 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 IstioStatus 23 | func (this *IstioStatus) MarshalJSON() ([]byte, error) { 24 | str, err := StatusMarshaler.MarshalToString(this) 25 | return []byte(str), err 26 | } 27 | 28 | // UnmarshalJSON is a custom unmarshaler for IstioStatus 29 | func (this *IstioStatus) UnmarshalJSON(b []byte) error { 30 | return StatusUnmarshaler.Unmarshal(bytes.NewReader(b), this) 31 | } 32 | 33 | // MarshalJSON is a custom marshaler for IstioCondition 34 | func (this *IstioCondition) MarshalJSON() ([]byte, error) { 35 | str, err := StatusMarshaler.MarshalToString(this) 36 | return []byte(str), err 37 | } 38 | 39 | // UnmarshalJSON is a custom unmarshaler for IstioCondition 40 | func (this *IstioCondition) UnmarshalJSON(b []byte) error { 41 | return StatusUnmarshaler.Unmarshal(bytes.NewReader(b), this) 42 | } 43 | 44 | var ( 45 | StatusMarshaler = &github_com_gogo_protobuf_jsonpb.Marshaler{} 46 | StatusUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{AllowUnknownFields: true} 47 | ) 48 | -------------------------------------------------------------------------------- /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 deprecated=true; 20 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 21 | 22 | import "gogoproto/gogo.proto"; 23 | import "google/protobuf/duration.proto"; 24 | import "google/rpc/status.proto"; 25 | 26 | option (gogoproto.goproto_getters_all) = false; 27 | option (gogoproto.equal_all) = false; 28 | option (gogoproto.gostring_all) = false; 29 | 30 | // Expresses the result of a precondition check. 31 | message CheckResult { 32 | // A status code of OK indicates preconditions were satisfied. Any other code indicates preconditions were not 33 | // satisfied and details describe why. 34 | google.rpc.Status status = 1 [(gogoproto.nullable) = false]; 35 | // The amount of time for which this result can be considered valid. 36 | google.protobuf.Duration valid_duration = 2 [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; 37 | // The number of uses for which this result can be considered valid. 38 | int32 valid_use_count = 3; 39 | } 40 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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{AllowUnknownFields: true} 45 | ) 46 | -------------------------------------------------------------------------------- /security/v1alpha1/ca_deepcopy.gen.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 | // source: security/v1alpha1/ca.proto 3 | 4 | // Keep this package for backward compatibility. 5 | 6 | package v1alpha1 7 | 8 | import ( 9 | fmt "fmt" 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 | // DeepCopyInto supports using IstioCertificateRequest within kubernetes types, where deepcopy-gen is used. 20 | func (in *IstioCertificateRequest) DeepCopyInto(out *IstioCertificateRequest) { 21 | p := proto.Clone(in).(*IstioCertificateRequest) 22 | *out = *p 23 | } 24 | 25 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioCertificateRequest. Required by controller-gen. 26 | func (in *IstioCertificateRequest) DeepCopy() *IstioCertificateRequest { 27 | if in == nil { 28 | return nil 29 | } 30 | out := new(IstioCertificateRequest) 31 | in.DeepCopyInto(out) 32 | return out 33 | } 34 | 35 | // DeepCopyInto supports using IstioCertificateResponse within kubernetes types, where deepcopy-gen is used. 36 | func (in *IstioCertificateResponse) DeepCopyInto(out *IstioCertificateResponse) { 37 | p := proto.Clone(in).(*IstioCertificateResponse) 38 | *out = *p 39 | } 40 | 41 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioCertificateResponse. Required by controller-gen. 42 | func (in *IstioCertificateResponse) DeepCopy() *IstioCertificateResponse { 43 | if in == nil { 44 | return nil 45 | } 46 | out := new(IstioCertificateResponse) 47 | in.DeepCopyInto(out) 48 | return out 49 | } 50 | -------------------------------------------------------------------------------- /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 | 24 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerAuthentication. Required by controller-gen. 25 | func (in *PeerAuthentication) DeepCopy() *PeerAuthentication { 26 | if in == nil { 27 | return nil 28 | } 29 | out := new(PeerAuthentication) 30 | in.DeepCopyInto(out) 31 | return out 32 | } 33 | 34 | // DeepCopyInto supports using PeerAuthentication_MutualTLS within kubernetes types, where deepcopy-gen is used. 35 | func (in *PeerAuthentication_MutualTLS) DeepCopyInto(out *PeerAuthentication_MutualTLS) { 36 | p := proto.Clone(in).(*PeerAuthentication_MutualTLS) 37 | *out = *p 38 | } 39 | 40 | // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerAuthentication_MutualTLS. Required by controller-gen. 41 | func (in *PeerAuthentication_MutualTLS) DeepCopy() *PeerAuthentication_MutualTLS { 42 | if in == nil { 43 | return nil 44 | } 45 | out := new(PeerAuthentication_MutualTLS) 46 | in.DeepCopyInto(out) 47 | return out 48 | } 49 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /security/v1alpha1/ca.gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "openapi": "3.0.0", 3 | "info": { 4 | "title": "", 5 | "version": "v1alpha1" 6 | }, 7 | "components": { 8 | "schemas": { 9 | "istio.v1.auth.IstioCertificateRequest": { 10 | "description": "Certificate request message. The authentication should be based on: 1. Bearer tokens carried in the side channel; 2. Client-side certificate via Mutual TLS handshake. Note: the service implementation is REQUIRED to verify the authenticated caller is authorize to all SANs in the CSR. The server side may overwrite any requested certificate field based on its policies.", 11 | "type": "object", 12 | "properties": { 13 | "csr": { 14 | "description": "PEM-encoded certificate request. The public key in the CSR is used to generate the certificate, and other fields in the generated certificate may be overwritten by the CA.", 15 | "type": "string", 16 | "format": "string" 17 | }, 18 | "validityDuration": { 19 | "description": "Optional: requested certificate validity period, in seconds.", 20 | "type": "integer", 21 | "format": "int64" 22 | } 23 | } 24 | }, 25 | "istio.v1.auth.IstioCertificateResponse": { 26 | "description": "Certificate response message.", 27 | "type": "object", 28 | "properties": { 29 | "certChain": { 30 | "description": "PEM-encoded certificate chain. The leaf cert is the first element, and the root cert is the last element.", 31 | "type": "array", 32 | "items": { 33 | "type": "string", 34 | "format": "string" 35 | } 36 | } 37 | } 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /.github/workflows/commit.yaml: -------------------------------------------------------------------------------- 1 | # `name` value will appear "as is" in the badge. 2 | # See https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#adding-a-workflow-status-badge-to-your-repository 3 | name: "build" 4 | 5 | on: 6 | push: 7 | branches: 8 | - release-1.7* 9 | tags: 10 | - '**' 11 | pull_request: 12 | branches: 13 | - '**' 14 | 15 | jobs: 16 | 17 | config: 18 | runs-on: ubuntu-latest 19 | 20 | outputs: 21 | image: ${{ steps.config.outputs.image }} 22 | 23 | steps: 24 | - name: "Checkout" 25 | uses: actions/checkout@v2 26 | 27 | - id: config 28 | run: | 29 | IMG=$( make default RUN='printenv IMG #' ) 30 | echo "::set-output name=image::${IMG}" # ISTIO_BUILD_TOOLS 31 | 32 | build: 33 | needs: config 34 | runs-on: ubuntu-latest 35 | 36 | container: 37 | image: ${{ needs.config.outputs.image }} # ISTIO_BUILD_TOOLS 38 | env: 39 | BUILD_WITH_CONTAINER: "0" 40 | 41 | steps: 42 | - name: "Checkout" 43 | uses: actions/checkout@v2 44 | 45 | - run: make presubmit 46 | 47 | gencheck: 48 | needs: config 49 | runs-on: ubuntu-latest 50 | 51 | container: 52 | image: ${{ needs.config.outputs.image }} # ISTIO_BUILD_TOOLS 53 | env: 54 | BUILD_WITH_CONTAINER: "0" 55 | 56 | steps: 57 | - name: "Install latest `git`" 58 | run: | 59 | apt-get purge git -y 60 | add-apt-repository ppa:git-core/ppa -y 61 | apt-get update && apt-get install -y --no-install-recommends \ 62 | git \ 63 | && apt-get clean \ 64 | && rm -rf /var/lib/apt/lists/* 65 | 66 | - name: "Checkout" 67 | uses: actions/checkout@v2 68 | 69 | - run: make gen-check 70 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /operator/v1alpha1/common_test.go: -------------------------------------------------------------------------------- 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 | package v1alpha1 16 | 17 | import ( 18 | "fmt" 19 | "testing" 20 | 21 | "k8s.io/apimachinery/pkg/util/intstr" 22 | ) 23 | 24 | func TestIntOrString_UnmarshalJSONPB(t *testing.T) { 25 | tests := []struct { 26 | in []byte 27 | wantInt bool 28 | wantString bool 29 | wantErr bool 30 | }{ 31 | {in: []byte(`"imastring"`), wantString: true}, 32 | {in: []byte(`imalsoastring`), wantString: true}, 33 | {in: []byte(`50imasneakystring`), wantString: true}, 34 | {in: []byte(`50`), wantInt: true}, 35 | // yaml spec defines this as a string so this is the behavior we want 36 | {in: []byte(`"50"`), wantString: true}, 37 | } 38 | for _, tt := range tests { 39 | t.Run(fmt.Sprintf("%s isString %v isInt %v", tt.in, tt.wantString, tt.wantInt), func(t *testing.T) { 40 | intorstring := &IntOrStringForPB{} 41 | if err := intorstring.UnmarshalJSONPB(nil, tt.in); (err != nil) != tt.wantErr { 42 | t.Errorf("IntOrString.UnmarshalJSONPB() error = %v, wantErr %v", err, tt.wantErr) 43 | } 44 | if tt.wantInt && intorstring.Type == intstr.String { 45 | t.Error("wanted int got string") 46 | } 47 | if tt.wantString && intorstring.Type == intstr.Int { 48 | t.Error("wanted string got int") 49 | } 50 | }) 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 deprecated = true; 20 | option go_package="istio.io/api/policy/v1beta1"; 21 | 22 | // ValueType describes the types that values in the Istio system can take. These 23 | // are used to describe the type of Attributes at run time, describe the type of 24 | // the result of evaluating an expression, and to describe the runtime type of 25 | // fields of other descriptors. 26 | enum ValueType { 27 | // Invalid, default value. 28 | VALUE_TYPE_UNSPECIFIED = 0; 29 | 30 | // An undiscriminated variable-length string. 31 | STRING = 1; 32 | 33 | // An undiscriminated 64-bit signed integer. 34 | INT64 = 2; 35 | 36 | // An undiscriminated 64-bit floating-point value. 37 | DOUBLE = 3; 38 | 39 | // An undiscriminated boolean value. 40 | BOOL = 4; 41 | 42 | // A point in time. 43 | TIMESTAMP = 5; 44 | 45 | // An IP address. 46 | IP_ADDRESS = 6; 47 | 48 | // An email address. 49 | EMAIL_ADDRESS = 7; 50 | 51 | // A URI. 52 | URI = 8; 53 | 54 | // A DNS name. 55 | DNS_NAME = 9; 56 | 57 | // A span between two points in time. 58 | DURATION = 10; 59 | 60 | // A map string -> string, typically used by headers. 61 | STRING_MAP = 11; 62 | } 63 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/latest/docs/reference/config/networking/sidecar/ 21 | // $aliases: [https://istio.io/docs/reference/config/type/v1beta1/workload-selector.html] 22 | 23 | package istio.type.v1beta1; 24 | 25 | option go_package="istio.io/api/type/v1beta1"; 26 | 27 | // WorkloadSelector specifies the criteria used to determine if a policy can be applied 28 | // to a proxy. The matching criteria includes the metadata associated with a proxy, 29 | // workload instance info such as labels attached to the pod/VM, or any other info 30 | // that the proxy provides to Istio during the initial handshake. If multiple conditions are 31 | // specified, all conditions need to match in order for the workload instance to be 32 | // selected. Currently, only label based selection mechanism is supported. 33 | message WorkloadSelector { 34 | // One or more labels that indicate a specific set of pods/VMs 35 | // on which a policy should be applied. The scope of label search is restricted to 36 | // the configuration namespace in which the resource is present. 37 | map match_labels = 1 [(google.api.field_behavior) = REQUIRED]; 38 | } 39 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | math "math" 12 | 13 | github_com_golang_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 14 | proto "github.com/gogo/protobuf/proto" 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/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 [[ -z "${IGNORE_DIRTY_TREE}" ]] && [[ -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 | tree_status="Clean" 34 | if [[ -z "${IGNORE_DIRTY_TREE}" ]] && ! git diff-index --quiet HEAD --; then 35 | tree_status="Modified" 36 | fi 37 | 38 | # security wanted VERSION='unknown' 39 | VERSION="${BUILD_GIT_REVISION}" 40 | if [[ -n ${ISTIO_VERSION} ]]; then 41 | VERSION="${ISTIO_VERSION}" 42 | fi 43 | 44 | GIT_DESCRIBE_TAG=$(git describe --tags) 45 | HUB=${HUB:-"docker.io/istio"} 46 | 47 | # used by common/scripts/gobuild.sh 48 | echo "istio.io/pkg/version.buildVersion=${VERSION}" 49 | echo "istio.io/pkg/version.buildGitRevision=${BUILD_GIT_REVISION}" 50 | echo "istio.io/pkg/version.buildStatus=${tree_status}" 51 | echo "istio.io/pkg/version.buildTag=${GIT_DESCRIBE_TAG}" 52 | echo "istio.io/pkg/version.buildHub=${HUB}" 53 | -------------------------------------------------------------------------------- /security/v1alpha1/ca.proto: -------------------------------------------------------------------------------- 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 | syntax = "proto3"; 16 | 17 | // Keep this package for backward compatibility. 18 | package istio.v1.auth; 19 | 20 | option go_package="istio.io/api/security/v1alpha1"; 21 | 22 | // Certificate request message. The authentication should be based on: 23 | // 1. Bearer tokens carried in the side channel; 24 | // 2. Client-side certificate via Mutual TLS handshake. 25 | // Note: the service implementation is REQUIRED to verify the authenticated caller is authorize to 26 | // all SANs in the CSR. The server side may overwrite any requested certificate field based on its 27 | // policies. 28 | message IstioCertificateRequest { 29 | // PEM-encoded certificate request. 30 | // The public key in the CSR is used to generate the certificate, 31 | // and other fields in the generated certificate may be overwritten by the CA. 32 | string csr = 1; 33 | // Optional: requested certificate validity period, in seconds. 34 | int64 validity_duration = 3; 35 | } 36 | 37 | // Certificate response message. 38 | message IstioCertificateResponse { 39 | // PEM-encoded certificate chain. 40 | // The leaf cert is the first element, and the root cert is the last element. 41 | repeated string cert_chain = 1; 42 | } 43 | 44 | // Service for managing certificates issued by the CA. 45 | service IstioCertificateService { 46 | // Using provided CSR, returns a signed certificate. 47 | rpc CreateCertificate(IstioCertificateRequest) 48 | returns (IstioCertificateResponse) { 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /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 --init -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,consistency=cached" \ 51 | --mount "type=volume,source=go,destination=/go,consistency=cached" \ 52 | --mount "type=volume,source=gocache,destination=/gocache,consistency=cached" \ 53 | ${CONDITIONAL_HOST_MOUNTS} \ 54 | -w /work "${IMG}" "$@" 55 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /meta/v1alpha1/status.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 "analysis/v1alpha1/message.proto"; 17 | 18 | import "google/protobuf/timestamp.proto"; 19 | 20 | import "google/api/field_behavior.proto"; 21 | 22 | // $title: Istio Status 23 | // $description: Common status field for all istio collections. 24 | // $location: https://istio.io/docs/reference/config/meta/v1beta1/istio-status.html 25 | 26 | package istio.meta.v1alpha1; 27 | 28 | option go_package="istio.io/api/meta/v1alpha1"; 29 | 30 | message IstioStatus { 31 | // Current service state of pod. 32 | // More info: https://istio.io/docs/reference/config/config-status/ 33 | // +optional 34 | // +patchMergeKey=type 35 | // +patchStrategy=merge 36 | repeated IstioCondition conditions = 1; 37 | 38 | // Includes any errors or warnings detected by Istio's analyzers. 39 | // +optional 40 | // +patchMergeKey=type 41 | // +patchStrategy=merge 42 | repeated analysis.v1alpha1.AnalysisMessageBase validation_messages = 2; 43 | } 44 | 45 | message IstioCondition { 46 | // Type is the type of the condition. 47 | string type = 1; 48 | 49 | // Status is the status of the condition. 50 | // Can be True, False, Unknown. 51 | string status = 2; 52 | 53 | // Last time we probed the condition. 54 | // +optional 55 | google.protobuf.Timestamp last_probe_time = 3; 56 | 57 | // Last time the condition transitioned from one status to another. 58 | // +optional 59 | google.protobuf.Timestamp last_transition_time = 4; 60 | 61 | // Unique, one-word, CamelCase reason for the condition's last transition. 62 | // +optional 63 | string reason = 5; 64 | 65 | // Human-readable message indicating details about last transition. 66 | // +optional 67 | string message = 6; 68 | } 69 | -------------------------------------------------------------------------------- /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\270\001\001\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\x0cReportResultB9Z(istio.io/api/mixer/adapter/model/v1beta1\xb8\x01\x01\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 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 deprecated = true; 20 | option go_package="istio.io/api/mixer/v1/config/client"; 21 | 22 | import "gogoproto/gogo.proto"; 23 | 24 | option (gogoproto.goproto_getters_all) = false; 25 | option (gogoproto.equal_all) = false; 26 | option (gogoproto.gostring_all) = false; 27 | option (gogoproto.stable_marshaler_all) = true; 28 | 29 | // NOTE: this is a duplicate of proxy.v1.config.IstioService from 30 | // proxy/v1alpha1/config/route_rules.proto. 31 | // 32 | // Mixer protobufs have gogoproto specific options which are not 33 | // compatiable with the proxy's vanilla protobufs. Ideally, these 34 | // protobuf options be reconciled so fundamental Istio concepts and 35 | // types can be shared by components. Until then, make a copy of 36 | // IstioService for mixerclient to use. 37 | 38 | // IstioService identifies a service and optionally service version. 39 | // The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix 40 | // (e.g. on Kubernetes, "reviews" + "default" + "svc.cluster.local" -> "reviews.default.svc.cluster.local"). 41 | message IstioService { 42 | // The short name of the service such as "foo". 43 | string name = 1; 44 | 45 | // Optional namespace of the service. Defaults to value of metadata namespace field. 46 | string namespace = 2; 47 | 48 | // Domain suffix used to construct the service FQDN in implementations that support such specification. 49 | string domain = 3; 50 | 51 | // The service FQDN. 52 | string service = 4; 53 | 54 | // Optional one or more labels that uniquely identify the service version. 55 | // 56 | // *Note:* When used for a VirtualService destination, labels MUST be empty. 57 | // 58 | map labels = 5; 59 | } 60 | -------------------------------------------------------------------------------- /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 deprecated = true; 20 | option go_package="istio.io/api/mixer/adapter/model/v1beta1"; 21 | 22 | import "gogoproto/gogo.proto"; 23 | import "google/protobuf/duration.proto"; 24 | import "google/rpc/status.proto"; 25 | 26 | option (gogoproto.goproto_getters_all) = false; 27 | option (gogoproto.equal_all) = false; 28 | option (gogoproto.gostring_all) = false; 29 | 30 | // Expresses the quota allocation request. 31 | message QuotaRequest { 32 | // parameters for a quota allocation 33 | message QuotaParams { 34 | // Amount of quota to allocate 35 | int64 amount = 1; 36 | 37 | // When true, supports returning less quota than what was requested. 38 | bool best_effort = 2; 39 | } 40 | 41 | // The individual quotas to allocate 42 | map quotas = 1 [(gogoproto.nullable) = false]; 43 | } 44 | 45 | // Expresses the result of multiple quota allocations. 46 | message QuotaResult { 47 | // Expresses the result of a quota allocation. 48 | message Result { 49 | // The amount of time for which this result can be considered valid. 50 | google.protobuf.Duration valid_duration = 2 [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; 51 | 52 | // The amount of granted quota. When `QuotaParams.best_effort` is true, this will be >= 0. 53 | // If `QuotaParams.best_effort` is false, this will be either 0 or >= `QuotaParams.amount`. 54 | int64 granted_amount = 3; 55 | 56 | // A status code of OK indicates quota was fetched successfully. Any other code indicates error in fetching quota. 57 | google.rpc.Status status = 4 [(gogoproto.nullable) = false]; 58 | } 59 | 60 | // The resulting quota, one entry per requested quota. 61 | map quotas = 1 [(gogoproto.nullable) = false]; 62 | } 63 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /security/v1alpha1/ca.pb.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: istio.v1.auth 3 | layout: protoc-gen-docs 4 | generator: protoc-gen-docs 5 | number_of_entries: 3 6 | --- 7 |

Services

8 |

IstioCertificateService

9 |
10 |

Service for managing certificates issued by the CA.

11 | 12 |
rpc CreateCertificate(IstioCertificateRequest) returns (IstioCertificateResponse)
13 | 
14 |

Using provided CSR, returns a signed certificate.

15 | 16 |
17 |

Types

18 |

IstioCertificateRequest

19 |
20 |

Certificate request message. The authentication should be based on: 21 | 1. Bearer tokens carried in the side channel; 22 | 2. Client-side certificate via Mutual TLS handshake. 23 | Note: the service implementation is REQUIRED to verify the authenticated caller is authorize to 24 | all SANs in the CSR. The server side may overwrite any requested certificate field based on its 25 | policies.

26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 46 | 49 | 50 | 51 | 52 | 53 | 57 | 60 | 61 | 62 |
FieldTypeDescriptionRequired
csrstring 41 |

PEM-encoded certificate request. 42 | The public key in the CSR is used to generate the certificate, 43 | and other fields in the generated certificate may be overwritten by the CA.

44 | 45 |
47 | No 48 |
validityDurationint64 54 |

Optional: requested certificate validity period, in seconds.

55 | 56 |
58 | No 59 |
63 |
64 |

IstioCertificateResponse

65 |
66 |

Certificate response message.

67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 86 | 89 | 90 | 91 |
FieldTypeDescriptionRequired
certChainstring[] 82 |

PEM-encoded certificate chain. 83 | The leaf cert is the first element, and the root cert is the last element.

84 | 85 |
87 | No 88 |
92 |
93 | -------------------------------------------------------------------------------- /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 | --------------------------------------------------------------------------------