From 428af2c8479c8db6b93cf7b9638813af2487df48 Mon Sep 17 00:00:00 2001
From: Martin Taillefer This package defines the Mixer API that the sidecar proxy uses to perform
+precondition checks, manage quotas, and report telemetry. How an attribute’s value was matched Mixer provides three core features: should not occur Precondition Checking. Enables callers to verify a number of preconditions
+before responding to an incoming request from a service consumer.
+Preconditions can include whether the service consumer is properly
+authenticated, is on the service’s whitelist, passes ACL checks, and more. match when attribute doesn’t exist Quota Management. Enables services to allocate and free quota on a number
+of dimensions, Quotas are used as a relatively simple resource management tool
+to provide some fairness between service consumers when contending for limited
+resources. Rate limits are examples of quotas. match when attribute value is an exact byte-for-byte match Telemetry Reporting. Enables services to report logging and monitoring.
+In the future, it will also enable tracing and billing streams intended for
+both the service operator as well as for service consumers. match when attribute value matches the included regex Checks preconditions and allocate quota before performing an operation.
+The preconditions enforced depend on the set of supplied attributes and
+the active configuration. Reports telemetry, such as logs and metrics.
+The reported information depends on the set of supplied attributes and the
+active configuration. Attributes represents a set of typed name/value pairs. Many of Mixer’s
@@ -57,13 +56,12 @@ Enumerations
-ReferencedAttributes.Condition
+{% raw %}
+Services
+Mixer
-
-
-Name
-Description
-
-
-
-CONDITION_UNSPECIFIED
-
-
+
-
-
-ABSENCE
-
-
-
-
-EXACT
-
-
-
-
-REGEX
-
-
+rpc Check(CheckRequest) returns (CheckResponse)
+
+rpc Report(ReportRequest) returns (ReportResponse)
+
Messages
+Types
Attributes
Attributes
of information such as the error code of an API request, the latency of an API request, or the
original IP address of a TCP connection. For example:
-request.path: xyz/abc
+
request.path: xyz/abc
request.size: 234
request.time: 12:34:56.789 04/17/2017
source.ip: 192.168.0.1
target.service: example
-
A given Istio deployment has a fixed vocabulary of attributes that it understands. The specific vocabulary is determined by the set of attribute producers being used @@ -85,11 +83,14 @@
Specifies one attribute value with different type.
Defines a string map.
Used to get a thumbs-up/thumbs-down before performing an action.
parameters for a quota allocation
The response generated by the Check method.
+Expresses the result of a precondition check.
+Expresses the result of a quota allocation.
+Describes a single attribute match.
+ +How an attribute’s value was matched
+ +Name | +Description | +
---|---|
CONDITION_UNSPECIFIED |
+
+ should not occur + + |
+
ABSENCE |
+
+ match when attribute doesn’t exist + + |
+
EXACT |
+
+ match when attribute value is an exact byte-for-byte match + + |
+
REGEX |
+
+ match when attribute value matches the included regex + + |
+
Used to report telemetry after performing one or more actions.
Used to carry responses to telemetry reports
+A map of string to string. The keys and values in this map are dictionary -indices (see the Attributes message for an explanation)
+indices (see the Attributes message for an explanation)Mixer provides three core features:
- -Precondition Checking. Enables callers to verify a number of preconditions -before responding to an incoming request from a service consumer. -Preconditions can include whether the service consumer is properly -authenticated, is on the service’s whitelist, passes ACL checks, and more.
Quota Management. Enables services to allocate and free quota on a number -of dimensions, Quotas are used as a relatively simple resource management tool -to provide some fairness between service consumers when contending for limited -resources. Rate limits are examples of quotas.
Telemetry Reporting. Enables services to report logging and monitoring. -In the future, it will also enable tracing and billing streams intended for -both the service operator as well as for service consumers.
rpc Check(CheckRequest) returns (CheckResponse)
-
-Checks preconditions and allocate quota before performing an operation. -The preconditions enforced depend on the set of supplied attributes and -the active configuration.
- -rpc Report(ReportRequest) returns (ReportResponse)
-
-Reports telemetry, such as logs and metrics. -The reported information depends on the set of supplied attributes and the -active configuration.
- -Istio Certificate Authority (CA)
istio_ca [flags]
@@ -49,6 +50,16 @@
Specifies path to kubeconfig file. This must be specified when not running inside a Kubernetes pod. (default ``)
+--livenessProbeInterval <duration>
+
+Interval of updating file for the liveness probe. (default `0s`)
+
+
+--livenessProbePath <string>
+
+Path to the file for the liveness probe. (default ``)
+
+
--log_as_json
Whether to format output as JSON or in plain console-friendly format
diff --git a/_docs/reference/commands/istioctl.html b/_docs/reference/commands/istioctl.html
index 200b72c86f84..7b4d7ba3f7ad 100644
--- a/_docs/reference/commands/istioctl.html
+++ b/_docs/reference/commands/istioctl.html
@@ -2,6 +2,7 @@
title: istioctl
overview: Istio control interface
layout: pkg-collateral-docs
+number_of_entries: 13
---
Istio configuration command line utility.
@@ -27,7 +28,7 @@
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -130,7 +131,7 @@ istioctl context-create
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -233,7 +234,7 @@ istioctl create
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -334,7 +335,7 @@ istioctl delete
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -435,7 +436,7 @@ istioctl deregister
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -558,7 +559,7 @@ istioctl gen-deploy
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -664,7 +665,7 @@ istioctl get
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -826,7 +827,7 @@ istioctl kube-inject
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -972,7 +973,7 @@ istioctl register
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--labels <stringSlice>
@@ -1080,7 +1081,7 @@ istioctl replace
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
@@ -1176,7 +1177,7 @@ istioctl version
--kubeconfig <string>
-c
-Kubernetes configuration file (default `/Users/mtail/.kube/config`)
+Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)
--log_as_json
diff --git a/_docs/reference/commands/mixc.html b/_docs/reference/commands/mixc.html
index 1d69bb381b7f..118e1b7c3a18 100644
--- a/_docs/reference/commands/mixc.html
+++ b/_docs/reference/commands/mixc.html
@@ -2,6 +2,7 @@
title: mixc
overview: Utility to trigger direct calls to Mixer's API.
layout: pkg-collateral-docs
+number_of_entries: 5
---
This command lets you interact with a running instance of
Mixer. Note that you need a pretty good understanding of Mixer's
diff --git a/_docs/reference/commands/mixs.html b/_docs/reference/commands/mixs.html
index 7888b6dd3eaa..3a280e036c76 100644
--- a/_docs/reference/commands/mixs.html
+++ b/_docs/reference/commands/mixs.html
@@ -2,6 +2,7 @@
title: mixs
overview: Mixer is Istio's abstraction on top of infrastructure backends.
layout: pkg-collateral-docs
+number_of_entries: 10
---
Mixer is Istio's point of integration with infrastructure backends and is the
nexus for policy evaluation and telemetry reporting.
diff --git a/_docs/reference/commands/node_agent.html b/_docs/reference/commands/node_agent.html
index 7bd17f12b3c7..fd52f3b74141 100644
--- a/_docs/reference/commands/node_agent.html
+++ b/_docs/reference/commands/node_agent.html
@@ -2,6 +2,7 @@
title: node_agent
overview: Istio security per-node agent
layout: pkg-collateral-docs
+number_of_entries: 3
---
Istio security per-node agent
node_agent [flags]
diff --git a/_docs/reference/commands/pilot-agent.html b/_docs/reference/commands/pilot-agent.html
index a7d96700721f..6ccb90ef7c11 100644
--- a/_docs/reference/commands/pilot-agent.html
+++ b/_docs/reference/commands/pilot-agent.html
@@ -2,6 +2,7 @@
title: pilot-agent
overview: Istio Pilot agent
layout: pkg-collateral-docs
+number_of_entries: 4
---
Istio Pilot provides management plane functionality to the Istio service mesh and Istio Mixer.
@@ -95,6 +96,11 @@ pilot-agent proxy
Path to the proxy binary (default `/usr/local/bin/envoy`)
+--bootstrapv2
+
+Use bootstrap v2
+
+
--configPath <string>
Path to the generated configuration file directory (default `/etc/istio/proxy`)
diff --git a/_docs/reference/commands/pilot-discovery.html b/_docs/reference/commands/pilot-discovery.html
index b08ea26c58d8..8710effcc8a4 100644
--- a/_docs/reference/commands/pilot-discovery.html
+++ b/_docs/reference/commands/pilot-discovery.html
@@ -2,6 +2,7 @@
title: pilot-discovery
overview: Istio Pilot
layout: pkg-collateral-docs
+number_of_entries: 4
---
Istio Pilot provides fleet-wide traffic management capabilities in the Istio Service Mesh.
diff --git a/_docs/reference/commands/sidecar-injector.html b/_docs/reference/commands/sidecar-injector.html
index 95c99b97c390..669d852b4b4d 100644
--- a/_docs/reference/commands/sidecar-injector.html
+++ b/_docs/reference/commands/sidecar-injector.html
@@ -2,6 +2,7 @@
title: sidecar-injector
overview: Kubernetes webhook for automatic Istio sidecar injection
layout: pkg-collateral-docs
+number_of_entries: 3
---
Kubernetes webhook for automatic Istio sidecar injection
sidecar-injector [flags]
diff --git a/_docs/reference/config/adapters/circonus.html b/_docs/reference/config/adapters/circonus.html
new file mode 100644
index 000000000000..11a7d9021732
--- /dev/null
+++ b/_docs/reference/config/adapters/circonus.html
@@ -0,0 +1,113 @@
+---
+title: Circonus
+overview: Adapter for circonus.com's monitoring solution.
+location: https://istio.io/docs/reference/config/adapters/circonus.html
+layout: protoc-gen-docs
+number_of_entries: 3
+---
+{% raw %}
+The circonus
adapter enables Istio to deliver metric data to the
+Circonus monitoring backend.
+
+Params
+
+Cnofiguration format for the Circonus adapter.
+
+
+
+Params.MetricInfo
+
+Describes how to represent a metric
+
+
+
+Params.MetricInfo.Type
+
+The type of metric.
+
+
+
+
+Name
+Description
+
+
+
+
+UNKNOWN
+
+
+
+
+COUNTER
+
+
+
+
+GAUGE
+
+
+
+
+DISTRIBUTION
+
+
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/denier.html b/_docs/reference/config/adapters/denier.html
new file mode 100644
index 000000000000..635ac34c0182
--- /dev/null
+++ b/_docs/reference/config/adapters/denier.html
@@ -0,0 +1,150 @@
+---
+title: Denier
+overview: Adapter that always returns a precondition denial.
+location: https://istio.io/docs/reference/config/adapters/denier.html
+layout: protoc-gen-docs
+number_of_entries: 2
+---
+{% raw %}
+The denier
adapter is designed to always return a denial to precondition
+checks. You can specify the exact error to return for these denials.
+
+Params
+
+Cnofiguration format for the Denier adapter.
+
+
+
+google.rpc.Status
+
+The Status
type defines a logical error model that is suitable for different
+programming environments, including REST APIs and RPC APIs. It is used by
+gRPC. The error model is designed to be:
+
+
+- Simple to use and understand for most users
+- Flexible enough to meet unexpected needs
+
+
+Overview
+
+The Status
message contains three pieces of data: error code, error message,
+and error details. The error code should be an enum value of
+google.rpc.Code, but it may accept additional error codes if needed. The
+error message should be a developer-facing English message that helps
+developers understand and resolve the error. If a localized user-facing
+error message is needed, put the localized message in the error details or
+localize it in the client. The optional error details may contain arbitrary
+information about the error. There is a predefined set of error detail types
+in the package google.rpc
that can be used for common error conditions.
+
+Language mapping
+
+The Status
message is the logical representation of the error model, but it
+is not necessarily the actual wire format. When the Status
message is
+exposed in different client libraries and different wire protocols, it can be
+mapped differently. For example, it will likely be mapped to some exceptions
+in Java, but more likely mapped to some error codes in C.
+
+Other uses
+
+The error model and the Status
message can be used in a variety of
+environments, either with or without APIs, to provide a
+consistent developer experience across different environments.
+
+Example uses of this error model include:
+
+
+Partial errors. If a service needs to return partial errors to the client,
+it may embed the Status
in the normal response to indicate the partial
+errors.
+
+Workflow errors. A typical workflow has multiple steps. Each step may
+have a Status
message for error reporting.
+
+Batch operations. If a client uses batch request and batch response, the
+Status
message should be used directly inside batch response, one for
+each error sub-response.
+
+Asynchronous operations. If an API call embeds asynchronous operation
+results in its response, the status of those operations should be
+represented directly using the Status
message.
+
+Logging. If some API errors are stored in logs, the message Status
could
+be used directly after any stripping needed for security/privacy reasons.
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/denier.md b/_docs/reference/config/adapters/denier.md
deleted file mode 100644
index 73f94db2dd41..000000000000
--- a/_docs/reference/config/adapters/denier.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-title: denier Config
-overview: Generated documentation for Mixer's denier Adapter Configuration Schema
-
-order: 100
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.denier.config.Params)
-(message)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- status
- Status
- The error to return when denying a request.
-
-
-
diff --git a/_docs/reference/config/adapters/fluentd.html b/_docs/reference/config/adapters/fluentd.html
new file mode 100644
index 000000000000..db6e46c31ae4
--- /dev/null
+++ b/_docs/reference/config/adapters/fluentd.html
@@ -0,0 +1,43 @@
+---
+title: Fluentd
+overview: Adapter that delivers logs to a fluentd daemon.
+location: https://istio.io/docs/reference/config/adapters/fluentd.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The fluentd
adapter is designed to deliver Istio log entries to a
+listening fluentd daemon.
+
+Params
+
+Configuration parameters for the fluentd adapter.
+
+This adapter accepts instances of kind: logentry. It then routes
+those logentries to a listening fluentd daemon with minimal
+transformation. Fluentd uses a “tag” for all logs. The “Name” of
+the logentry is used as the “tag”, unless the logentry already has
+a variable “tag”.
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/kubernetes.md b/_docs/reference/config/adapters/kubernetes.md
deleted file mode 100644
index 8224f0251c50..000000000000
--- a/_docs/reference/config/adapters/kubernetes.md
+++ /dev/null
@@ -1,168 +0,0 @@
----
-title: kubernetes Config
-overview: Generated documentation for Mixer's kubernetes Adapter Configuration Schema
-
-order: 10
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.kubernetes.config.Params)
-(message)
-
-
-### Params
-Configuration parameters for the kubernetes adapter. These params
-control the manner in which the kubernetes adapter discovers and
-generates values related to pod information.
-
-The adapter works by looking up pod information by UIDs (of the
-form: "kubernetes://pod.namespace"). It expects that the UIDs will be
-supplied in an input map for three distinct traffic classes (source,
-destination, and origin).
-
-For all valid UIDs supplied, this adapter generates a map of output
-values containing information about the related pods. The generated map
-is keyed by value names generated by concatenating a pod identifier
-prefix with a value name. For example, for the pod corresponding to a
-sourceUID and the output value of pod ip, this adapter will output a map
-that includes a key of "sourcePodIP" (assuming parameter defaults).
-
-
-
- Field
- Type
- Description
-
-
-
- kubeconfigPath
- string
- File path to discover kubeconfig. For in-cluster configuration, this should be left unset. For local configuration, this should be set to the path of a kubeconfig file that can be used to reach a kubernetes API server.
NOTE: The kubernetes adapter will use the value of the env var KUBECONFIG in the case where it is set (overriding any value configured through this proto).
Default: "" (unset)
-
-
-
- cacheRefreshDuration
- Duration
- Controls the resync period of the kubernetes cluster info cache. The cache will watch for events and every so often completely resync. This controls how frequently the complete resync occurs.
Default: 5 minutes
-
-
-
- sourceUidInputName
- string
- Configures how the UID for the source pod for traffic is identified in the input map.
Default: sourceUID
-
-
-
- destinationUidInputName
- string
- Configures how the UID for the destination pod for traffic is identified in the input map.
Default: destinationUID
-
-
-
- originUidInputName
- string
- Configures how the UID for the origin pod for traffic is identified in the input map.
Default: originUID
-
-
-
- sourceIpInputName
- string
- Configures how the IP for the source pod for traffic is identified in the input map.
Default: sourceIP
-
-
-
- destinationIpInputName
- string
- Configures how the IP for the destination pod for traffic is identified in the input map.
Default: destinationIP
-
-
-
- originIpInputName
- string
- Configures how the IP for the origin pod for traffic is identified in the input map.
Default: originIP
-
-
-
- clusterDomainName
- string
- Configures the cluster domain name to use for service name normalization.
Default: svc.cluster.local
-
-
-
- podLabelForService
- string
- In order to extract the service associated with a source, destination, or origin, this adapter relies on pod labels. In particular, it looks for the value of a specific label, as specified by this parameter.
Default: app
-
-
-
- podLabelForIstioComponentService
- string
- In order to extract the service associated with a source, destination, or origin, this adapter relies on pod labels. In particular, it looks for the value of a specific label for istio component services, as specified by this parameter.
Default: istio
-
-
-
- sourcePrefix
- string
- The prefix used for source pod output value names.
Default: source
-
-
-
- destinationPrefix
- string
- The prefix used for destination pod output value names.
Default: destination
-
-
-
- originPrefix
- string
- The prefix used for origin pod output value names.
Default: origin
-
-
-
- labelsValueName
- string
- The value name for the pod labels output value.
Default: Labels
-
-
-
- podNameValueName
- string
- The value name for the pod name output value.
Default: PodName
-
-
-
- podIpValueName
- string
- The value name for the pod ip address output value.
Default: PodIP
-
-
-
- hostIpValueName
- string
- The value name for the pod host ip address output value.
Default: HostIP
-
-
-
- namespaceValueName
- string
- The value name for the pod namespace output value.
Default: Namespace
-
-
-
- serviceAccountValueName
- string
- The value name for the pod service account name output value.
Default: ServiceAccountName
-
-
-
- serviceValueName
- string
- The value name for the service output value.
Default: Service
-
-
diff --git a/_docs/reference/config/adapters/kubernetesenv.html b/_docs/reference/config/adapters/kubernetesenv.html
new file mode 100644
index 000000000000..c9af57854f9d
--- /dev/null
+++ b/_docs/reference/config/adapters/kubernetesenv.html
@@ -0,0 +1,121 @@
+---
+title: Kubernetes Env
+overview: Adapter that extracts information from a Kubernetes environment.
+location: https://istio.io/docs/reference/config/adapters/kubernetesenv.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The kubernetesenv
adapter extracts information from a Kubernetes environment
+and produces attribtes that can be used in downstream adapters.
+
+Params
+
+Configuration parameters for the kubernetes adapter. These params
+control the manner in which the kubernetes adapter discovers and
+generates values related to pod information.
+
+The adapter works by looking up pod information by UIDs (of the
+form: “kubernetes://pod.namespace”). It expects that the UIDs will be
+supplied in an input map for three distinct traffic classes (source,
+destination, and origin).
+
+For all valid UIDs supplied, this adapter generates output
+values containing information about the related pods.
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/list.html b/_docs/reference/config/adapters/list.html
new file mode 100644
index 000000000000..c7cb62cefbc5
--- /dev/null
+++ b/_docs/reference/config/adapters/list.html
@@ -0,0 +1,139 @@
+---
+title: List
+overview: Adapter that performs whitelist or blacklist checks
+location: https://istio.io/docs/reference/config/adapters/list.html
+layout: protoc-gen-docs
+number_of_entries: 2
+---
+{% raw %}
+The list
adapter makes it possible to perform simple whitelist or blacklist
+checks. You can configure the adapter with the list to check, or you can point
+it to a URL from where the list should be fetched. Lists can be simple strings,
+IP addresses, or regex patterns.
+
+Params
+
+
+
+Params.ListEntryType
+
+
+
+
+Name
+Description
+
+
+
+
+STRINGS
+
+List entries are treated as plain strings.
+
+
+
+
+CASE_INSENSITIVE_STRINGS
+
+List entries are treated as case-insensitive strings.
+
+
+
+
+IP_ADDRESSES
+
+List entries are treated as IP addresses and ranges.
+
+
+
+
+REGEX
+
+List entries are treated as re2 regexp. See https://github.com/google/re2/wiki/Syntax for syntax.
+
+
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/list.md b/_docs/reference/config/adapters/list.md
deleted file mode 100644
index 65e71b191c49..000000000000
--- a/_docs/reference/config/adapters/list.md
+++ /dev/null
@@ -1,103 +0,0 @@
----
-title: list Config
-overview: Generated documentation for Mixer's list Adapter Configuration Schema
-
-order: 20
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.list.config.Params)
-(message)
-* [Params.ListEntryType](#adapter.list.config.Params.ListEntryType)
-(enum)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- providerUrl
- string
- Where to find the list to check against. This may be ommited for a completely local list.
-
-
-
- refreshInterval
- Duration
- Determines how often the provider is polled for an updated list
-
-
-
- ttl
- Duration
- Indicates how long to keep a list before discarding it. Typically, the TTL value should be set to noticeably longer (> 2x) than the refresh interval to ensure continued operation in the face of transient server outages.
-
-
-
- cachingInterval
- Duration
- Indicates the amount of time a caller of this adapter can cache an answer before it should ask the adapter again.
-
-
-
- cachingUseCount
- int32
- Indicates the number of times a caller of this adapter can use a cached answer before it should ask the adapter again.
-
-
-
- overrides[]
- repeated string
- List entries that are consulted first, before the list from the server
-
-
-
- entryType
- ListEntryType
- Determines the kind of list entry and overrides.
-
-
-
- blacklist
- bool
- Whether the list operates as a blacklist or a whitelist.
-
-
-
-
-### ListEntryType
-
-
-The memquota
adapter can be used to support Istio’s quota management
+system. Although functional, this adapter is not intended for production
+use and is suited for local testing only. The reason for this limitation
+is that this adapter can only be used in meshes where there is a single
+instance of Mixer running for the whole mesh (i.e. non-HA configuration)
+and if that single instance crashes, all outstanding quota values will
+be lost.
+
+Params
+
+Configuration format for the memquota
adapter.
+
+
+
+Params.Override
+
+
+
+Params.Quota
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/memquota.md b/_docs/reference/config/adapters/memquota.md
deleted file mode 100644
index a5b442f85734..000000000000
--- a/_docs/reference/config/adapters/memquota.md
+++ /dev/null
@@ -1,107 +0,0 @@
----
-title: memquota Config
-overview: Generated documentation for Mixer's memquota Adapter Configuration Schema
-
-order: 30
-
-layout: docs
-type: markdown
----
-
-
-
+
-### Index
-
-* [Params](#adapter.memquota.config.Params)
-(message)
-* [Params.Override](#adapter.memquota.config.Params.Override)
-(message)
-* [Params.Quota](#adapter.memquota.config.Params.Quota)
-(message)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- quotas[]
- repeated Quota
- The set of known quotas.
-
-
-
- minDeduplicationDuration
- Duration
- Minimum number of seconds that deduplication is possible for a given operation.
-
-
-
-
-### Override
-
-
-
- Field
- Type
- Description
-
-
-
- dimensions
- repeated map<string, string>
- The specific dimensions for which this override applies. String representation of instance dimensions is used to check against configured dimensions.
-
-
-
- maxAmount
- int64
- The upper limit for this quota.
-
-
-
- validDuration
- Duration
- The amount of time allocated quota remains valid before it is automatically released. This is only meaningful for rate limit quotas, otherwise the value must be zero.
-
-
-
-
-### Quota
-
-
-
- Field
- Type
- Description
-
-
-
- name
- string
- The name of the quota
-
-
-
- maxAmount
- int64
- The upper limit for this quota.
-
-
-
- validDuration
- Duration
- The amount of time allocated quota remains valid before it is automatically released. This is only meaningful for rate limit quotas, otherwise the value must be zero.
-
-
-
- overrides[]
- repeated Override
- Overrides associated with this quota. The first matching override is applied.
-
-
diff --git a/_docs/reference/config/adapters/opa.html b/_docs/reference/config/adapters/opa.html
new file mode 100644
index 000000000000..53f31aedbaa7
--- /dev/null
+++ b/_docs/reference/config/adapters/opa.html
@@ -0,0 +1,84 @@
+---
+title: OPA
+overview: Adapter that implements an Open Policy Agent engine
+location: https://istio.io/docs/reference/config/adapters/opa.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The opa
adapter exposes an Open Policy Agent engine
+that provides sophisticated access control mechanisms.
+
+Params
+
+Configuration format for the opa
adapter.
+
+Example configuration:
+
+policy:
+ - |+
+ package mixerauthz
+ policy = [
+ {
+ "rule": {
+ "verbs": [
+ "storage.buckets.get"
+ ],
+ "users": [
+ "bucket-admins"
+ ]
+ }
+ }
+ ]
+
+ default allow = false
+
+ allow = true {
+ rule = policy[_].rule
+ input.subject.user = rule.users[_]
+ input.action.method = rule.verbs[_]
+ }
+checkMethod: "data.mixerauthz.allow"
+failClose: true
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/prometheus.html b/_docs/reference/config/adapters/prometheus.html
new file mode 100644
index 000000000000..81ad3c9223c0
--- /dev/null
+++ b/_docs/reference/config/adapters/prometheus.html
@@ -0,0 +1,321 @@
+---
+title: Prometheus
+overview: Adapter that exposes Istio metrics for ingestion by a Prometheus harvester.
+location: https://istio.io/docs/reference/config/adapters/prometheus.html
+layout: protoc-gen-docs
+number_of_entries: 7
+---
+{% raw %}
+The prometheus
adapter collects Istio metrics and makes them available to
+Prometheus.
+
+Params
+
+Configuration format for the prometheus
adapter.
+
+
+
+Params.MetricInfo
+
+Describes how a metric should be represented in Prometheus.
+
+
+
+Params.MetricInfo.BucketsDefinition
+
+Describes buckets for DISTRIBUTION kind metrics.
+
+
+
+Params.MetricInfo.BucketsDefinition.Explicit
+
+Specifies a set of buckets with arbitrary widths.
+
+There are size(bounds) + 1
(= N
) buckets. Bucket i
has the following
+boundaries:
+
+
+- Upper bound (
0 <= i < N-1
): bounds[i]
+- Lower bound (
1 <= i < N
): bounds[i - 1]
+
+
+The bounds
field must contain at least one element. If bounds
has
+only one element, then there are no finite buckets, and that single
+element is the common boundary of the overflow and underflow buckets.
+
+
+
+Params.MetricInfo.BucketsDefinition.Exponential
+
+Specifies an exponential sequence of buckets that have a width that is
+proportional to the value of the lower bound. Each bucket represents a
+constant relative uncertainty on a specific value in the bucket.
+
+There are num_finite_buckets + 2
(= N
) buckets. The two additional
+buckets are the underflow and overflow buckets.
+
+Bucket i
has the following boundaries:
+
+
+- Upper bound (0 <= i < N-1):
scale * (growth_factor ^ i)
+- Lower bound (1 <= i < N):
scale * (growth_factor ^ (i - 1))
+
+
+
+
+Params.MetricInfo.BucketsDefinition.Linear
+
+Specifies a linear sequence of buckets that all have the same width
+(except overflow and underflow). Each bucket represents a constant
+absolute uncertainty on the specific value in the bucket.
+
+There are num_finite_buckets + 2
(= N
) buckets. The two additional
+buckets are the underflow and overflow buckets.
+
+Bucket i
has the following boundaries:
+
+
+- Upper bound (
0 <= i < N-1
): offset + (width * i)
+- Lower bound (
1 <= i < N
): offset + (width * (i - 1))
+
+
+
+
+Params.MetricInfo.Kind
+
+Describes what kind of metric this is.
+
+
+
+
+Name
+Description
+
+
+
+
+UNSPECIFIED
+
+
+
+
+GAUGE
+
+
+
+
+COUNTER
+
+
+
+
+DISTRIBUTION
+
+
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/prometheus.md b/_docs/reference/config/adapters/prometheus.md
deleted file mode 100644
index 48a27f242c82..000000000000
--- a/_docs/reference/config/adapters/prometheus.md
+++ /dev/null
@@ -1,263 +0,0 @@
----
-title: prometheus Config
-overview: Generated documentation for Mixer's prometheus Adapter Configuration Schema
-
-order: 40
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.prometheus.config.Params)
-(message)
-* [Params.MetricInfo](#adapter.prometheus.config.Params.MetricInfo)
-(message)
-* [Params.MetricInfo.BucketsDefinition](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition)
-(message)
-* [Params.MetricInfo.BucketsDefinition.Explicit](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Explicit)
-(message)
-* [Params.MetricInfo.BucketsDefinition.Exponential](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Exponential)
-(message)
-* [Params.MetricInfo.BucketsDefinition.Linear](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Linear)
-(message)
-* [Params.MetricInfo.Kind](#adapter.prometheus.config.Params.MetricInfo.Kind)
-(enum)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- metrics[]
- repeated MetricInfo
- The set of metrics to represent in Prometheus. If a metric is defined in Istio but doesn't have a corresponding shape here, it will not be populated at runtime.
-
-
-
-
-### MetricInfo
-Describes how a metric should be represented in Prometheus.
-
-
-
- Field
- Type
- Description
-
-
-
- name
- string
- Recommended. The name is used to register the prometheus metric. It must be unique across all prometheus metrics as prometheus does not allow duplicate names. If name is not specified a sanitized version of instanceName is used.
-
-
-
- instanceName
- string
- Required. The name is the fully qualified name of the Istio metric instance that this MetricInfo processes.
-
-
-
- description
- string
- Optional. A human readable description of this metric.
-
-
-
- kind
- Kind
-
-
-
-
- buckets
- BucketsDefinition
- For metrics with a metric kind of DISTRIBUTION, this provides a mechanism for configuring the buckets that will be used to store the aggregated values. This field must be provided for metrics declared to be of type DISTRIBUTION. This field will be ignored for non-distribution metric kinds.
-
-
-
- labelNames[]
- repeated string
- The names of labels to use: these need to match the dimensions of the Istio metric.
-
-
-
-
-### BucketsDefinition
-Describes buckets for DISTRIBUTION kind metrics.
-
-
-
- Field
- Type
- Description
-
-
-
- linearBuckets
- Linear (oneof )
- The linear buckets.
-
-
-
- exponentialBuckets
- Exponential (oneof )
- The exponential buckets.
-
-
-
- explicitBuckets
- Explicit (oneof )
- The explicit buckets.
-
-
-
-
-### Explicit
-Specifies a set of buckets with arbitrary widths.
-
-There are `size(bounds) + 1` (= `N`) buckets. Bucket `i` has the following
-boundaries:
-
-* Upper bound (`0 <= i < N-1`): `bounds[i]`
-* Lower bound (`1 <= i < N`): `bounds[i - 1]`
-
-The `bounds` field must contain at least one element. If `bounds` has
-only one element, then there are no finite buckets, and that single
-element is the common boundary of the overflow and underflow buckets.
-
-
-
- Field
- Type
- Description
-
-
-
- bounds[]
- repeated double
- The values must be monotonically increasing.
-
-
-
-
-### Exponential
-Specifies an exponential sequence of buckets that have a width that is
-proportional to the value of the lower bound. Each bucket represents a
-constant relative uncertainty on a specific value in the bucket.
-
-There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional
-buckets are the underflow and overflow buckets.
-
-Bucket `i` has the following boundaries:
-
-* Upper bound (0 <= i < N-1): `scale * (growthFactor ^ i)`
-* Lower bound (1 <= i < N): `scale * (growthFactor ^ (i - 1))`
-
-
-
- Field
- Type
- Description
-
-
-
- numFiniteBuckets
- int32
- Must be greater than 0.
-
-
-
- growthFactor
- double
- Must be greater than 1.
-
-
-
- scale
- double
- Must be greater than 0.
-
-
-
-
-### Linear
-Specifies a linear sequence of buckets that all have the same width
-(except overflow and underflow). Each bucket represents a constant
-absolute uncertainty on the specific value in the bucket.
-
-There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional
-buckets are the underflow and overflow buckets.
-
-Bucket `i` has the following boundaries:
-
-* Upper bound (`0 <= i < N-1`): `offset + (width * i)`
-* Lower bound (`1 <= i < N`): `offset + (width * (i - 1))`
-
-
-### Kind
-Describes what kind of metric this is.
-
-
-
-
- Value
- Description
-
-
-
- UNSPECIFIED
-
-
-
-
- GAUGE
-
-
-
-
- COUNTER
-
-
-
-
- DISTRIBUTION
-
-
-
diff --git a/_docs/reference/config/adapters/rbac.html b/_docs/reference/config/adapters/rbac.html
new file mode 100644
index 000000000000..bef442d108d0
--- /dev/null
+++ b/_docs/reference/config/adapters/rbac.html
@@ -0,0 +1,61 @@
+---
+title: RBAC
+overview: Adapter that exposes Istio's Role-Based Access Control model.
+location: https://istio.io/docs/reference/config/adapters/rbac.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The rbac
adapter provides Role-Based Access Control (RBAC) functionality for
+for services within the Istio mesh.
+
+Params
+
+Configuration format for the rbac
adapter.
+
+For example, the following configuration defines a RBAC handler with
+configuration store URL pointing to Kubernetes etcd (“k8s://”).
+If you want to run Mixer locally, you can set the configuration store
+URL to a local directory (e.g., “fs:///tmp/testdata/configroot”).
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: rbac
+metadata:
+ name: rbachandler
+ namespace: istio-system
+spec:
+ config_store_url: "fs:///tmp/testdata/config"
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/redisquota.html b/_docs/reference/config/adapters/redisquota.html
new file mode 100644
index 000000000000..0107a56fa540
--- /dev/null
+++ b/_docs/reference/config/adapters/redisquota.html
@@ -0,0 +1,202 @@
+---
+title: Redis Quota
+overview: Adapter for a Redis-based quota management system.
+location: https://istio.io/docs/reference/config/adapters/redisquota.html
+layout: protoc-gen-docs
+number_of_entries: 4
+---
+{% raw %}
+The redisquota
adapter can be used to support Istio’s quota management
+system. It depends on a Redis server to store quota values.
+
+Params
+
+redisquota adapter supports the rate limit quota using either fixed or
+rolling window algorithm. And it is using Redis as a shared data storage.
+
+Example configuration:
+
+redisServerUrl: localhost:6379
+connectionPoolSize: 10
+quotas:
+ - name: requestCount.quota.istio-system
+ maxAmount: 50
+ validDuration: 60s
+ bucketDuration: 1s
+ rateLimitAlgorithm: ROLLING_WINDOW
+ overrides:
+ - dimensions:
+ destination: ratings
+ source: reviews
+ maxAmount: 12
+ - dimensions:
+ destination: reviews
+ maxAmount: 5
+
+
+
+Params.Override
+
+
+
+Params.Quota
+
+
+
+Params.QuotaAlgorithm
+
+Algorithms for rate-limiting:
+
+
+
+
+Name
+Description
+
+
+
+
+FIXED_WINDOW
+
+FIXED_WINDOW The fixed window approach can allow 2x peak specified rate, whereas the rolling-window doesn’t.
+
+
+
+
+ROLLING_WINDOW
+
+ROLLING_WINDOW The rolling window algorithm’s additional precision comes at the cost of increased redis resource usage.
+
+
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/servicecontrol.html b/_docs/reference/config/adapters/servicecontrol.html
new file mode 100644
index 000000000000..233a7386d700
--- /dev/null
+++ b/_docs/reference/config/adapters/servicecontrol.html
@@ -0,0 +1,175 @@
+---
+title: Service Control
+overview: Adapter that delivers logs and metrics to Google Service Control
+location: https://istio.io/docs/reference/config/adapters/servicecontrol.html
+layout: protoc-gen-docs
+number_of_entries: 4
+---
+{% raw %}
+The servicecontrol
adapter delivers logs and metrics to
+Google Service Control.
+
+GcpServiceSetting
+
+Adapter setting for a managed GCP service.
+
+
+
+Params
+
+Configuration format for the servicecontrol
adapter.
+
+Sample adapter config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: servicecontrol
+metadata:
+ name: testhandler
+ namespace: istio-system
+spec:
+ runtime_config:
+ check_cache_size: 200
+ check_result_expiration: 60s
+ credential_path: "/path/to/token.json"
+ service_configs:
+ - mesh_service_name: "echo.local.svc"
+ google_service_name: "echo.endpoints.cloud.goog"
+ quotas:
+ - name: ratelimit.quota.istio-system
+ google_quota_metric_name: read-requests
+ expiration: 1m
+
+
+
+
+Quota
+
+
+
+RuntimeConfig
+
+Adapter runtime config paramters.
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/solarwinds.html b/_docs/reference/config/adapters/solarwinds.html
new file mode 100644
index 000000000000..4fb8c72cd116
--- /dev/null
+++ b/_docs/reference/config/adapters/solarwinds.html
@@ -0,0 +1,195 @@
+---
+title: SolarWinds
+overview: Adapter to deliver logs and metrics to Papertrail and AppOptics backends
+location: https://istio.io/docs/reference/config/adapters/solarwinds.html
+layout: protoc-gen-docs
+number_of_entries: 3
+---
+{% raw %}
+The solarwinds
adapter enables Istio to deliver log and metric data to the
+Papertrail logging backendu and the
+AppOptics monitoring backend.
+
+Params
+
+Configuration format for the solarwinds
adapter.
+
+Example config usage:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: solarwinds
+metadata:
+ name: handler
+ namespace: istio-system
+spec:
+ appoptics_access_token: <APPOPTICS SAMPLE TOKEN>
+ papertrail_url: <PAPERTRAIL URL>
+ papertrail_local_retention_duration: <RETENTION PERIOD FOR LOGS LOCALLY, Optional>
+ metrics:
+ requestcount.metric.istio-system:
+ label_names:
+ - source_service
+ - source_version
+ - destination_service
+ - destination_version
+ - response_code
+ requestduration.metric.istio-system:
+ label_names:
+ - source_service
+ - source_version
+ - destination_service
+ - destination_version
+ - response_code
+ requestsize.metric.istio-system:
+ label_names:
+ - source_service
+ - source_version
+ - destination_service
+ - destination_version
+ - response_code
+ responsesize.metric.istio-system:
+ label_names:
+ - source_service
+ - source_version
+ - destination_service
+ - destination_version
+ - response_code
+ tcpbytesent.metric.istio-system:
+ label_names:
+ - source_service
+ - source_version
+ - destination_service
+ - destination_version
+ tcpbytereceived.metric.istio-system:
+ label_names:
+ - source_service
+ - source_version
+ - destination_service
+ - destination_version
+ logs:
+ solarwindslogentry.logentry.istio-system:
+ payloadTemplate: '{{or (.originIp) "-"}} - {{or (.sourceUser) "-"}} [{{or (.timestamp.Format "2006-01-02T15:04:05Z07:00") "-"}}] "{{or (.method) "-"}} {{or (.url) "-"}} {{or (.protocol) "-"}}" {{or (.responseCode) "-"}} {{or (.responseSize) "-"}}'
+
+
+
+
+Params.LogInfo
+
+Describes how to represent an Istio log entry in Solarwinds AppOptics
+
+
+
+Params.MetricInfo
+
+Describes how to represent an Istio metric in Solarwinds AppOptics
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/stackdriver.html b/_docs/reference/config/adapters/stackdriver.html
new file mode 100644
index 000000000000..4d235749cf5b
--- /dev/null
+++ b/_docs/reference/config/adapters/stackdriver.html
@@ -0,0 +1,542 @@
+---
+title: Stackdriver
+overview: Adapter to deliver logs and metrics to Stackdriver
+location: https://istio.io/docs/reference/config/adapters/stackdriver.html
+layout: protoc-gen-docs
+number_of_entries: 10
+---
+{% raw %}
+The stackdriver
adapter enables Istio to deliver log and metric data to the
+Stackdriver logging and monitoring backend.
+
+Params
+
+Configuration format for the stackdriver
adapter.
+
+
+
+Params.LogInfo
+
+Describes how to represent an Istio Log in Stackdriver.
+
+
+
+Params.LogInfo.HttpRequestMapping
+
+Maps from template variable names to the various fields of Stackdriver’s HTTP request struct.
+See https://godoc.org/cloud.google.com/go/logging#HTTPRequest
+
+
+
+Params.MetricInfo
+
+Describes how to represent an Istio metric in Stackdriver.
+See https://github.com/googleapis/googleapis/blob/master/google/api/metric.proto
+
+
+
+Params.MetricInfo.BucketsDefinition
+
+Describes buckets for DISTRIBUTION valued metrics.
+TODO: look into using google.api.distribution.proto instead - we would pull it in but it has a ton of
+dependencies it doesn’t actually use.
+
+
+
+Params.MetricInfo.BucketsDefinition.Explicit
+
+Specifies a set of buckets with arbitrary widths.
+
+There are size(bounds) + 1
(= N
) buckets. Bucket i
has the following
+boundaries:
+
+
+- Upper bound (
0 <= i < N-1
): bounds[i]
+- Lower bound (
1 <= i < N
): bounds[i - 1]
+
+
+The bounds
field must contain at least one element. If bounds
has
+only one element, then there are no finite buckets, and that single
+element is the common boundary of the overflow and underflow buckets.
+
+
+
+Params.MetricInfo.BucketsDefinition.Exponential
+
+Specifies an exponential sequence of buckets that have a width that is
+proportional to the value of the lower bound. Each bucket represents a
+constant relative uncertainty on a specific value in the bucket.
+
+There are num_finite_buckets + 2
(= N
) buckets. The two additional
+buckets are the underflow and overflow buckets.
+
+Bucket i
has the following boundaries:
+
+
+- Upper bound (0 <= i < N-1):
scale * (growth_factor ^ i)
+- Lower bound (1 <= i < N):
scale * (growth_factor ^ (i - 1))
+
+
+
+
+Params.MetricInfo.BucketsDefinition.Linear
+
+Specifies a linear sequence of buckets that all have the same width
+(except overflow and underflow). Each bucket represents a constant
+absolute uncertainty on the specific value in the bucket.
+
+There are num_finite_buckets + 2
(= N
) buckets. The two additional
+buckets are the underflow and overflow buckets.
+
+Bucket i
has the following boundaries:
+
+
+- Upper bound (
0 <= i < N-1
): offset + (width * i)
+- Lower bound (
1 <= i < N
): offset + (width * (i - 1))
+
+
+
+
+google.api.MetricDescriptor.MetricKind
+
+The kind of measurement. It describes how the data is reported.
+
+
+
+
+Name
+Description
+
+
+
+
+METRIC_KIND_UNSPECIFIED
+
+Do not use this default value.
+
+
+
+
+GAUGE
+
+An instantaneous measurement of a value.
+
+
+
+
+DELTA
+
+The change in a value during a time interval.
+
+
+
+
+CUMULATIVE
+
+A value accumulated over a time interval. Cumulative
+measurements in a time series should have the same start time
+and increasing end times, until an event resets the cumulative
+value to zero and sets a new start time for the following
+points.
+
+
+
+
+
+
+google.api.MetricDescriptor.ValueType
+
+The value type of a metric.
+
+
+
+
+Name
+Description
+
+
+
+
+VALUE_TYPE_UNSPECIFIED
+
+Do not use this default value.
+
+
+
+
+BOOL
+
+The value is a boolean.
+This value type can be used only if the metric kind is GAUGE
.
+
+
+
+
+INT64
+
+The value is a signed 64-bit integer.
+
+
+
+
+DOUBLE
+
+The value is a double precision floating point number.
+
+
+
+
+STRING
+
+The value is a text string.
+This value type can be used only if the metric kind is GAUGE
.
+
+
+
+
+DISTRIBUTION
+
+The value is a Distribution
.
+
+
+
+
+MONEY
+
+The value is money.
+
+
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/stackdriver.md b/_docs/reference/config/adapters/stackdriver.md
deleted file mode 100644
index c177f0345dfd..000000000000
--- a/_docs/reference/config/adapters/stackdriver.md
+++ /dev/null
@@ -1,437 +0,0 @@
----
-title: stackdriver Config
-overview: Generated documentation for Mixer's stackdriver Adapter Configuration Schema
-
-order: 50
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.stackdriver.config.Params)
-(message)
-* [Params.LogInfo](#adapter.stackdriver.config.Params.LogInfo)
-(message)
-* [Params.LogInfo.HttpRequestMapping](#adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping)
-(message)
-* [Params.MetricInfo](#adapter.stackdriver.config.Params.MetricInfo)
-(message)
-* [Params.MetricInfo.BucketsDefinition](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition)
-(message)
-* [Params.MetricInfo.BucketsDefinition.Explicit](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Explicit)
-(message)
-* [Params.MetricInfo.BucketsDefinition.Exponential](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Exponential)
-(message)
-* [Params.MetricInfo.BucketsDefinition.Linear](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Linear)
-(message)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- endpoint
- string
- Endpoint URL to send stackdriver data - leave empty to use the StackDriver SDK's default value (monitoring.googleapis.com).
-
-
-
- projectId
- string
- GCP Project to attach metrics to.
-
-
-
- pushInterval
- Duration
- This adapter batches the data it sends to Stackdriver; we will push to stackdriver every pushInterval. If no value is provided we default to once per minute.
-
-
-
- metricInfo
- repeated map<string, MetricInfo>
- A map of Istio metric name to Stackdriver metric info.
-
-
-
- logInfo
- repeated map<string, LogInfo>
- A map of Istio LogEntry name to Stackdriver log info.
-
-
-
- appCredentials
- bool (oneof )
- Use Google's Application Default Credentials to authorize calls made by the StackDriver SDK.
-
-
-
- apiKey
- string (oneof )
- The API Key to be used for auth.
-
-
-
- serviceAccountPath
- string (oneof )
- The path to a Google service account credential file, relative to the Mixer. E.g. /etc/opt/mixer/gcp-serviceaccount-creds.json
or ./testdata/my-test-account-creds.json
.
-
-
-
-
-### LogInfo
-Describes how to represent an Istio Log in Stackdriver.
-
-
-
- Field
- Type
- Description
-
-
-
- labelNames[]
- repeated string
- The logging template provides a set of variables; these list the subset of variables that should be used to form Stackdriver labels for the log entry.
-
-
-
- payloadTemplate
- string
- A golang text/template template that will be executed to construct the payload for this log entry. It will be given the full set of variables for the log to use to construct its result.
-
-
-
- httpMapping
- HttpRequestMapping
- If an HttpRequestMapping is provided, a HttpRequest object will be filled out for this log entry using the variables named in the mapping to populate the fields of the request struct from the instance's variables.
-
-
-
-
-### HttpRequestMapping
-Maps from template variable names to the various fields of Stackdriver's HTTP request struct.
-See https://godoc.org/cloud.google.com/go/logging#HTTPRequest
-
-
-### MetricInfo
-Describes how to represent an Istio metric in Stackdriver.
-See https://github.com/googleapis/googleapis/blob/master/google/api/metric.proto
-
-
-
- Field
- Type
- Description
-
-
-
- kind
- MetricKind
-
-
-
-
- value
- ValueType
-
-
-
-
- buckets
- BucketsDefinition
- For metrics with a metric value of DISTRIBUTION, this provides a mechanism for configuring the buckets that will be used to store the aggregated values. This field must be provided for metrics declared to be of type DISTRIBUTION. This field will be ignored for non-distribution metric kinds.
-
-
-
-
-### BucketsDefinition
-Describes buckets for DISTRIBUTION valued metrics.
-
-
-
- Field
- Type
- Description
-
-
-
- linearBuckets
- Linear (oneof )
- The linear buckets.
-
-
-
- exponentialBuckets
- Exponential (oneof )
- The exponential buckets.
-
-
-
- explicitBuckets
- Explicit (oneof )
- The explicit buckets.
-
-
-
-
-### Explicit
-Specifies a set of buckets with arbitrary widths.
-
-There are `size(bounds) + 1` (= `N`) buckets. Bucket `i` has the following
-boundaries:
-
-* Upper bound (`0 <= i < N-1`): `bounds[i]`
-* Lower bound (`1 <= i < N`): `bounds[i - 1]`
-
-The `bounds` field must contain at least one element. If `bounds` has
-only one element, then there are no finite buckets, and that single
-element is the common boundary of the overflow and underflow buckets.
-
-
-
- Field
- Type
- Description
-
-
-
- bounds[]
- repeated double
- The values must be monotonically increasing.
-
-
-
-
-### Exponential
-Specifies an exponential sequence of buckets that have a width that is
-proportional to the value of the lower bound. Each bucket represents a
-constant relative uncertainty on a specific value in the bucket.
-
-There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional
-buckets are the underflow and overflow buckets.
-
-Bucket `i` has the following boundaries:
-
-* Upper bound (0 <= i < N-1): `scale * (growthFactor ^ i)`
-* Lower bound (1 <= i < N): `scale * (growthFactor ^ (i - 1))`
-
-
-
- Field
- Type
- Description
-
-
-
- numFiniteBuckets
- int32
- Must be greater than 0.
-
-
-
- growthFactor
- double
- Must be greater than 1.
-
-
-
- scale
- double
- Must be greater than 0.
-
-
-
-
-### Linear
-Specifies a linear sequence of buckets that all have the same width
-(except overflow and underflow). Each bucket represents a constant
-absolute uncertainty on the specific value in the bucket.
-
-There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional
-buckets are the underflow and overflow buckets.
-
-Bucket `i` has the following boundaries:
-
-* Upper bound (`0 <= i < N-1`): `offset + (width * i)`
-* Lower bound (`1 <= i < N`): `offset + (width * (i - 1))`
-
-
-## Package google.api
-
-
-### Index
-
-* [MetricDescriptor](#google.api.MetricDescriptor)
-(message)
-* [MetricDescriptor.MetricKind](#google.api.MetricDescriptor.MetricKind)
-(enum)
-* [MetricDescriptor.ValueType](#google.api.MetricDescriptor.ValueType)
-(enum)
-
-
-### MetricDescriptor
-Defines a metric type and its schema. Once a metric descriptor is created,
-deleting or altering it stops data collection and makes the metric type's
-existing data unusable.
-
-NOTE: _No fields in this message type.__
-
-
-### MetricKind
-The kind of measurement. It describes how the data is reported.
-
-
-
-### ValueType
-The value type of a metric.
-
-
-The statsd
adapter enables Istio to deliver metric data to a
+StatsD monitoring backend.
+
+Params
+
+Configuration format for the statsd
adapter.
+
+
+
+Params.MetricInfo
+
+Describes how to represent this metric in statsd
+
+
+
+Params.MetricInfo.Type
+
+The type of metric.
+
+
+
+
+Name
+Description
+
+
+
+
+UNKNOWN
+
+
+
+
+COUNTER
+
+
+
+
+GAUGE
+
+
+
+
+DISTRIBUTION
+
+
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/statsd.md b/_docs/reference/config/adapters/statsd.md
deleted file mode 100644
index b9e5d32dfce3..000000000000
--- a/_docs/reference/config/adapters/statsd.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: statsd Config
-overview: Generated documentation for Mixer's statsd Adapter Configuration Schema
-
-order: 60
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.statsd.config.Params)
-(message)
-* [Params.MetricInfo](#adapter.statsd.config.Params.MetricInfo)
-(message)
-* [Params.MetricInfo.Type](#adapter.statsd.config.Params.MetricInfo.Type)
-(enum)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- address
- string
- Address of the statsd server, e.g. localhost:8125
-
-
-
- prefix
- string
- Metric prefix, do not specify for no prefix
-
-
-
- flushDuration
- Duration
- FlushDuration controls the maximum amount of time between sending metrics to the statsd collection server. Metrics are reported when either flushBytes is full or flushDuration time has elapsed since the last report.
-
-
-
- flushBytes
- int32
- Maximum UDP packet size to send; if not specified defaults to 512 bytes. If the statsd server is running on the same (private) network 1432 bytes is recommended for better performance.
-
-
-
- samplingRate
- float
- Chance that any particular metric is sampled when incremented; can take the range [0, 1], defaults to 1 if unspecified.
-
-
-
- metrics
- repeated map<string, MetricInfo>
- Map of metric name -> info. If a metric's name is not in the map then the metric will not be exported to statsd.
-
-
-
-
-### MetricInfo
-Describes how to represent this metric in statsd
-
-
-
- Field
- Type
- Description
-
-
-
- type
- Type
-
-
-
-
- nameTemplate
- string
- The template will be filled with values from the metric's labels and the resulting string will be used as the statsd metric name. This allows easier creation of statsd metrics like actionName-responseCode
. The template strings must conform to go's text/template syntax. For the example of actionName-responseCode
, we use the template: \{\{.apiMethod\}\}-\{\{.responseCode\}\}
If nameTemplate is the empty string the Istio metric name will be used for statsd metric's name.
-
-
-
-
-### Type
-The type of metric.
-
-
-
-
- Value
- Description
-
-
-
- UNKNOWN
-
-
-
-
- COUNTER
-
-
-
-
- GAUGE
-
-
-
-
- DISTRIBUTION
-
-
-
diff --git a/_docs/reference/config/adapters/stdio.html b/_docs/reference/config/adapters/stdio.html
new file mode 100644
index 000000000000..7c12029c0de4
--- /dev/null
+++ b/_docs/reference/config/adapters/stdio.html
@@ -0,0 +1,212 @@
+---
+title: Stdio
+overview: Adapter for outputting logs and metrics locally.
+location: https://istio.io/docs/reference/config/adapters/stdio.html
+layout: protoc-gen-docs
+number_of_entries: 3
+---
+{% raw %}
+The stdio
adapter enables Istio to output logs and metrics to
+the local machine. Logs and metrics can be directed to Mixer’s
+standard output stream, standard error stream, or to any locally
+reachable file. When outputting to files, you can enable file rotation
+such that the adapter will automatically manage a set of file backups
+as data is generated.
+
+Params
+
+Configuration format for the stdio
adapter
+
+
+
+Params.Level
+
+Importance level for individual items output by this adapter.
+
+
+
+
+Name
+Description
+
+
+
+
+INFO
+
+informational, warning, and error log messages are included
+
+
+
+
+WARNING
+
+warning and error log messges are included
+
+
+
+
+ERROR
+
+only error log messages are included
+
+
+
+
+
+
+Params.Stream
+
+Stream is used to select between different log output sinks.
+
+
+
+
+Name
+Description
+
+
+
+
+STDOUT
+
+Output to the Mixer process’ standard output stream. This is the default value.
+
+
+
+
+STDERR
+
+Output to the Mixer process’ standard error stream.
+
+
+
+
+FILE
+
+Output to a specific file.
+
+
+
+
+ROTATED_FILE
+
+Output to a specific rotating file, controlled by the various file rotation options.
+
+
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/adapters/stdio.md b/_docs/reference/config/adapters/stdio.md
deleted file mode 100644
index be09a7acabea..000000000000
--- a/_docs/reference/config/adapters/stdio.md
+++ /dev/null
@@ -1,104 +0,0 @@
----
-title: stdio Config
-overview: Generated documentation for Mixer's stdio Adapter Configuration Schema
-
-order: 70
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.stdio.config.Params)
-(message)
-* [Params.Level](#adapter.stdio.config.Params.Level)
-(enum)
-* [Params.Stream](#adapter.stdio.config.Params.Stream)
-(enum)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- logStream
- Stream
- Selects which standard stream to write to for log entries. STDERR is the default Stream.
-
-
-
- severityLevels
- repeated map<string, Level>
- Maps from severity strings as specified in LogEntry instances to the set of levels supported by this adapter.
-
-
-
- metricLevel
- Level
- The level to assign to metrics being output.
-
-
-
- outputAsJson
- bool
- Whether to output a console-friendly or json-friendly format
-
-
-
-
-### Level
-Importance level for individual items output by this adapter.
-
-
-
-
- Value
- Description
-
-
-
- INFO
-
-
-
-
- WARNING
-
-
-
-
- ERROR
-
-
-
-
-
-### Stream
-Stream is used to select between different log output sinks.
-
-
-
-
- Value
- Description
-
-
-
- STDOUT
-
-
-
-
- STDERR
-
-
-
diff --git a/_docs/reference/config/adapters/svcctrl.md b/_docs/reference/config/adapters/svcctrl.md
deleted file mode 100644
index 505941376169..000000000000
--- a/_docs/reference/config/adapters/svcctrl.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: svcctrl Config
-overview: Generated documentation for Mixer's svcctrl Adapter Configuration Schema
-
-order: 80
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Params](#adapter.svcctrl.config.Params)
-(message)
-
-
-### Params
-
-
-
- Field
- Type
- Description
-
-
-
- serviceName
- string
- Fully qualified GCP service name.
-
-
diff --git a/_docs/reference/config/istio.mesh.v1alpha1.html b/_docs/reference/config/istio.mesh.v1alpha1.html
index a28ab9191c32..9f4cce7d681d 100644
--- a/_docs/reference/config/istio.mesh.v1alpha1.html
+++ b/_docs/reference/config/istio.mesh.v1alpha1.html
@@ -4,9 +4,10 @@
location: https://istio.io/docs/reference/config/istio.mesh.v1alpha1.html
layout: protoc-gen-docs
redirect_from: /docs/reference/config/service-mesh.html
+number_of_entries: 5
---
-Enumerations
-AuthenticationPolicy
+{% raw %}
+AuthenticationPolicy
AuthenticationPolicy defines authentication policy. It can be set for
different scopes (mesh, service …), and the most narrow scope with
@@ -14,10 +15,13 @@
AuthenticationPolicy
Mesh policy cannot be INHERIT.
+
Name
Description
+
+
NONE
@@ -40,83 +44,23 @@ AuthenticationPolicy
+
-MeshConfig.AuthPolicy
-
-TODO AuthPolicy needs to be removed and merged with AuthPolicy defined above
-
-
-
-Name
-Description
-
-
-NONE
-
-Do not encrypt Envoy to Envoy traffic.
-
-
-
-
-MUTUAL_TLS
-
-Envoy to Envoy traffic is wrapped into mutual TLS connections.
-
-
-
-
-
-MeshConfig.IngressControllerMode
-
-
-
-Name
-Description
-
-
-OFF
-
-Disables Istio ingress controller.
-
-
-
-
-DEFAULT
-
-Istio ingress controller will act on ingress resources that do not
-contain any annotation or whose annotations match the value
-specified in the ingress_class parameter described earlier. Use this
-mode if Istio ingress controller will be the default ingress
-controller for the entire kubernetes cluster.
-
-
-
-
-STRICT
-
-Istio ingress controller will only act on ingress resources whose
-annotations match the value specified in the ingress_class parameter
-described earlier. Use this mode if Istio ingress controller will be
-a secondary ingress controller (e.g., in addition to a
-cloud-provided ingress controller).
-
-
-
-
-
-Messages
-MeshConfig
+MeshConfig
MeshConfig defines mesh-wide variables shared by all Envoy instances in the
Istio service mesh.
+
+MeshConfig.AuthPolicy
+
+TODO AuthPolicy needs to be removed and merged with AuthPolicy defined above
+
+
+
+
+Name
+Description
+
+
+
+
+NONE
+
+Do not encrypt Envoy to Envoy traffic.
+
+
+
+
+MUTUAL_TLS
+
+Envoy to Envoy traffic is wrapped into mutual TLS connections.
+
+
+
+
+
+
+MeshConfig.IngressControllerMode
+
+
+
+
+Name
+Description
+
+
+
+
+OFF
+
+Disables Istio ingress controller.
+
+
+
+
+DEFAULT
+
+Istio ingress controller will act on ingress resources that do not
+contain any annotation or whose annotations match the value
+specified in the ingress_class parameter described earlier. Use this
+mode if Istio ingress controller will be the default ingress
+controller for the entire kubernetes cluster.
+
+
+
+
+STRICT
+
+Istio ingress controller will only act on ingress resources whose
+annotations match the value specified in the ingress_class parameter
+described earlier. Use this mode if Istio ingress controller will be
+a secondary ingress controller (e.g., in addition to a
+cloud-provided ingress controller).
+
+
+
+
-ProxyConfig
+ProxyConfig
ProxyConfig defines variables for individual Envoy instances.
+{% endraw %}
diff --git a/_docs/reference/config/istio.mixer.v1.config.client.html b/_docs/reference/config/istio.mixer.v1.config.client.html
index 8524c2d66ab6..02ba599608c1 100644
--- a/_docs/reference/config/istio.mixer.v1.config.client.html
+++ b/_docs/reference/config/istio.mixer.v1.config.client.html
@@ -3,33 +3,10 @@
overview: Configuration state for the Mixer client library
location: https://istio.io/docs/reference/config/istio.mixer.v1.config.client.html
layout: protoc-gen-docs
+number_of_entries: 24
---
-Enumerations
-TransportConfig.NetworkFailPolicy
-
-
-
-Name
-Description
-
-
-FAIL_OPEN
-
-If network fails, request is passed to the backend.
-
-
-
-
-FAIL_CLOSE
-
-If network fails, request is rejected.
-
-
-
-
-
-Messages
-APIKey
+{% raw %}
+APIKey
APIKey defines the explicit configuration for generating the
request.api_key
attribute from HTTP requests.
@@ -38,11 +15,14 @@ APIKey
for a general overview of API keys as defined by OpenAPI.
-AttributeMatch
+AttributeMatch
Specifies a match clause to match Istio attributes
-EndUserAuthenticationPolicySpec
+EndUserAuthenticationPolicySpec
Determines how to apply auth policies for individual requests.
-EndUserAuthenticationPolicySpecBinding
+EndUserAuthenticationPolicySpecBinding
EndUserAuthenticationPolicySpecBinding defines the binding between
EndUserAuthenticationPolicySpecs and one or more IstioService.
-EndUserAuthenticationPolicySpecReference
+EndUserAuthenticationPolicySpecReference
-
HTTPAPISpec
+HTTPAPISpec
HTTPAPISpec defines the canonical configuration for generating
API-related attributes from HTTP requests based on the method and
@@ -271,14 +268,17 @@
HTTPAPISpec
-HTTPAPISpecBinding
+HTTPAPISpecBinding
HTTPAPISpecBinding defines the binding between HTTPAPISpecs and one or more
IstioService. For example, the following establishes a binding
@@ -333,11 +334,14 @@
HTTPAPISpecBinding
-HTTPAPISpecPattern
+HTTPAPISpecPattern
HTTPAPISpecPattern defines a single pattern to match against
incoming HTTP requests. The per-pattern list of attributes is
@@ -374,14 +379,17 @@
HTTPAPISpecPattern
-HTTPAPISpecReference
+HTTPAPISpecReference
HTTPAPISpecReference defines a reference to an HTTPAPISpec. This is
typically used for establishing bindings between an HTTPAPISpec and an
@@ -444,11 +453,14 @@
HTTPAPISpecReference
-HttpClientConfig
+HttpClientConfig
Defines the client config for HTTP.
-IstioService
+IstioService
IstioService identifies a service and optionally service version.
The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix
(e.g. on Kubernetes, “reviews” + “default” + “svc.cluster.local” -> “reviews.default.svc.cluster.local”).
-JWT
+JWT
JSON Web Token (JWT) token format for authentication as defined by
https://tools.ietf.org/html/rfc7519. See OAuth
@@ -601,11 +622,14 @@ JWT
-JWT.Location
+JWT.Location
Defines where to extract the JWT from an HTTP request.
@@ -707,11 +732,14 @@ JWT.Location
-Quota
+Quota
Specifies a quota to use with quota name and amount.
-QuotaRule
+QuotaRule
Specifies a rule with list of matches and list of quotas.
If any clause matched, the list of quotas will be used.
-QuotaSpec
+QuotaSpec
Determines the quotas used for individual requests.
-QuotaSpecBinding
+QuotaSpecBinding
QuotaSpecBinding defines the binding between QuotaSpecs and one or more
IstioService.
-QuotaSpecBinding.QuotaSpecReference
+QuotaSpecBinding.QuotaSpecReference
-
ServiceConfig
+ServiceConfig
Defines the per-service client configuration.
-StringMatch
+StringMatch
Describes how to match a given string in HTTP headers. Match is
case-sensitive.
-TcpClientConfig
+TcpClientConfig
Defines the client config for TCP.
-TransportConfig
+TransportConfig
Defines the transport config on how to call Mixer.
+
+TransportConfig.NetworkFailPolicy
+
+
+
+
+Name
+Description
+
+
+
+
+FAIL_OPEN
+
+If network fails, request is passed to the backend.
+
+
+
+
+FAIL_CLOSE
+
+If network fails, request is rejected.
+
+
+
+
+
+
+istio.mixer.v1.Attributes
+
+Attributes represents a set of typed name/value pairs. Many of Mixer’s
+API either consume and/or return attributes.
+
+Istio uses attributes to control the runtime behavior of services running in the service mesh.
+Attributes are named and typed pieces of metadata describing ingress and egress traffic and the
+environment this traffic occurs in. An Istio attribute carries a specific piece
+of information such as the error code of an API request, the latency of an API request, or the
+original IP address of a TCP connection. For example:
+
+request.path: xyz/abc
+request.size: 234
+request.time: 12:34:56.789 04/17/2017
+source.ip: 192.168.0.1
+target.service: example
+
+
+A given Istio deployment has a fixed vocabulary of attributes that it understands.
+The specific vocabulary is determined by the set of attribute producers being used
+in the deployment. The primary attribute producer in Istio is Envoy, although
+specialized Mixer adapters and services can also generate attributes.
+
+The common baseline set of attributes available in most Istio deployments is defined
+here.
+
+Attributes are strongly typed. The supported attribute types are defined by
+ValueType.
+Each type of value is encoded into one of the so-called transport types present
+in this message.
+
+Defines a map of attributes in uncompressed format.
+Following places may use this message:
+1) Configure Istio/Proxy with static per-proxy attributes, such as source.uid.
+2) Service IDL definition to extract api attributes for active requests.
+3) Forward attributes from client proxy to server proxy for HTTP requests.
+
+
+{% endraw %}
diff --git a/_docs/reference/config/istio.mixer.v1.config.html b/_docs/reference/config/istio.mixer.v1.config.html
index 5c0d16f7246e..3600b6f9e2dc 100644
--- a/_docs/reference/config/istio.mixer.v1.config.html
+++ b/_docs/reference/config/istio.mixer.v1.config.html
@@ -4,7 +4,9 @@
location: https://istio.io/docs/reference/config/istio.mixer.v1.config.html
layout: protoc-gen-docs
redirect_from: /docs/reference/config/mixer/policy-and-telemetry-rules.html
+number_of_entries: 7
---
+{% raw %}
Action
Action describes which Handler to invoke and what data to pass to it for processing.
@@ -12,18 +14,20 @@ Action
The following example instructs Mixer to invoke ‘prometheus-handler’ handler and pass it the object
constructed using the instance ‘RequestCountByService’
-yaml
- handler: prometheus-handler
+ handler: prometheus-handler
instances:
- RequestCountByService
-
+
AttributeManifest
@@ -52,11 +57,14 @@ AttributeManifest
of an Istio deployment.
AttributeManifest.AttributeInfo
@@ -143,11 +152,14 @@ HTTP Mapping
encoding scheme will be decided later.
Handler
@@ -174,18 +187,20 @@ Handler
In the following example we define a metrics
handler using the Mixer’s prepackaged
prometheus adapter. This handler doesn’t require any parameters.
-yaml
-name: prometheus-handler
+name: prometheus-handler
adapter: prometheus
params:
-
+
Instance
@@ -228,22 +244,24 @@ Instance
Instances produced with this instance can be referenced by Actions using name
‘RequestCountByService’.
-yaml
-- name: RequestCountByService
+- name: RequestCountByService
template: istio.mixer.adapter.metric.Metric
params:
value: 1
dimensions:
source: source.service
destination_ip: destination.ip
-
+
Rule
@@ -283,20 +302,22 @@ Rule
The following example instructs Mixer to invoke ‘prometheus-handler’ handler for all services and pass it the
instance constructed using the ‘RequestCountByService’ instance.
-yaml
-- match: destination.service == "*"
+- match: destination.service == "*"
actions:
- handler: prometheus-handler
instances:
- RequestCountByService
-
+
google.protobuf.Struct
@@ -339,11 +361,14 @@ google.protobuf.Struct
The JSON representation for Struct
is JSON object.
+{% endraw %}
diff --git a/_docs/reference/config/istio.rbac.v1alpha1.html b/_docs/reference/config/istio.rbac.v1alpha1.html
index 2cdb933fc85d..3f3f555f5d0d 100644
--- a/_docs/reference/config/istio.rbac.v1alpha1.html
+++ b/_docs/reference/config/istio.rbac.v1alpha1.html
@@ -3,7 +3,9 @@
overview: Configuration affecting resource-based access control
location: https://istio.io/docs/reference/config/istio.rbac.v1alpha1.html
layout: protoc-gen-docs
+number_of_entries: 6
---
+{% raw %}
Istio RBAC (Role Based Access Control) defines ServiceRole and ServiceRoleBinding
objects.
@@ -93,11 +95,14 @@ AccessRule
AccessRule defines a permission to access a list of services.
AccessRule.Constraint
@@ -153,11 +159,14 @@ AccessRule.Constraint
(https://github.com/istio/istio/blob/master/mixer/template/authorization/template.proto).
RoleRef
@@ -185,11 +195,14 @@ RoleRef
RoleRef refers to a role object.
ServiceRole
@@ -218,11 +232,14 @@ ServiceRole
of the ServiceRole is specified in “metadata” section of the ServiceRole object.
ServiceRoleBinding
@@ -241,11 +259,14 @@ ServiceRoleBinding
object.
Subject
@@ -272,11 +294,14 @@ Subject
(https://github.com/istio/istio/blob/master/mixer/template/authorization/template.proto).
+{% endraw %}
diff --git a/_docs/reference/config/istio.routing.v1alpha1.html b/_docs/reference/config/istio.routing.v1alpha1.html
index e44b52fd9338..4c6e0beb1873 100644
--- a/_docs/reference/config/istio.routing.v1alpha1.html
+++ b/_docs/reference/config/istio.routing.v1alpha1.html
@@ -4,7 +4,9 @@
location: https://istio.io/docs/reference/config/istio.routing.v1alpha1.html
layout: protoc-gen-docs
redirect_from: /docs/reference/config/traffic-rules/routing-rules.html
+number_of_entries: 28
---
+{% raw %}
Configuration affecting traffic routing. Here are a few terms useful to define
in the context of routing rules.
@@ -35,45 +37,7 @@
the version is determined by Envoy, enabling the application code to
decouple itself from the evolution of dependent services.
-Enumerations
-LoadBalancing.SimpleLBPolicy
-
-Load balancing algorithms supported by Envoy.
-
-
-
-Name
-Description
-
-
-ROUND_ROBIN
-
-Simple round robin policy.
-
-
-
-
-LEAST_CONN
-
-The least request load balancer uses an O(1) algorithm which selects
-two random healthy hosts and picks the host which has fewer active
-requests.
-
-
-
-
-RANDOM
-
-The random load balancer selects a random healthy host. The random
-load balancer generally performs better than round robin if no health
-checking policy is configured.
-
-
-
-
-
-Messages
-CircuitBreaker
+CircuitBreaker
Circuit breaker configuration for Envoy. The circuit breaker
implementation is fine-grained in that it tracks the success/failure
@@ -86,11 +50,14 @@
CircuitBreaker
for more details.
-CircuitBreaker.SimpleCircuitBreakerPolicy
+CircuitBreaker.SimpleCircuitBreakerPolicy
A simple circuit breaker can be set based on a number of criteria such as
connection and request limits. For example, the following destination
@@ -152,11 +120,14 @@
CircuitBreaker.SimpleCircuitB
-CorsPolicy
+CorsPolicy
Describes the Cross-Origin Resource Sharing (CORS) policy, for a given
service. Refer to
@@ -270,11 +242,14 @@
CorsPolicy
-DestinationPolicy
+DestinationPolicy
DestinationPolicy defines client/caller-side policies that determine how
to handle traffic bound to a particular destination service. The policy
@@ -384,11 +360,14 @@
DestinationPolicy
service version indicated in the destination policy.
-DestinationWeight
+DestinationWeight
Each routing rule is associated with one or more service versions (see
glossary in beginning of document). Weights associated with the version
@@ -458,11 +438,14 @@
DestinationWeight
-EgressRule
+EgressRule
Egress rules describe the properties of a service outside Istio. When transparent proxying
-is used, egress rules signify a white listed set of domains that microserves in the mesh
+is used, egress rules signify a white listed set of external services that microserves in the mesh
are allowed to access. A subset of routing rules and all destination policies can be applied
-on the service targeted by an egress rule. The destination of an egress rule is allowed to
-contain wildcards (e.g., *.foo.com). Currently, only HTTP-based services can be expressed
-through the egress rule. If TLS origination from the sidecar is desired, the protocol
+on the service targeted by an egress rule. TCP services and HTTP-based services can be expressed
+by an egress rule. The destination of an egress rule for HTTP-based services must be an IP or a domain name,
+optionally with a wildcard prefix (e.g., *.foo.com). For TCP based services, the destination of an
+egress rule must be an IP or a block of IPs in CIDR notation.
+
+If TLS origination from the sidecar is desired, the protocol
associated with the service port must be marked as HTTPS, and the service is expected to
be accessed over HTTP (e.g., http://gmail.com:443). The sidecar will automatically upgrade
the connection to TLS when initiating a connection with the external service.
@@ -523,25 +510,47 @@ EgressRule
protocol: https
+The following egress rule describes the set of services accessed by a block of IPs
+
+kind: EgressRule
+metadata:
+ name: bar-egress-rule
+spec:
+ destination:
+ service: 92.198.174.192/27
+ ports:
+ - port: 111
+ protocol: tcp
+
+
-EgressRule.Port
+EgressRule.Port
Port describes the properties of a specific TCP port of an external service.
-HTTPFaultInjection
+HTTPFaultInjection
HTTPFaultInjection can be used to specify one or more faults to inject
while forwarding http requests to the destination specified in the route
@@ -607,11 +621,14 @@
HTTPFaultInjection
both are specified simultaneously.
-HTTPFaultInjection.Abort
+HTTPFaultInjection.Abort
Abort specification is used to prematurely abort a request with a
pre-specified error code. The following example will return an HTTP
@@ -658,11 +676,14 @@
HTTPFaultInjection.Abort
not specified, all requests are aborted.
-HTTPFaultInjection.Delay
+HTTPFaultInjection.Delay
Delay specification is used to inject latency into the request
forwarding path. The following example will introduce a 5 second delay
@@ -729,11 +751,14 @@
HTTPFaultInjection.Delay
unspecified, all request will be delayed.
-HTTPRedirect
+HTTPRedirect
HTTPRedirect can be used to send a 302 redirect response to the caller,
where the Authority/Host and the URI in the response can be swapped with
@@ -795,11 +821,14 @@
HTTPRedirect
-HTTPRetry
+HTTPRetry
Describes the retry policy to use when a HTTP request fails. For
example, the following rule sets the maximum number of retries to 3 when
@@ -843,11 +873,14 @@
HTTPRetry
-HTTPRetry.SimpleRetryPolicy
+HTTPRetry.SimpleRetryPolicy
-
HTTPRewrite
+HTTPRewrite
HTTPRewrite can be used to rewrite specific parts of a HTTP request
before forwarding the request to the destination. Rewrite primitive can
@@ -928,11 +966,14 @@
HTTPRewrite
-HTTPTimeout
+HTTPTimeout
Describes HTTP request timeout. For example, the following rule sets a
10 second timeout for calls to the ratings:v1 service
@@ -973,11 +1015,14 @@ HTTPTimeout
-HTTPTimeout.SimpleTimeoutPolicy
+HTTPTimeout.SimpleTimeoutPolicy
-
IngressRule
+IngressRule
Ingress rules are routing rules applied to the ingress proxy pool. The
ingress proxes serve as the receiving edge proxy for the entire mesh, but
@@ -1040,11 +1090,14 @@
IngressRule
WARNING: This API is experimental and under active development
-IstioService
+IstioService
IstioService identifies a service and optionally service version.
The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix
(e.g. on Kubernetes, “reviews” + “default” + “svc.cluster.local” -> “reviews.default.svc.cluster.local”).
-L4FaultInjection
+L4FaultInjection
(– Faults can be injected into the connections from downstream by the
Envoy, for testing the failure recovery capabilities of downstream
@@ -1179,11 +1237,14 @@
L4FaultInjection
component. L4 fault injection is not supported at the moment. –)
-L4FaultInjection.Terminate
+L4FaultInjection.Terminate
Abruptly reset (terminate) the Tcp connection after it has been
established, emulating remote server crash or link failure.
-L4FaultInjection.Throttle
+L4FaultInjection.Throttle
Bandwidth throttling for Tcp and Udp connections
-L4MatchAttributes
+L4MatchAttributes
(– L4 connection match attributes. Note that L4 connection matching
support is incomplete. –)
-LoadBalancing
+LoadBalancing
Load balancing policy to use when forwarding traffic. These policies
directly correlate to load balancer
@@ -1349,11 +1423,14 @@ LoadBalancing
+
+LoadBalancing.SimpleLBPolicy
+
+Load balancing algorithms supported by Envoy.
+
+
+
+
+Name
+Description
+
+
+
+
+ROUND_ROBIN
+
+Simple round robin policy.
+
+
+
+
+LEAST_CONN
+
+The least request load balancer uses an O(1) algorithm which selects
+two random healthy hosts and picks the host which has fewer active
+requests.
+
+
+
+
+RANDOM
+
+The random load balancer selects a random healthy host. The random
+load balancer generally performs better than round robin if no health
+checking policy is configured.
+
+
+
+
-MatchCondition
+MatchCondition
Match condition specifies a set of criterion to be met in order for the
route rule to be applied to the connection or HTTP request. The
@@ -1406,11 +1524,14 @@
MatchCondition
request header must be specified.
-MatchRequest
+MatchRequest
MatchRequest specifies the attributes of an HTTP request to be used for matching a request.
-RouteRule
+RouteRule
Route rule provides a custom routing policy based on the source and
destination service versions and connection/request metadata. The rule
@@ -1512,11 +1638,14 @@
RouteRule
-StringMatch
+StringMatch
Describes how to match a given string in HTTP headers. Match is case-sensitive.
+{% endraw %}
diff --git a/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html b/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html
index 4d18620ac4af..3bea696e13f8 100644
--- a/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html
+++ b/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html
@@ -3,7 +3,9 @@
overview: Value types used with templates
location: https://istio.io/docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html
layout: protoc-gen-docs
+number_of_entries: 1
---
+{% raw %}
ValueType
ValueType describes the types that values in the Istio system can take. These
@@ -12,10 +14,13 @@
ValueType
fields of other descriptors.
+
Name
Description
+
+
VALUE_TYPE_UNSPECIFIED
@@ -100,5 +105,7 @@ ValueType
+
+{% endraw %}
diff --git a/_docs/reference/config/mixer/istio.mixer.v1.template.html b/_docs/reference/config/mixer/istio.mixer.v1.template.html
index 7e3b78f15c8f..a9244a5f6ad9 100644
--- a/_docs/reference/config/mixer/istio.mixer.v1.template.html
+++ b/_docs/reference/config/mixer/istio.mixer.v1.template.html
@@ -3,20 +3,45 @@
overview: Definitions used when creating Mixer templates
location: https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html
layout: protoc-gen-docs
+number_of_entries: 8
---
+{% raw %}
This proto describes the types that can be used inside Mixer templates. These message types are used to specify
field datatype to express the equivalent ValueType for the expressions the field can be mapped to.
-Enumerations
-TemplateVariety
+DNSName
+
+DNSName is used inside templates for fields that are of ValueType “DNS_NAME”
+
+
+Duration
+
+Duration is used inside templates for fields that are of ValueType “DURATION”
+
+
+EmailAddress
+
+EmailAddress is used inside templates for fields that are of ValueType “EMAIL_ADDRESS”
+DO NOT USE !! Under Development
+
+
+IPAddress
+
+IPAddress is used inside templates for fields that are of ValueType “IP_ADDRESS”
+
+
+TemplateVariety
Specifies the varity of the the Template.
+
Name
Description
+
+
TEMPLATE_VARIETY_CHECK
@@ -37,44 +62,24 @@ TemplateVariety
+
-Messages
-DNSName
-
-DNSName is used inside templates for fields that are of ValueType “DNS_NAME”
-
-
-Duration
-
-Duration is used inside templates for fields that are of ValueType “DURATION”
-
-
-EmailAddress
-
-EmailAddress is used inside templates for fields that are of ValueType “EMAIL_ADDRESS”
-DO NOT USE !! Under Development
-
-
-IPAddress
-
-IPAddress is used inside templates for fields that are of ValueType “IP_ADDRESS”
-
-
-TimeStamp
+TimeStamp
TimeStamp is used inside templates for fields that are of ValueType “TIMESTAMP”
-Uri
+Uri
Uri is used inside templates for fields that are of ValueType “URI”
DO NOT USE ! Under Development
-Value
+Value
Value is used inside templates for fields that have dynamic types. The actual datatype
of the field depends on the datatype of the expression used in the operator configuration.
+{% endraw %}
diff --git a/_docs/reference/config/template/apikey.html b/_docs/reference/config/template/apikey.html
new file mode 100644
index 000000000000..43b14b3616b6
--- /dev/null
+++ b/_docs/reference/config/template/apikey.html
@@ -0,0 +1,82 @@
+---
+title: API Key
+overview: A template that represents a single API key.
+location: https://istio.io/docs/reference/config/template/apikey.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The apikey
template represents a single API key, which is used for authorization checks.
+
+Template
+
+The apikey
template represents a single API key, used to authorize API calls.
+
+Sample config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: apikey
+metadata:
+ name: validate-apikey
+ namespace: istio-system
+spec:
+ api: api.service | ""
+ api_version: api.version | ""
+ api_operation: api.operation | ""
+ api_key: api.key | ""
+ timestamp: request.time
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/authorization.html b/_docs/reference/config/template/authorization.html
new file mode 100644
index 000000000000..3a01cf1182fc
--- /dev/null
+++ b/_docs/reference/config/template/authorization.html
@@ -0,0 +1,173 @@
+---
+title: Authorization
+overview: A template used to represent an access control query.
+location: https://istio.io/docs/reference/config/template/authorization.html
+layout: protoc-gen-docs
+number_of_entries: 3
+---
+{% raw %}
+The authorization
template defines parameters for performing policy
+enforcement within Istio. It is primarily concerned with enabling Mixer
+
+Action
+
+An action defines “how a resource is accessed”.
+
+
+
+Subject
+
+A subject contains a list of attributes that identify
+the caller identity.
+
+
+
+Template
+
+The authorization
template defines parameters for performing policy
+enforcement within Istio. It is primarily concerned with enabling Mixer
+adapters to make decisions about who is allowed to do what.
+In this template, the “who” is defined in a Subject message. The “what” is
+defined in an Action message. During a Mixer Check call, these values
+will be populated based on configuration from request attributes and
+passed to individual authorization adapters to adjudicate.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: authorization
+metadata:
+ name: authinfo
+ namespace: istio-system
+spec:
+ subject:
+ user: source.user | request.auth.token[user] | ""
+ groups: request.auth.token[groups]
+ properties:
+ iss: request.auth.token["iss"]
+ action:
+ namespace: target.namespace | "default"
+ service: target.service | ""
+ path: request.path | "/"
+ method: request.method | "post"
+ properties:
+ version: destination.labels[version] | ""
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/checknothing.html b/_docs/reference/config/template/checknothing.html
new file mode 100644
index 000000000000..29c0b1bdc453
--- /dev/null
+++ b/_docs/reference/config/template/checknothing.html
@@ -0,0 +1,29 @@
+---
+title: Check Nothing
+overview: A template that carries no data, useful for testing.
+location: https://istio.io/docs/reference/config/template/checknothing.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The checknothing
template represents an empty block of data, which can useful
+in different testing scenarios.
+
+Template
+
+CheckNothing represents an empty block of data that is used for Check-capable
+adapters which don’t require any parameters. This is primarily intended for testing
+scenarios.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: checknothing
+metadata:
+ name: denyrequest
+ namespace: istio-system
+spec:
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/checknothing.md b/_docs/reference/config/template/checknothing.md
deleted file mode 100644
index 8bd407502fde..000000000000
--- a/_docs/reference/config/template/checknothing.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: checknothing Config
-overview: Generated documentation for Mixer's Template Configuration Schema
-
-order: 1150
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Template](#checknothing.Template)
-(message)
-
-
-### Template
-CheckNothing represents an empty block of data that is used for Check-capable
-adapters which don't require any parameters. This is primarily intended for testing
-scenarios.
-
-Example config:
-
-```
-apiVersion: "config.istio.io/v1alpha2"
-kind: checknothing
-metadata:
- name: denyrequest
- namespace: istio-config-default
-spec:
-```
-
-NOTE: _No fields in this message type.__
diff --git a/_docs/reference/config/template/kubernetes.html b/_docs/reference/config/template/kubernetes.html
new file mode 100644
index 000000000000..15412afe690b
--- /dev/null
+++ b/_docs/reference/config/template/kubernetes.html
@@ -0,0 +1,292 @@
+---
+title: Kubernetes
+overview: A template that is used to control the production of Kubernetes-specific attributes.
+location: https://istio.io/docs/reference/config/template/kubernetes.html
+layout: protoc-gen-docs
+number_of_entries: 2
+---
+{% raw %}
+The kubernetes
template holds data that controls the production of Kubernetes-specific
+attributes.
+
+OutputTemplate
+
+OutputTemplate refers to the output from the adapter. It is used inside the attribute_binding section of the config
+to assign values to the generated attributes using the $out.<field name of the OutputTemplate>
syntax.
+
+
+
+Template
+
+The kubernetes
template represents data used to generate kubernetes-derived attributes.
+
+The values provided controls the manner in which the kubernetesenv adapter discovers and
+generates values related to pod information.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: kubernetes
+metadata:
+ name: attributes
+ namespace: istio-system
+spec:
+ # Pass the required attribute data to the adapter
+ source_uid: source.uid | ""
+ source_ip: source.ip | ip("0.0.0.0") # default to unspecified ip addr
+ destination_uid: destination.uid | ""
+ destination_ip: destination.ip | ip("0.0.0.0") # default to unspecified ip addr
+ attribute_bindings:
+ # Fill the new attributes from the adapter produced output.
+ # $out refers to an instance of OutputTemplate message
+ source.ip: $out.source_pod_ip
+ source.labels: $out.source_labels
+ source.namespace: $out.source_namespace
+ source.service: $out.source_service
+ source.serviceAccount: $out.source_service_account_name
+ destination.ip: $out.destination_pod_ip
+ destination.labels: $out.destination_labels
+ destination.namespace: $out.destination_mamespace
+ destination.service: $out.destination_service
+ destination.serviceAccount: $out.destination_service_account_name
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/listentry.html b/_docs/reference/config/template/listentry.html
new file mode 100644
index 000000000000..48273c26266c
--- /dev/null
+++ b/_docs/reference/config/template/listentry.html
@@ -0,0 +1,52 @@
+---
+title: List Entry
+overview: A template designed to let you perform list checking operations.
+location: https://istio.io/docs/reference/config/template/listentry.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The listentry
template is designed to let you perform list check operations
+with the list adapter.
+
+Template
+
+The listentry
template is used to verify the presence/absence of a string
+within a list.
+
+When writing the configuration, the value for the fields associated with this template can either be a
+literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
+then the expression’s inferred type must match the datatype of the field.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: listentry
+metadata:
+ name: appversion
+ namespace: istio-system
+spec:
+ value: source.labels["version"]
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/listentry.md b/_docs/reference/config/template/listentry.md
deleted file mode 100644
index f29f2acd3455..000000000000
--- a/_docs/reference/config/template/listentry.md
+++ /dev/null
@@ -1,51 +0,0 @@
----
-title: listentry Config
-overview: Generated documentation for Mixer's Template Configuration Schema
-
-order: 1160
-
-layout: docs
-type: markdown
----
-{% include home.html %}
-
-
-### Index
-
-* [Template](#listentry.Template)
-(message)
-
-
-### Template
-ListEntry is used to verify the presence/absence of a string
-within a list.
-
-When writing the configuration, the value for the fields associated with this template can either be a
-literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType,
-then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field.
-
-Example config:
-
-```
-apiVersion: "config.istio.io/v1alpha2"
-kind: listentry
-metadata:
- name: appversion
- namespace: istio-config-default
-spec:
- value: source.labels["version"]
-```
-
-
-
- Field
- Type
- Description
-
-
-
- value
- string
- Specifies the entry to verify in the list.
-
-
diff --git a/_docs/reference/config/template/logentry.html b/_docs/reference/config/template/logentry.html
new file mode 100644
index 000000000000..e957043301bd
--- /dev/null
+++ b/_docs/reference/config/template/logentry.html
@@ -0,0 +1,99 @@
+---
+title: Log Entry
+overview: A template that represents a single runtime log entry.
+location: https://istio.io/docs/reference/config/template/logentry.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The logentry
template represents an individual entry within a log.
+
+Template
+
+The logentry
template represents an individual entry within a log.
+
+When writing the configuration, the value for the fields associated with this template can either be a
+literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
+then the expression’s inferred type must match the datatype of the field.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: logentry
+metadata:
+ name: accesslog
+ namespace: istio-system
+spec:
+ severity: '"Default"'
+ timestamp: request.time
+ variables:
+ sourceIp: source.ip | ip("0.0.0.0")
+ destinationIp: destination.ip | ip("0.0.0.0")
+ sourceUser: source.user | ""
+ method: request.method | ""
+ url: request.path | ""
+ protocol: request.scheme | "http"
+ responseCode: response.code | 0
+ responseSize: response.size | 0
+ requestSize: request.size | 0
+ latency: response.duration | "0ms"
+ monitored_resource_type: '"UNSPECIFIED"'
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/logentry.md b/_docs/reference/config/template/logentry.md
deleted file mode 100644
index 5495a45e014d..000000000000
--- a/_docs/reference/config/template/logentry.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: logentry Config
-overview: Generated documentation for Mixer's Template Configuration Schema
-
-order: 1170
-
-layout: docs
-type: markdown
----
-{% include home.html %}
-
-
-## Package logentry
-
-
-### Index
-
-* [Template](#logentry.Template)
-(message)
-
-
-### Template
-LogEntry represents an individual entry within a log.
-
-When writing the configuration, the value for the fields associated with this template can either be a
-literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType,
-then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field.
-
-Example config:
-
-```
-apiVersion: "config.istio.io/v1alpha2"
-kind: logentry
-metadata:
- name: accesslog
- namespace: istio-config-default
-spec:
- severity: '"Default"'
- timestamp: request.time
- variables:
- sourceIp: source.ip | ip("0.0.0.0")
- destinationIp: destination.ip | ip("0.0.0.0")
- sourceUser: source.user | ""
- method: request.method | ""
- url: request.path | ""
- protocol: request.scheme | "http"
- responseCode: response.code | 0
- responseSize: response.size | 0
- requestSize: request.size | 0
- latency: response.duration | "0ms"
- monitoredResourceType: '"UNSPECIFIED"'
-```
-
-
-
- Field
- Type
- Description
-
-
-
- variables
- repeated map<string, ValueType>
- Variables that are delivered for each log entry.
-
-
-
- timestamp
- Timestamp
- Timestamp is the time value for the log entry
-
-
-
- severity
- string
- Severity indicates the importance of the log entry.
-
-
-
- monitoredResourceType
- string
- Optional. An expression to compute the type of the monitored resource this log entry is being recorded on. If the logging backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.
-
-
-
- monitoredResourceDimensions
- repeated map<string, ValueType>
- Optional. A set of expressions that will form the dimensions of the monitored resource this log entry is being recorded on. If the logging backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.
-
-
diff --git a/_docs/reference/config/template/metric.html b/_docs/reference/config/template/metric.html
new file mode 100644
index 000000000000..8e32c331b112
--- /dev/null
+++ b/_docs/reference/config/template/metric.html
@@ -0,0 +1,86 @@
+---
+title: Metric
+overview: A template that represents a single runtime metric.
+location: https://istio.io/docs/reference/config/template/metric.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The metric
template is designed to let you describe runtime metric to dispatch to
+monitoring backends.
+
+Template
+
+The metric
template represents a single piece of data to report.
+
+When writing the configuration, the value for the fields associated with this template can either be a
+literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
+then the expression’s inferred type must match the datatype of the field.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: metric
+metadata:
+ name: requestsize
+ namespace: istio-system
+spec:
+ value: request.size | 0
+ dimensions:
+ source_service: source.service | "unknown"
+ source_version: source.labels["version"] | "unknown"
+ destination_service: destination.service | "unknown"
+ destination_version: destination.labels["version"] | "unknown"
+ response_code: response.code | 200
+ monitored_resource_type: '"UNSPECIFIED"'
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/metric.md b/_docs/reference/config/template/metric.md
deleted file mode 100644
index 47920d448644..000000000000
--- a/_docs/reference/config/template/metric.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: metric Config
-overview: Generated documentation for Mixer's Template Configuration Schema
-
-order: 1180
-
-layout: docs
-type: markdown
----
-{% include home.html %}
-
-
-## Package metric
-
-
-### Index
-
-* [Template](#metric.Template)
-(message)
-
-
-### Template
-Metric represents a single piece of data to report.
-
-When writing the configuration, the value for the fields associated with this template can either be a
-literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType,
-then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field.
-
-Example config:
-
-```
-apiVersion: "config.istio.io/v1alpha2"
-kind: metric
-metadata:
- name: requestsize
- namespace: istio-config-default
-spec:
- value: request.size | 0
- dimensions:
- sourceService: source.service | "unknown"
- sourceVersion: source.labels["version"] | "unknown"
- destinationService: destination.service | "unknown"
- destinationVersion: destination.labels["version"] | "unknown"
- responseCode: response.code | 200
- monitoredResourceType: '"UNSPECIFIED"'
-```
-
-
-
- Field
- Type
- Description
-
-
-
- value
- ValueType
- The value being reported.
-
-
-
- dimensions
- repeated map<string, ValueType>
- The unique identity of the particular metric to report.
-
-
-
- monitoredResourceType
- string
- Optional. An expression to compute the type of the monitored resource this metric is being reported on. If the metric backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.
-
-
-
- monitoredResourceDimensions
- repeated map<string, ValueType>
- Optional. A set of expressions that will form the dimensions of the monitored resource this metric is being reported on. If the metric backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.
-
-
diff --git a/_docs/reference/config/template/quota.html b/_docs/reference/config/template/quota.html
new file mode 100644
index 000000000000..ca023ab08a73
--- /dev/null
+++ b/_docs/reference/config/template/quota.html
@@ -0,0 +1,54 @@
+---
+title: Quota
+overview: A template that represents a quota allocation request
+location: https://istio.io/docs/reference/config/template/quota.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The quota
template represents an item for which to check quota.
+
+Template
+
+The quota
template represents a piece of data to check Quota for.
+
+When writing the configuration, the value for the fields associated with this template can either be a
+literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
+then the expression’s inferred type must match the datatype of the field.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: quota
+metadata:
+ name: requestcount
+ namespace: istio-system
+spec:
+ dimensions:
+ source: source.labels["app"] | source.service | "unknown"
+ sourceVersion: source.labels["version"] | "unknown"
+ destination: destination.labels["app"] | destination.service | "unknown"
+ destinationVersion: destination.labels["version"] | "unknown"
+
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/quota.md b/_docs/reference/config/template/quota.md
deleted file mode 100644
index e8468c49e3a4..000000000000
--- a/_docs/reference/config/template/quota.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-title: quota Config
-overview: Generated documentation for Mixer's Template Configuration Schema
-
-order: 1190
-
-layout: docs
-type: markdown
----
-{% include home.html %}
-
-
-## Package quota
-
-
-### Index
-
-* [Template](#quota.Template)
-(message)
-
-
-### Template
-Quota represents a piece of data to check Quota for.
-
-When writing the configuration, the value for the fields associated with this template can either be a
-literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType,
-then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field.
-
-Example config:
-
-```
-apiVersion: "config.istio.io/v1alpha2"
-kind: quota
-metadata:
- name: requestcount
- namespace: istio-config-default
-spec:
- dimensions:
- source: source.labels["app"] | source.service | "unknown"
- sourceVersion: source.labels["version"] | "unknown"
- destination: destination.labels["app"] | destination.service | "unknown"
- destinationVersion: destination.labels["version"] | "unknown"
-```
-
-
-
- Field
- Type
- Description
-
-
-
- dimensions
- repeated map<string, ValueType>
- The unique identity of the particular quota to manipulate.
-
-
diff --git a/_docs/reference/config/template/reportnothing.html b/_docs/reference/config/template/reportnothing.html
new file mode 100644
index 000000000000..09a536bd275c
--- /dev/null
+++ b/_docs/reference/config/template/reportnothing.html
@@ -0,0 +1,29 @@
+---
+title: Report Nothing
+overview: A template that carries no data, useful for testing.
+location: https://istio.io/docs/reference/config/template/reportnothing.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% raw %}
+The reportnothing
template represents an empty block of data, which can useful
+in different testing scenarios.
+
+Template
+
+ReportNothing represents an empty block of data that is used for Report-capable
+adapters which don’t require any parameters. This is primarily intended for testing
+scenarios.
+
+Example config:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: reportnothing
+metadata:
+ name: reportrequest
+ namespace: istio-system
+spec:
+
+
+
+{% endraw %}
diff --git a/_docs/reference/config/template/reportnothing.md b/_docs/reference/config/template/reportnothing.md
deleted file mode 100644
index 482a66001c3b..000000000000
--- a/_docs/reference/config/template/reportnothing.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-title: reportnothing Config
-overview: Generated documentation for Mixer's Template Configuration Schema
-
-order: 1200
-
-layout: docs
-type: markdown
----
-
-
-
-### Index
-
-* [Template](#reportnothing.Template)
-(message)
-
-
-### Template
-ReportNothing represents an empty block of data that is used for Report-capable
-adapters which don't require any parameters. This is primarily intended for testing
-scenarios.
-
-Example config:
-
-```
-apiVersion: "config.istio.io/v1alpha2"
-kind: reportnothing
-metadata:
- name: reportrequest
- namespace: istio-config-default
-spec:
-```
-
-NOTE: _No fields in this message type.__
diff --git a/_docs/reference/config/template/servicecontrolreport.html b/_docs/reference/config/template/servicecontrolreport.html
new file mode 100644
index 000000000000..883c5dad2562
--- /dev/null
+++ b/_docs/reference/config/template/servicecontrolreport.html
@@ -0,0 +1,135 @@
+---
+title: Service Control Report
+overview: A template used by the Google Service Control adapter.
+location: https://istio.io/docs/reference/config/template/servicecontrolreport.html
+layout: protoc-gen-docs
+number_of_entries: 1
+---
+{% include home.html %}
+
+The servicecontrolreport
template is used by the Google
+ Service
+ Control
+adapter.
+{% raw %}
+
+Template
+
+A template used by Google Service Control (servicecontrol) adapter. The adapter
+generates metrics and logentry for each request based on the data point
+defined by this template.
+
+Config example:
+
+apiVersion: "config.istio.io/v1alpha2"
+kind: servicecontrolreport
+metadata:
+ name: report
+ namespace: istio-system
+spec:
+ api_version : api.version | ""
+ api_operation : api.operation | ""
+ api_protocol : api.protocol | ""
+ api_service : api.service | ""
+ api_key : api.key | ""
+ request_time : request.time
+ request_method : request.method
+ request_path : request.path
+ request_bytes: request.size
+ response_time : response.time
+ response_code : response.code | 520
+ response_bytes : response.size | 0
+ response_latency : response.duration | "0ms"
+
+
+
+
+{% endraw %}
diff --git a/_layouts/docs.html b/_layouts/docs.html
index 7ad97693bbd6..a77b40cfd127 100644
--- a/_layouts/docs.html
+++ b/_layouts/docs.html
@@ -7,7 +7,7 @@
{% include sidebar.html docs=site.docs %}
- {% if page.toc != false %}
+ {% if page.toc != false and page.number_of_entries != 1 %}
{% else %}
@@ -24,7 +24,7 @@ {{page.title}}
- {% if page.toc != false %}
+ {% if page.toc != false and page.number_of_entries != 1 %}