Commit Graph

302 Commits

Author SHA1 Message Date
Douglas Reid 68cba41b5a
Add initial Telemetry API with Tracing support for sampling and custom tags (#1740)
* Add initial Telemetry API definition

* fix names and comments

* Rename TracingConfig to Tracing

* Remove TelemetryProviders and consolidate to just Tracing providers

* add new extension providers to oneof

* Remove providers from telemetry API

* Add release note

* Address comments

* Add back providers, remove match, simplify Trace API

* Collapse TracingRule into Tracing and remove deprecations in ProxyConfig

* Move from address to service + port in providers

* Remove exclude_mesh_tags

* Revert to boolean control of span reporting

* Cleanup documentation

* Replace subdomain with telemetry type
2021-03-25 21:01:24 -07:00
John Howard 6e9e4699ed
Validate api docs, and fix issues (#1885)
* Fix invalid examples and alpha/beta discrepencies

* gen

* license

* lint

* missing space

* gen
2021-02-17 09:30:48 -08:00
Sam Naser dee73e3940
Add default revision to operator (#1806)
* add default_revision and revision_tags to operator

* remove revision_tags from operator.proto

* add release note

* fix conflicts
2021-02-17 05:05:26 -08:00
Harvey Xia cb887ae4ac
add discoverySelectors to meshConfig (#1830)
* add discoverySelectors to meshConfig

* release notes

* add example and reference to k8s doc

* fix release note

* revise copy
2021-02-04 07:23:16 -08:00
Oliver Liu 8779b36cec
Add root configuration API. (#1848)
* Add root configuration API.

* Updates according to the feedback.

* Small update.

* Fixes.

* Add release notes.

* Rename the message.

* Small fixes on comments.

* Small fix
2021-02-03 16:36:27 -08:00
Morven Cao e51932d667
add volume and volumeMount to k8s settings. (#1812)
* add volume and volumeMount to k8s settings.

* add release note.

* rebase code.
2021-02-01 00:07:11 -08:00
John Howard 2bcca53775
Move protobuf generation/configuration to buf (#1833)
https://docs.buf.build/

Buf is the successor to https://github.com/uber/prototool which we
already use for linting.

This dramatically simplifies our Makefiles, which are both extremely
complicated and have led to numerous bugs historically, such as
https://github.com/istio/api/issues/1678.

This will make changes to the generation much simpler as well. For
example, to migrate to gogo protobuf, we will just need to change `gogo`
-> `go` in one location, rather than trying to wrangle 500 lines of
Makefiles. Additionally, its quite a bit faster - the whole proto stuff
is done in <1s now.
2021-01-28 17:47:43 -08:00
John Howard 155b39af83
Cleanup generated files that we no longer generate (#1781) 2021-01-12 18:35:10 -08:00
John Howard 0ef6f5608b
Mark port as required field for health check (#1770)
Matches Kubernetes
2021-01-12 14:25:16 -08:00
zhaohuabing 21c3bd1ba1
add destination port support for envoyfilter (#1774)
* add destination port support for envoyfilter

Signed-off-by: zhaohuabing <huabingzhao@tencent.com>

* modify the comment of destination port

We may use destination port match in other listeners in the future.

Signed-off-by: zhaohuabing <huabingzhao@tencent.com>

* make gen

Signed-off-by: zhaohuabing <huabingzhao@tencent.com>

Co-authored-by: zhaohuabing <huabingzhao@tencent.com>
2020-12-17 07:51:05 -08:00
John Howard c2df7c41fd
Cleanup mesh config docs (#1702)
Original intent was to document proxy config annotation and unhide the
proxy metadata section, which is used by many users now. On the way I
removed+reserved some dead fields and cleaned up a few comments. I can
revert the clean up if its controversial
2020-11-20 09:59:56 -08:00
stewartbutler 5f3ac92ebb
Adding HoldApplicationUntilProxyStarts to proxyconfig (#1670)
* Adding HoldApplicationUntilProxyStarts to proxyconfig

* Updating comment

* Changing description of value

* Updating description again
2020-11-11 19:33:49 -08:00
Xinnan Wen 9314e18b88
deprecate addon field from the operator (#1701)
* deprecate addon field from the operator

* add releasenote and update comment
2020-11-03 13:44:05 -08:00
Yangmin Zhu 801bb1f7f7
update CUSTOM action in AuthorizationPolicy (#1698)
* update external action API

* more generic in MeshConfig

* address comments

* more comments

* use ExternalProvider and many more updates

* use provider

* require fully qualified name in service

* add fail_open and share common settings for HTTP and GRPC

* update for extension_providers and EXTENDED action

* address comments

* make port required

* change to CUSTOM action

* fix
2020-10-27 11:32:11 -07:00
Mitch Connors e59b7fb6ed
Add observedGeneration to status (#1692)
* Add observedGeneration to status

* move to snake case

* Fix description

* Clarify comment

* Finalize comment

* Add docs link
2020-10-20 12:55:12 -07:00
Nupur Garg bc990c81b0
Add meshconfig to disable envoy listener access log (#1697)
* Add meshconfig to disable envoy listener access log

* Add Listener access log link
2020-10-19 12:06:32 -07:00
Kyle Evans d35a65ac7f
create remote_ip_blocks in Source (#1687)
* create remote_ip_blocks in Source

By adding remote_ip_blocks and not_remote_ip_blocks in Source,
an AuthorizationPolicy can trigger actions based on the original
client IP address gleaned from the X-Forwarded-For header or the
proxy protocol.

* update comment to show that ip_blocks match on IP packet source address

* make reference to numTrustedProxies in remote_ip docs

* fix URL for gateway network topology
2020-10-14 18:24:20 -07:00
Pengyuan Bian 410f0d0812
Add envoy stats inclusion matcher to proxy config (#1599)
* add envoy stats inclusion matcher to proxy config

* gen again

* wrap envoy stats options into a message

* update

* update comment

* add comment about default stats

* update comment

* fix comment
2020-10-14 10:55:12 -07:00
Yangmin Zhu ae1b3ec96a
add external action to authorization policy (#1674)
* add external action to authorization policy

* remove config for now and update comments

* use custom config that is mostly based on Envoy ext_authz with minimal changes

* fix comments
2020-10-08 15:56:29 -07:00
John Howard 19bfd18ca7
Rename Authorization Policy proto for consistency (#1671)
Every other API is named `<kind in snake case>.proto`, but authz. It is
named authorization.policy. This impacts the generated code. For
consistency, renaming it to match all of our other APIs
2020-10-04 15:55:36 -07:00
Kuat 44a8342c37
envoyfilter: add ecds option (#1652)
* add ecds option

Signed-off-by: Kuat Yessenov <kuat@google.com>

* add example

Signed-off-by: Kuat Yessenov <kuat@google.com>

* add comments

Signed-off-by: Kuat Yessenov <kuat@google.com>

* update docs

Signed-off-by: Kuat Yessenov <kuat@google.com>
2020-10-01 13:04:53 -07:00
Rama Chavali bea3ed0bae
add use client protocol option for destination rules (#1627)
* add use client protocol option for gateways

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* fix docs

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* docs

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* remove gateway reference

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* change v1alpha3

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* clarify upgrade

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2020-09-13 13:30:30 -07:00
Aditya Prerepa da5469b620
Add HealthCheck Config to ProxyStatus (#1620)
* add to proxyconfig

* lint

* follow k8s readiness probe exec field type

* match k8s exactly

* gen

* rename to snake case

* Update mesh/v1alpha1/proxy.proto

Co-authored-by: John Howard <howardjohn@google.com>

* fix some stuff

* lint & gen

* add to workloadgroup

* add example & comments

* make gen

Co-authored-by: John Howard <howardjohn@google.com>
2020-09-10 08:48:33 -07:00
Pengyuan Bian 701568332f
remove policy and telemetry component from operator API (#1611) 2020-08-28 16:00:38 -07:00
Khoa Hoàng 99a2564337
Added MeshConfig for Custom External CA (#1596)
* Add MeshConfig for CustomCA

* Update document
2020-08-26 19:14:12 -07:00
Brian Wolfe c78f387f78
tracing: remove uncommonly-used tuning configs (#1591)
These configurations were added to be consistent with Stackdriver and
provide extra performance tuning for OpenCensus. These are unlikely to
be used in production. Tuning should probably be performed by Istio
developers instead. We can remove the options for now.

This was triggered by a conversation at the end of the previous CL
merge: https://github.com/istio/api/pull/1563
Change-Id: Iab148ff87dfe5b1772d3cdf2a009ec9cf4ea0f27
Reviewed-on: https://gerrit.musta.ch/c/public/istio-api/+/596
Reviewed-by: Jungho Ahn <jungho.ahn@airbnb.com>
Reviewed-by: Ying Zhu <ying.zhu@airbnb.com>
2020-08-19 15:59:23 -07:00
Navraj Singh Chhina c60647764a
Add VerifyCertificateAtClient to MeshConfig (#1585)
* add meshconfig field

* rename field

* change name

* add detailed comment

* address comments

* change to boolvalue wrapper

* proto commit

* change name again

* add comment for SAN matching

* fix comment

* use concise documentation
2020-08-14 14:43:30 -07:00
mandarjog d119b043da
Define FilterClasses with REPLACE (#1588)
* define EnvoyFilter REPLACE operation

* add example

* make gen

* Add filter class enum

* make gen

* Update per discussion

* Update text
2020-08-14 08:00:54 -07:00
Morven Cao b0d73f1d2a
add pod securitycontext for operator api. (#1589)
* add pod securitycontext for operator api.

* address comments.
2020-08-12 19:50:26 -07:00
Justin Wei 24be265d41
WorkloadGroup CRD (#1554)
* workload group template

* add storage version, timestamp

* new workloadgroup crd

* add docs for workloadentrytemplate

* comments for workloadgroup

* revised doc wording

* remove k8s dependency

* remove name, namespace

* remove WorkloadEntryTemplate

* regen

* formatting

* revise comments

* inline objectmeta

Co-authored-by: Justin Wei <juswei@google.com>
2020-08-12 13:27:21 -07:00
Khoa Hoàng 03c846170f
Add metadata field into Istio CertificateSigningService (#1576)
* add metadata field to certificate signing api

* make proto-commit
2020-08-10 11:51:29 -07:00
Brian Wolfe 0bb7e74acf
tracing: add API for OpenCensus agent exporter (#1563)
* tracing: add API for OpenCensus agent exporter

This is based heavily on the existing Stackdriver configuration.
Stackdriver and OpenCensus exporter will both use the OpenCensus tracer
implementation. This will permit OpenCensus to export OpenCensus
agent-formatted spans.

OpenCensus-formatted spans are handled by the OpenTelemetry collector,
providing a migration path from OpenCensus to OpenTelemetry when
OpenTelemetry is more complete and integrated with Envoy.

Change-Id: I566299c9291021d26ec1e839643871a380807bc3
Reviewed-on: https://gerrit.musta.ch/c/public/istio-api/+/551
Reviewed-by: Jungho Ahn <jungho.ahn@airbnb.com>

* tracing: add TraceContext & use OpenCensusAgent

Specify the set of trace headers to use for distributed trace context
propagation with a new TraceContext enum in the OpenCensusAgent tracer.

OpenCensus is the name of both the tracer implementation and the backend
service. To disambiguate between the two terms, rename OpenCensus to
OpenCensusAgent, since it is specific to the backend service. Both
Stackdriver & OpenCensus will use the OpenCensus trace implementation
under the hood.

Change-Id: Id860fbf6bf6b1345c7276bb2c2b93de3f69a9d44
Reviewed-on: https://gerrit.musta.ch/c/public/istio-api/+/575
Reviewed-by: Jungho Ahn <jungho.ahn@airbnb.com>

* tracing: update docs to include envoy proto link

The existing documentation for Stackdriver and OpenCensus reference the
OpenCensus configuration. We should reference both the Envoy OpenCensus
tracer configuration and the OpenCensus configuration.

Change-Id: Ia3fcbc879e2e15f90a56959cf97fe30b57211782
Reviewed-on: https://gerrit.musta.ch/c/public/istio-api/+/582
Reviewed-by: Ying Zhu <ying.zhu@airbnb.com>
Reviewed-by: Jungho Ahn <jungho.ahn@airbnb.com>
2020-08-08 14:39:52 -07:00
Jason Wang cb1dd80a95
Change status timestamp to protobuf timestamp (#1581) 2020-08-06 16:37:26 -07:00
Justin Wei 93ddbbf604
change meshId type to string (#1575)
Co-authored-by: Justin Wei <juswei@google.com>
2020-08-05 09:29:35 -07:00
Liam White 844ce7d2a3
Fix quantity and lock down others to a more specific type (#1567)
* Fix quantity and lock down others to correct IntOrString

Signed-off-by: Liam White <liam@tetrate.io>

* fix imports

Signed-off-by: Liam White <liam@tetrate.io>
2020-08-05 06:48:42 -07:00
David Raskin 50557a0cbf
Extend authorization policy action with 'Audit' action (#1552)
* Modified rbac proto

* change module name

* change module again

* change go.mod again

* Changed back go.mod, go.sum, proto.lock

* Updated proto.lock

* Updated Audit documentation

* Documentation update

* Updated documentation
2020-07-30 15:39:38 -07:00
Kuat a68466d72e
remove more mixer stuff (#1564)
Signed-off-by: Kuat Yessenov <kuat@google.com>
2020-07-29 12:11:40 -07:00
Navraj Singh Chhina 91f53f0b47
Remove deprecated SDS fields from meshconfig proto (#1559)
* remove sds_uds_path

* remove deprecated fields
2020-07-28 17:10:36 -07:00
Jianfei Hu 95ae444bcc
Add allowed_trust_domains for the authn filter config. (#1561)
* Add trust domain validation list for the authn filter config.

* Rename to allowed_trust_domains

* rewording and grammar fix.
2020-07-28 15:21:40 -07:00
Kuat 3c2193e749
cleanup: remove mixer artifacts (#1555)
* remove mixer artifacts

Signed-off-by: Kuat Yessenov <kuat@google.com>

* releaselocks

Signed-off-by: Kuat Yessenov <kuat@google.com>

* bad script

Signed-off-by: Kuat Yessenov <kuat@google.com>
2020-07-23 10:08:24 -07:00
Xinnan Wen 83c0d06cba
add pending to operator status (#1499)
* add pending to operator status

* add message to overall status

* address comment

* address comment
2020-07-20 11:59:14 -07:00
Neeraj Poddar cec4d6d759
Remove unimplemented Sidecar Localhost APIs (#1529)
* Remove unimplemented APIs

* Reserve fields

* Override proto status check file
2020-07-16 10:01:34 -07:00
Oliver Liu ada27df91b
Make cert signing API public in istio/api. (#1520)
* Make cert signing API public in istio/api.

* Update the API.

* Update the API.

* Small fix.
2020-07-14 16:44:59 -07:00
Mitch Connors 87ad7f45ae
Add Status types to API (#1449)
* Add proto for analysis messages

* Add analysis protos to make system

* Better comments, clearer intention with code/name

* Move analysis to beta, add meta types

* update ValidationMessages to validation_messages

* more snake casing, hopefully doesnt break kubernetes compatibility

* try to get all generated files updated

* update gen conflicts after rebase

* move analysis back to alpha

* demote meta to v1alpha1

* remove remnants of beta apis

* resolve gen problems related to demotion

Co-authored-by: Clayton Pence <ctpence@google.com>
2020-07-13 13:24:46 -07:00
Shriram Rajagopalan 42be9dcd33
Add targetPort to ServiceEntry Port (#1477)
* use targetPort for workloadEntries

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* fix workload entry

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* proto lock

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* undo deprecation

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* generate

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* regenerate

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* update docs

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* nits

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>

* reword

Signed-off-by: Shriram Rajagopalan <rshriram@tetrate.io>
2020-07-08 11:29:25 -07:00
carolynhu 6e8e32f7ac
Add mesh ID to ProxyConfig (#1274)
* introduce mesh_id field in ProxyConfig

* address review comments
2020-06-25 18:34:08 -07:00
John Howard bac02847c8
Move operator to gogo proto (#1483)
* Move operator to gogo proto

* switch to gogo

* fix gen
2020-06-25 13:03:14 -07:00
John Howard fb83ff2d82
Move termination drain duration (#1463)
This was merged yesterday so no risk reverting. This moves from mesh
config to proxy config, where it should have originally been. This is a
proxy specific config.
2020-06-17 11:47:12 -07:00
Rama Chavali 657e06ab77
add name to gateway servers (#1469)
* add stat prefix to gateway servers

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>

* add name to server

Signed-off-by: Rama Chavali <rama.rao@salesforce.com>
2020-06-16 05:01:02 -07:00
Navraj Singh Chhina d54d738fb9
Add credentialName to DestinationRule API (#1468)
* Add credentialName to DestinationRule API

* rebase commits

Add comment to describle only one of cert or credential can be specified

* rebase master
2020-06-12 16:38:08 -07:00