* 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
* Add root configuration API.
* Updates according to the feedback.
* Small update.
* Fixes.
* Add release notes.
* Rename the message.
* Small fixes on comments.
* Small fix
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.
* 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>
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
* 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
* 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
* 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
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
* 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>
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>
* 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
* 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>
* 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>
* 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>
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.
* 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>