mirror of https://github.com/istio/istio.io.git
Update reference docs. (#937)
This commit is contained in:
parent
ff84954b62
commit
428af2c847
|
|
@ -4,48 +4,47 @@ overview: API definitions to interact with Mixer
|
|||
location: https://istio.io/docs/reference/api/istio.mixer.v1.html
|
||||
layout: protoc-gen-docs
|
||||
redirect_from: /docs/reference/api/mixer/mixer.html
|
||||
number_of_entries: 17
|
||||
---
|
||||
<h2 id="Enumerations">Enumerations</h2>
|
||||
<h3 id="ReferencedAttributes.Condition">ReferencedAttributes.Condition</h3>
|
||||
{% raw %}
|
||||
<p>This package defines the Mixer API that the sidecar proxy uses to perform
|
||||
precondition checks, manage quotas, and report telemetry.</p>
|
||||
|
||||
<h2 id="Services">Services</h2>
|
||||
<h3 id="Mixer">Mixer</h3>
|
||||
<section>
|
||||
<p>How an attribute’s value was matched</p>
|
||||
<p>Mixer provides three core features:</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr id="ReferencedAttributes.Condition.CONDITION_UNSPECIFIED">
|
||||
<td><code>CONDITION_UNSPECIFIED</code></td>
|
||||
<td>
|
||||
<p>should not occur</p>
|
||||
<ul>
|
||||
<li><p><em>Precondition Checking</em>. 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.</p></li>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ReferencedAttributes.Condition.ABSENCE">
|
||||
<td><code>ABSENCE</code></td>
|
||||
<td>
|
||||
<p>match when attribute doesn’t exist</p>
|
||||
<li><p><em>Quota Management</em>. 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.</p></li>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ReferencedAttributes.Condition.EXACT">
|
||||
<td><code>EXACT</code></td>
|
||||
<td>
|
||||
<p>match when attribute value is an exact byte-for-byte match</p>
|
||||
<li><p><em>Telemetry Reporting</em>. 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.</p></li>
|
||||
</ul>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ReferencedAttributes.Condition.REGEX">
|
||||
<td><code>REGEX</code></td>
|
||||
<td>
|
||||
<p>match when attribute value matches the included regex</p>
|
||||
<pre id="Mixer.Check"><code class="language-proto">rpc Check(CheckRequest) returns (CheckResponse)
|
||||
</code></pre>
|
||||
<p>Checks preconditions and allocate quota before performing an operation.
|
||||
The preconditions enforced depend on the set of supplied attributes and
|
||||
the active configuration.</p>
|
||||
|
||||
<pre id="Mixer.Report"><code class="language-proto">rpc Report(ReportRequest) returns (ReportResponse)
|
||||
</code></pre>
|
||||
<p>Reports telemetry, such as logs and metrics.
|
||||
The reported information depends on the set of supplied attributes and the
|
||||
active configuration.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Messages">Messages</h2>
|
||||
<h2 id="Types">Types</h2>
|
||||
<h3 id="Attributes">Attributes</h3>
|
||||
<section>
|
||||
<p>Attributes represents a set of typed name/value pairs. Many of Mixer’s
|
||||
|
|
@ -57,13 +56,12 @@ 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:</p>
|
||||
|
||||
<p><code>
|
||||
request.path: xyz/abc
|
||||
<pre><code>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
|
||||
</code></p>
|
||||
</code></pre>
|
||||
|
||||
<p>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 @@ Following places may use this message:
|
|||
3) Forward attributes from client proxy to server proxy for HTTP requests.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Attributes.attributes">
|
||||
<td><code>attributes</code></td>
|
||||
<td><code>map<string, <a href="#Attributes.AttributeValue">Attributes.AttributeValue</a>></code></td>
|
||||
|
|
@ -98,6 +99,7 @@ Following places may use this message:
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="Attributes.AttributeValue">Attributes.AttributeValue</h3>
|
||||
|
|
@ -105,59 +107,79 @@ Following places may use this message:
|
|||
<p>Specifies one attribute value with different type.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Attributes.AttributeValue.string_value" class="oneof oneof-start">
|
||||
<td><code>stringValue</code></td>
|
||||
<td><code>string (oneof)</code></td>
|
||||
<td>
|
||||
<p>Used for values of type STRING, DNS<em>NAME, EMAIL</em>ADDRESS, and URI</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Attributes.AttributeValue.int64_value" class="oneof">
|
||||
<td><code>int64Value</code></td>
|
||||
<td><code>int64 (oneof)</code></td>
|
||||
<td>
|
||||
<p>Used for values of type INT64</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Attributes.AttributeValue.double_value" class="oneof">
|
||||
<td><code>doubleValue</code></td>
|
||||
<td><code>double (oneof)</code></td>
|
||||
<td>
|
||||
<p>Used for values of type DOUBLE</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Attributes.AttributeValue.bool_value" class="oneof">
|
||||
<td><code>boolValue</code></td>
|
||||
<td><code>bool (oneof)</code></td>
|
||||
<td>
|
||||
<p>Used for values of type BOOL</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Attributes.AttributeValue.bytes_value" class="oneof">
|
||||
<td><code>bytesValue</code></td>
|
||||
<td><code>bytes (oneof)</code></td>
|
||||
<td>
|
||||
<p>Used for values of type BYTES</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Attributes.AttributeValue.timestamp_value" class="oneof">
|
||||
<td><code>timestampValue</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp">google.protobuf.Timestamp (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>Used for values of type TIMESTAMP</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Attributes.AttributeValue.duration_value" class="oneof">
|
||||
<td><code>durationValue</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>Used for values of type DURATION</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Attributes.AttributeValue.string_map_value" class="oneof">
|
||||
<td><code>stringMapValue</code></td>
|
||||
<td><code><a href="#Attributes.StringMap">Attributes.StringMap (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>Used for values of type STRING_MAP</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="Attributes.StringMap">Attributes.StringMap</h3>
|
||||
|
|
@ -165,17 +187,23 @@ Following places may use this message:
|
|||
<p>Defines a string map.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Attributes.StringMap.entries">
|
||||
<td><code>entries</code></td>
|
||||
<td><code>map<string, string></code></td>
|
||||
<td>
|
||||
<p>Holds a set of name/value pairs.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CheckRequest">CheckRequest</h3>
|
||||
|
|
@ -183,11 +211,14 @@ Following places may use this message:
|
|||
<p>Used to get a thumbs-up/thumbs-down before performing an action.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CheckRequest.attributes">
|
||||
<td><code>attributes</code></td>
|
||||
<td><code><a href="#CompressedAttributes">CompressedAttributes</a></code></td>
|
||||
|
|
@ -226,6 +257,7 @@ per call, where the same UUID is used for retries of the same call.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CheckRequest.QuotaParams">CheckRequest.QuotaParams</h3>
|
||||
|
|
@ -233,11 +265,14 @@ per call, where the same UUID is used for retries of the same call.</p>
|
|||
<p>parameters for a quota allocation</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CheckRequest.QuotaParams.amount">
|
||||
<td><code>amount</code></td>
|
||||
<td><code>int64</code></td>
|
||||
|
|
@ -254,16 +289,22 @@ per call, where the same UUID is used for retries of the same call.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CheckResponse">CheckResponse</h3>
|
||||
<section>
|
||||
<p>The response generated by the Check method.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CheckResponse.precondition">
|
||||
<td><code>precondition</code></td>
|
||||
<td><code><a href="#CheckResponse.PreconditionResult">CheckResponse.PreconditionResult</a></code></td>
|
||||
|
|
@ -280,16 +321,22 @@ per call, where the same UUID is used for retries of the same call.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CheckResponse.PreconditionResult">CheckResponse.PreconditionResult</h3>
|
||||
<section>
|
||||
<p>Expresses the result of a precondition check.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CheckResponse.PreconditionResult.status">
|
||||
<td><code>status</code></td>
|
||||
<td><code><a href="#google.rpc.Status">google.rpc.Status</a></code></td>
|
||||
|
|
@ -337,16 +384,22 @@ along with matching conditions.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CheckResponse.QuotaResult">CheckResponse.QuotaResult</h3>
|
||||
<section>
|
||||
<p>Expresses the result of a quota allocation.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CheckResponse.QuotaResult.valid_duration">
|
||||
<td><code>validDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
|
|
@ -373,6 +426,7 @@ along with matching conditions.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CompressedAttributes">CompressedAttributes</h3>
|
||||
|
|
@ -386,11 +440,14 @@ dictionary instead. The message-level dictionary is carried by the
|
|||
configuration.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CompressedAttributes.words">
|
||||
<td><code>words</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
|
|
@ -403,10 +460,7 @@ configuration.</p>
|
|||
<td><code>strings</code></td>
|
||||
<td><code>map<int32, int32></code></td>
|
||||
<td>
|
||||
<p>Attribute payload. All <code>sint32</code> values represent indices into
|
||||
one of the word dictionaries. Positive values are indices into the
|
||||
global deployment-wide dictionary, negative values are indices into
|
||||
the message-level dictionary.</p>
|
||||
<p>Holds attributes of type STRING, DNS<em>NAME, EMAIL</em>ADDRESS, URI</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -414,44 +468,59 @@ the message-level dictionary.</p>
|
|||
<td><code>int64s</code></td>
|
||||
<td><code>map<int32, int64></code></td>
|
||||
<td>
|
||||
<p>Holds attributes of type INT64</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="CompressedAttributes.doubles">
|
||||
<td><code>doubles</code></td>
|
||||
<td><code>map<int32, double></code></td>
|
||||
<td>
|
||||
<p>Holds attributes of type DOUBLE</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="CompressedAttributes.bools">
|
||||
<td><code>bools</code></td>
|
||||
<td><code>map<int32, bool></code></td>
|
||||
<td>
|
||||
<p>Holds attributes of type BOOL</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="CompressedAttributes.timestamps">
|
||||
<td><code>timestamps</code></td>
|
||||
<td><code>map<int32, <a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp">google.protobuf.Timestamp</a>></code></td>
|
||||
<td>
|
||||
<p>Holds attributes of type TIMESTAMP</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="CompressedAttributes.durations">
|
||||
<td><code>durations</code></td>
|
||||
<td><code>map<int32, <a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a>></code></td>
|
||||
<td>
|
||||
<p>Holds attributes of type DURATION</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="CompressedAttributes.bytes">
|
||||
<td><code>bytes</code></td>
|
||||
<td><code>map<int32, bytes></code></td>
|
||||
<td>
|
||||
<p>Holds attributes of type BYTES</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="CompressedAttributes.string_maps">
|
||||
<td><code>stringMaps</code></td>
|
||||
<td><code>map<int32, <a href="#StringMap">StringMap</a>></code></td>
|
||||
<td>
|
||||
<p>Holds attributes of type STRING_MAP</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="ReferencedAttributes">ReferencedAttributes</h3>
|
||||
|
|
@ -460,11 +529,14 @@ the message-level dictionary.</p>
|
|||
This can be used to construct a response cache.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ReferencedAttributes.words">
|
||||
<td><code>words</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
|
|
@ -482,16 +554,22 @@ on using dictionaries.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="ReferencedAttributes.AttributeMatch">ReferencedAttributes.AttributeMatch</h3>
|
||||
<section>
|
||||
<p>Describes a single attribute match.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ReferencedAttributes.AttributeMatch.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>int32</code></td>
|
||||
|
|
@ -535,6 +613,50 @@ entire STRING_MAP will be used.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="ReferencedAttributes.Condition">ReferencedAttributes.Condition</h3>
|
||||
<section>
|
||||
<p>How an attribute’s value was matched</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ReferencedAttributes.Condition.CONDITION_UNSPECIFIED">
|
||||
<td><code>CONDITION_UNSPECIFIED</code></td>
|
||||
<td>
|
||||
<p>should not occur</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ReferencedAttributes.Condition.ABSENCE">
|
||||
<td><code>ABSENCE</code></td>
|
||||
<td>
|
||||
<p>match when attribute doesn’t exist</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ReferencedAttributes.Condition.EXACT">
|
||||
<td><code>EXACT</code></td>
|
||||
<td>
|
||||
<p>match when attribute value is an exact byte-for-byte match</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="ReferencedAttributes.Condition.REGEX">
|
||||
<td><code>REGEX</code></td>
|
||||
<td>
|
||||
<p>match when attribute value matches the included regex</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="ReportRequest">ReportRequest</h3>
|
||||
|
|
@ -542,11 +664,14 @@ entire STRING_MAP will be used.</p>
|
|||
<p>Used to report telemetry after performing one or more actions.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ReportRequest.attributes">
|
||||
<td><code>attributes</code></td>
|
||||
<td><code><a href="#CompressedAttributes">CompressedAttributes[]</a></code></td>
|
||||
|
|
@ -592,28 +717,37 @@ To detect global dictionary out of sync between client and server.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="ReportResponse">ReportResponse</h3>
|
||||
<section>
|
||||
<p>Used to carry responses to telemetry reports</p>
|
||||
|
||||
</section>
|
||||
<h3 id="StringMap">StringMap</h3>
|
||||
<section>
|
||||
<p>A map of string to string. The keys and values in this map are dictionary
|
||||
indices (see the <a href="#Attributes">Attributes</a> message for an explanation)</p>
|
||||
indices (see the <a href="#CompressedAttributes">Attributes</a> message for an explanation)</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="StringMap.entries">
|
||||
<td><code>entries</code></td>
|
||||
<td><code>map<int32, int32></code></td>
|
||||
<td>
|
||||
<p>Holds a set of name/value pairs.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="google.rpc.Status">google.rpc.Status</h3>
|
||||
|
|
@ -676,11 +810,14 @@ be used directly after any stripping needed for security/privacy reasons.</p></l
|
|||
</ul>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="google.rpc.Status.code">
|
||||
<td><code>code</code></td>
|
||||
<td><code>int32</code></td>
|
||||
|
|
@ -708,39 +845,7 @@ message types for APIs to use.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Services">Services</h2>
|
||||
<h3 id="Mixer">Mixer</h3>
|
||||
<section>
|
||||
<p>Mixer provides three core features:</p>
|
||||
|
||||
<ul>
|
||||
<li><p><em>Precondition Checking</em>. 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.</p></li>
|
||||
|
||||
<li><p><em>Quota Management</em>. 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.</p></li>
|
||||
|
||||
<li><p><em>Telemetry Reporting</em>. 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.</p></li>
|
||||
</ul>
|
||||
|
||||
<pre id="Mixer.Check"><code class="language-proto">rpc Check(CheckRequest) returns (CheckResponse)
|
||||
</code></pre>
|
||||
<p>Checks preconditions and allocate quota before performing an operation.
|
||||
The preconditions enforced depend on the set of supplied attributes and
|
||||
the active configuration.</p>
|
||||
|
||||
<pre id="Mixer.Report"><code class="language-proto">rpc Report(ReportRequest) returns (ReportResponse)
|
||||
</code></pre>
|
||||
<p>Reports telemetry, such as logs and metrics.
|
||||
The reported information depends on the set of supplied attributes and the
|
||||
active configuration.</p>
|
||||
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
title: istio_ca
|
||||
overview: Istio Certificate Authority (CA)
|
||||
layout: pkg-collateral-docs
|
||||
number_of_entries: 3
|
||||
---
|
||||
<p>Istio Certificate Authority (CA)</p>
|
||||
<pre class="language-bash"><code>istio_ca [flags]
|
||||
|
|
@ -49,6 +50,16 @@ layout: pkg-collateral-docs
|
|||
<td>Specifies path to kubeconfig file. This must be specified when not running inside a Kubernetes pod. (default ``)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--livenessProbeInterval <duration></code></td>
|
||||
<td></td>
|
||||
<td>Interval of updating file for the liveness probe. (default `0s`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--livenessProbePath <string></code></td>
|
||||
<td></td>
|
||||
<td>Path to the file for the liveness probe. (default ``)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
<td></td>
|
||||
<td>Whether to format output as JSON or in plain console-friendly format </td>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
title: istioctl
|
||||
overview: Istio control interface
|
||||
layout: pkg-collateral-docs
|
||||
number_of_entries: 13
|
||||
---
|
||||
<p>
|
||||
Istio configuration command line utility.</p>
|
||||
|
|
@ -27,7 +28,7 @@ and destination policies.</p>
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -130,7 +131,7 @@ and destination policies.</p>
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -233,7 +234,7 @@ istioctl context-create --api-server http://127.0.0.1:8080
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -334,7 +335,7 @@ istioctl context-create --api-server http://127.0.0.1:8080
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -435,7 +436,7 @@ istioctl delete routerule productpage-default
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -558,7 +559,7 @@ istioctl delete routerule productpage-default
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -664,7 +665,7 @@ istioctl delete routerule productpage-default
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -826,7 +827,7 @@ kube-inject on deployments to get the most up-to-date changes.
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -972,7 +973,7 @@ kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--labels <stringSlice></code></td>
|
||||
|
|
@ -1080,7 +1081,7 @@ kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
@ -1176,7 +1177,7 @@ kubectl get deployment -o yaml | istioctl kube-inject -f - | kubectl apply -f -
|
|||
<tr>
|
||||
<td><code>--kubeconfig <string></code></td>
|
||||
<td><code>-c</code></td>
|
||||
<td>Kubernetes configuration file (default `/Users/mtail/.kube/config`)</td>
|
||||
<td>Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--log_as_json</code></td>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
title: mixc
|
||||
overview: Utility to trigger direct calls to Mixer's API.
|
||||
layout: pkg-collateral-docs
|
||||
number_of_entries: 5
|
||||
---
|
||||
<p>This command lets you interact with a running instance of
|
||||
Mixer. Note that you need a pretty good understanding of Mixer's
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
<p>Mixer is Istio's point of integration with infrastructure backends and is the
|
||||
nexus for policy evaluation and telemetry reporting.</p>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
title: node_agent
|
||||
overview: Istio security per-node agent
|
||||
layout: pkg-collateral-docs
|
||||
number_of_entries: 3
|
||||
---
|
||||
<p>Istio security per-node agent</p>
|
||||
<pre class="language-bash"><code>node_agent [flags]
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
title: pilot-agent
|
||||
overview: Istio Pilot agent
|
||||
layout: pkg-collateral-docs
|
||||
number_of_entries: 4
|
||||
---
|
||||
<p>Istio Pilot provides management plane functionality to the Istio service mesh and Istio Mixer.</p>
|
||||
<table class="command-flags">
|
||||
|
|
@ -95,6 +96,11 @@ layout: pkg-collateral-docs
|
|||
<td>Path to the proxy binary (default `/usr/local/bin/envoy`)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--bootstrapv2</code></td>
|
||||
<td></td>
|
||||
<td>Use bootstrap v2 </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>--configPath <string></code></td>
|
||||
<td></td>
|
||||
<td>Path to the generated configuration file directory (default `/etc/istio/proxy`)</td>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
title: pilot-discovery
|
||||
overview: Istio Pilot
|
||||
layout: pkg-collateral-docs
|
||||
number_of_entries: 4
|
||||
---
|
||||
<p>Istio Pilot provides fleet-wide traffic management capabilities in the Istio Service Mesh.</p>
|
||||
<table class="command-flags">
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
title: sidecar-injector
|
||||
overview: Kubernetes webhook for automatic Istio sidecar injection
|
||||
layout: pkg-collateral-docs
|
||||
number_of_entries: 3
|
||||
---
|
||||
<p>Kubernetes webhook for automatic Istio sidecar injection</p>
|
||||
<pre class="language-bash"><code>sidecar-injector [flags]
|
||||
|
|
|
|||
|
|
@ -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 %}
|
||||
<p>The <code>circonus</code> adapter enables Istio to deliver metric data to the
|
||||
<a href="https://www.circonus.com">Circonus</a> monitoring backend.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Cnofiguration format for the Circonus adapter.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.submission_url">
|
||||
<td><code>submissionUrl</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Circonus SubmissionURL to HTTPTrap check</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.submission_interval">
|
||||
<td><code>submissionInterval</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.metrics">
|
||||
<td><code>metrics</code></td>
|
||||
<td><code><a href="#Params.MetricInfo">Params.MetricInfo[]</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo">Params.MetricInfo</h2>
|
||||
<section>
|
||||
<p>Describes how to represent a metric</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>name</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.type">
|
||||
<td><code>type</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.Type">Params.MetricInfo.Type</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.Type">Params.MetricInfo.Type</h2>
|
||||
<section>
|
||||
<p>The type of metric.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.Type.UNKNOWN">
|
||||
<td><code>UNKNOWN</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Type.COUNTER">
|
||||
<td><code>COUNTER</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Type.GAUGE">
|
||||
<td><code>GAUGE</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Type.DISTRIBUTION">
|
||||
<td><code>DISTRIBUTION</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>denier</code> adapter is designed to always return a denial to precondition
|
||||
checks. You can specify the exact error to return for these denials.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Cnofiguration format for the Denier adapter.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.status">
|
||||
<td><code>status</code></td>
|
||||
<td><code><a href="#google.rpc.Status">google.rpc.Status</a></code></td>
|
||||
<td>
|
||||
<p>The error to return when denying a request.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.valid_duration">
|
||||
<td><code>validDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>The duration for which the denial is valid.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.valid_use_count">
|
||||
<td><code>validUseCount</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>The number of times the denial may be used.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="google.rpc.Status">google.rpc.Status</h2>
|
||||
<section>
|
||||
<p>The <code>Status</code> type defines a logical error model that is suitable for different
|
||||
programming environments, including REST APIs and RPC APIs. It is used by
|
||||
<a href="https://github.com/grpc">gRPC</a>. The error model is designed to be:</p>
|
||||
|
||||
<ul>
|
||||
<li>Simple to use and understand for most users</li>
|
||||
<li>Flexible enough to meet unexpected needs</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="overview">Overview</h3>
|
||||
|
||||
<p>The <code>Status</code> message contains three pieces of data: error code, error message,
|
||||
and error details. The error code should be an enum value of
|
||||
<em>google.rpc.Code</em>, but it may accept additional error codes if needed. The
|
||||
error message should be a developer-facing English message that helps
|
||||
developers <em>understand</em> and <em>resolve</em> 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 <code>google.rpc</code> that can be used for common error conditions.</p>
|
||||
|
||||
<h3 id="language-mapping">Language mapping</h3>
|
||||
|
||||
<p>The <code>Status</code> message is the logical representation of the error model, but it
|
||||
is not necessarily the actual wire format. When the <code>Status</code> 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.</p>
|
||||
|
||||
<h3 id="other-uses">Other uses</h3>
|
||||
|
||||
<p>The error model and the <code>Status</code> message can be used in a variety of
|
||||
environments, either with or without APIs, to provide a
|
||||
consistent developer experience across different environments.</p>
|
||||
|
||||
<p>Example uses of this error model include:</p>
|
||||
|
||||
<ul>
|
||||
<li><p>Partial errors. If a service needs to return partial errors to the client,
|
||||
it may embed the <code>Status</code> in the normal response to indicate the partial
|
||||
errors.</p></li>
|
||||
|
||||
<li><p>Workflow errors. A typical workflow has multiple steps. Each step may
|
||||
have a <code>Status</code> message for error reporting.</p></li>
|
||||
|
||||
<li><p>Batch operations. If a client uses batch request and batch response, the
|
||||
<code>Status</code> message should be used directly inside batch response, one for
|
||||
each error sub-response.</p></li>
|
||||
|
||||
<li><p>Asynchronous operations. If an API call embeds asynchronous operation
|
||||
results in its response, the status of those operations should be
|
||||
represented directly using the <code>Status</code> message.</p></li>
|
||||
|
||||
<li><p>Logging. If some API errors are stored in logs, the message <code>Status</code> could
|
||||
be used directly after any stripping needed for security/privacy reasons.</p></li>
|
||||
</ul>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="google.rpc.Status.code">
|
||||
<td><code>code</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>The status code, which should be an enum value of <em>google.rpc.Code</em>.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.rpc.Status.message">
|
||||
<td><code>message</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>A developer-facing error message, which should be in English. Any
|
||||
user-facing error message should be localized and sent in the
|
||||
<a href="#google.rpc.Status.details">google.rpc.Status.details</a> field, or localized by the client.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.rpc.Status.details">
|
||||
<td><code>details</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#any">google.protobuf.Any[]</a></code></td>
|
||||
<td>
|
||||
<p>A list of messages that carry the error details. There is a common set of
|
||||
message types for APIs to use.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
title: denier Config
|
||||
overview: Generated documentation for Mixer's denier Adapter Configuration Schema
|
||||
|
||||
order: 100
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.denier.configIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Params](#adapter.denier.config.Params)
|
||||
(message)
|
||||
|
||||
<a name="adapter.denier.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.denier.config.Params.status"></a>
|
||||
<tr>
|
||||
<td><code>status</code></td>
|
||||
<td>Status</td>
|
||||
<td>The error to return when denying a request.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>fluentd</code> adapter is designed to deliver Istio log entries to a
|
||||
listening <a href="https://www.fluentd.org">fluentd</a> daemon.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration parameters for the fluentd adapter.</p>
|
||||
|
||||
<p>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”.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.address">
|
||||
<td><code>address</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Address of listening fluentd daemon. Example: fluentd-server:24224
|
||||
Default value is localhost:24224</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,168 +0,0 @@
|
|||
---
|
||||
title: kubernetes Config
|
||||
overview: Generated documentation for Mixer's kubernetes Adapter Configuration Schema
|
||||
|
||||
order: 10
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.kubernetes.configIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Params](#adapter.kubernetes.config.Params)
|
||||
(message)
|
||||
|
||||
<a name="adapter.kubernetes.config.Params"></a>
|
||||
### 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).
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.kubeconfigPath"></a>
|
||||
<tr>
|
||||
<td><code>kubeconfigPath</code></td>
|
||||
<td>string</td>
|
||||
<td><p>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.</p><p>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).</p><p>Default: "" (unset)</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.cacheRefreshDuration"></a>
|
||||
<tr>
|
||||
<td><code>cacheRefreshDuration</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td><p>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.</p><p>Default: 5 minutes</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.sourceUidInputName"></a>
|
||||
<tr>
|
||||
<td><code>sourceUidInputName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>Configures how the UID for the source pod for traffic is identified in the input map.</p><p>Default: sourceUID</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.destinationUidInputName"></a>
|
||||
<tr>
|
||||
<td><code>destinationUidInputName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>Configures how the UID for the destination pod for traffic is identified in the input map.</p><p>Default: destinationUID</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.originUidInputName"></a>
|
||||
<tr>
|
||||
<td><code>originUidInputName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>Configures how the UID for the origin pod for traffic is identified in the input map.</p><p>Default: originUID</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.sourceIpInputName"></a>
|
||||
<tr>
|
||||
<td><code>sourceIpInputName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>Configures how the IP for the source pod for traffic is identified in the input map.</p><p>Default: sourceIP</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.destinationIpInputName"></a>
|
||||
<tr>
|
||||
<td><code>destinationIpInputName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>Configures how the IP for the destination pod for traffic is identified in the input map.</p><p>Default: destinationIP</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.originIpInputName"></a>
|
||||
<tr>
|
||||
<td><code>originIpInputName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>Configures how the IP for the origin pod for traffic is identified in the input map.</p><p>Default: originIP</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.clusterDomainName"></a>
|
||||
<tr>
|
||||
<td><code>clusterDomainName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>Configures the cluster domain name to use for service name normalization.</p><p>Default: svc.cluster.local</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.podLabelForService"></a>
|
||||
<tr>
|
||||
<td><code>podLabelForService</code></td>
|
||||
<td>string</td>
|
||||
<td><p>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.</p><p>Default: app</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.podLabelForIstioComponentService"></a>
|
||||
<tr>
|
||||
<td><code>podLabelForIstioComponentService</code></td>
|
||||
<td>string</td>
|
||||
<td><p>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.</p><p>Default: istio</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.sourcePrefix"></a>
|
||||
<tr>
|
||||
<td><code>sourcePrefix</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The prefix used for source pod output value names.</p><p>Default: source</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.destinationPrefix"></a>
|
||||
<tr>
|
||||
<td><code>destinationPrefix</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The prefix used for destination pod output value names.</p><p>Default: destination</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.originPrefix"></a>
|
||||
<tr>
|
||||
<td><code>originPrefix</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The prefix used for origin pod output value names.</p><p>Default: origin</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.labelsValueName"></a>
|
||||
<tr>
|
||||
<td><code>labelsValueName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The value name for the pod labels output value.</p><p>Default: Labels</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.podNameValueName"></a>
|
||||
<tr>
|
||||
<td><code>podNameValueName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The value name for the pod name output value.</p><p>Default: PodName</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.podIpValueName"></a>
|
||||
<tr>
|
||||
<td><code>podIpValueName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The value name for the pod ip address output value.</p><p>Default: PodIP</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.hostIpValueName"></a>
|
||||
<tr>
|
||||
<td><code>hostIpValueName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The value name for the pod host ip address output value.</p><p>Default: HostIP</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.namespaceValueName"></a>
|
||||
<tr>
|
||||
<td><code>namespaceValueName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The value name for the pod namespace output value.</p><p>Default: Namespace</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.serviceAccountValueName"></a>
|
||||
<tr>
|
||||
<td><code>serviceAccountValueName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The value name for the pod service account name output value.</p><p>Default: ServiceAccountName</p></td>
|
||||
</tr>
|
||||
<a name="adapter.kubernetes.config.Params.serviceValueName"></a>
|
||||
<tr>
|
||||
<td><code>serviceValueName</code></td>
|
||||
<td>string</td>
|
||||
<td><p>The value name for the service output value.</p><p>Default: Service</p></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>kubernetesenv</code> adapter extracts information from a Kubernetes environment
|
||||
and produces attribtes that can be used in downstream adapters.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration parameters for the kubernetes adapter. These params
|
||||
control the manner in which the kubernetes adapter discovers and
|
||||
generates values related to pod information.</p>
|
||||
|
||||
<p>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).</p>
|
||||
|
||||
<p>For all valid UIDs supplied, this adapter generates output
|
||||
values containing information about the related pods.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.kubeconfig_path">
|
||||
<td><code>kubeconfigPath</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
<p>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).</p>
|
||||
|
||||
<p>Default: “” (unset)</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.cache_refresh_duration">
|
||||
<td><code>cacheRefreshDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
<p>Default: 5 minutes</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.cluster_domain_name">
|
||||
<td><code>clusterDomainName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Configures the cluster domain name to use for service name normalization.</p>
|
||||
|
||||
<p>Default: svc.cluster.local</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.pod_label_for_service">
|
||||
<td><code>podLabelForService</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
<p>Default: app</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.pod_label_for_istio_component_service">
|
||||
<td><code>podLabelForIstioComponentService</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
<p>Default: istio</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.lookup_ingress_source_and_origin_values">
|
||||
<td><code>lookupIngressSourceAndOriginValues</code></td>
|
||||
<td><code>bool</code></td>
|
||||
<td>
|
||||
<p>Default: false</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.fully_qualified_istio_ingress_service_name">
|
||||
<td><code>fullyQualifiedIstioIngressServiceName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Istio ingress service string. This is used to identify the
|
||||
ingress service in requests.</p>
|
||||
|
||||
<p>Default: “ingress.istio-system.svc.cluster.local”</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>list</code> 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.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.provider_url">
|
||||
<td><code>providerUrl</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Where to find the list to check against. This may be ommited for a completely local list.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.refresh_interval">
|
||||
<td><code>refreshInterval</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>Determines how often the provider is polled for
|
||||
an updated list</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.ttl">
|
||||
<td><code>ttl</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.caching_interval">
|
||||
<td><code>cachingInterval</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>Indicates the amount of time a caller of this adapter can cache an answer
|
||||
before it should ask the adapter again.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.caching_use_count">
|
||||
<td><code>cachingUseCount</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>Indicates the number of times a caller of this adapter can use a cached answer
|
||||
before it should ask the adapter again.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.overrides">
|
||||
<td><code>overrides</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
<td>
|
||||
<p>List entries that are consulted first, before the list from the server</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.entry_type">
|
||||
<td><code>entryType</code></td>
|
||||
<td><code><a href="#Params.ListEntryType">Params.ListEntryType</a></code></td>
|
||||
<td>
|
||||
<p>Determines the kind of list entry and overrides.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.blacklist">
|
||||
<td><code>blacklist</code></td>
|
||||
<td><code>bool</code></td>
|
||||
<td>
|
||||
<p>Whether the list operates as a blacklist or a whitelist.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.ListEntryType">Params.ListEntryType</h2>
|
||||
<section>
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.ListEntryType.STRINGS">
|
||||
<td><code>STRINGS</code></td>
|
||||
<td>
|
||||
<p>List entries are treated as plain strings.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.ListEntryType.CASE_INSENSITIVE_STRINGS">
|
||||
<td><code>CASE_INSENSITIVE_STRINGS</code></td>
|
||||
<td>
|
||||
<p>List entries are treated as case-insensitive strings.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.ListEntryType.IP_ADDRESSES">
|
||||
<td><code>IP_ADDRESSES</code></td>
|
||||
<td>
|
||||
<p>List entries are treated as IP addresses and ranges.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.ListEntryType.REGEX">
|
||||
<td><code>REGEX</code></td>
|
||||
<td>
|
||||
<p>List entries are treated as re2 regexp. See https://github.com/google/re2/wiki/Syntax for syntax.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
---
|
||||
title: list Config
|
||||
overview: Generated documentation for Mixer's list Adapter Configuration Schema
|
||||
|
||||
order: 20
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.list.configIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Params](#adapter.list.config.Params)
|
||||
(message)
|
||||
* [Params.ListEntryType](#adapter.list.config.Params.ListEntryType)
|
||||
(enum)
|
||||
|
||||
<a name="adapter.list.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.providerUrl"></a>
|
||||
<tr>
|
||||
<td><code>providerUrl</code></td>
|
||||
<td>string</td>
|
||||
<td>Where to find the list to check against. This may be ommited for a completely local list.</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.refreshInterval"></a>
|
||||
<tr>
|
||||
<td><code>refreshInterval</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>Determines how often the provider is polled for an updated list</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.ttl"></a>
|
||||
<tr>
|
||||
<td><code>ttl</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.cachingInterval"></a>
|
||||
<tr>
|
||||
<td><code>cachingInterval</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>Indicates the amount of time a caller of this adapter can cache an answer before it should ask the adapter again.</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.cachingUseCount"></a>
|
||||
<tr>
|
||||
<td><code>cachingUseCount</code></td>
|
||||
<td>int32</td>
|
||||
<td>Indicates the number of times a caller of this adapter can use a cached answer before it should ask the adapter again.</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.overrides"></a>
|
||||
<tr>
|
||||
<td><code>overrides[]</code></td>
|
||||
<td>repeated string</td>
|
||||
<td>List entries that are consulted first, before the list from the server</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.entryType"></a>
|
||||
<tr>
|
||||
<td><code>entryType</code></td>
|
||||
<td><a href="#adapter.list.config.Params.ListEntryType">ListEntryType</a></td>
|
||||
<td>Determines the kind of list entry and overrides.</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.blacklist"></a>
|
||||
<tr>
|
||||
<td><code>blacklist</code></td>
|
||||
<td>bool</td>
|
||||
<td>Whether the list operates as a blacklist or a whitelist.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.list.config.Params.ListEntryType"></a>
|
||||
### ListEntryType
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.ListEntryType.STRINGS"></a>
|
||||
<tr>
|
||||
<td>STRINGS</td>
|
||||
<td>List entries are treated as plain strings.</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.ListEntryType.CASE_INSENSITIVE_STRINGS"></a>
|
||||
<tr>
|
||||
<td>CASE_INSENSITIVE_STRINGS</td>
|
||||
<td>List entries are treated as case-insensitive strings.</td>
|
||||
</tr>
|
||||
<a name="adapter.list.config.Params.ListEntryType.IP_ADDRESSES"></a>
|
||||
<tr>
|
||||
<td>IP_ADDRESSES</td>
|
||||
<td>List entries are treated as IP addresses and ranges.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
---
|
||||
title: Memory quota
|
||||
overview: Adapter for a simple in-memory quota management system.
|
||||
location: https://istio.io/docs/reference/config/adapters/memquota.html
|
||||
layout: protoc-gen-docs
|
||||
number_of_entries: 3
|
||||
---
|
||||
{% raw %}
|
||||
<p>The <code>memquota</code> 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.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>memquota</code> adapter.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.quotas">
|
||||
<td><code>quotas</code></td>
|
||||
<td><code><a href="#Params.Quota">Params.Quota[]</a></code></td>
|
||||
<td>
|
||||
<p>The set of known quotas.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.min_deduplication_duration">
|
||||
<td><code>minDeduplicationDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>Minimum number of seconds that deduplication is possible for a given operation.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.Override">Params.Override</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.Override.dimensions">
|
||||
<td><code>dimensions</code></td>
|
||||
<td><code>map<string, string></code></td>
|
||||
<td>
|
||||
<p>The specific dimensions for which this override applies.
|
||||
String representation of instance dimensions is used to check against configured dimensions.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Override.max_amount">
|
||||
<td><code>maxAmount</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
<p>The upper limit for this quota.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Override.valid_duration">
|
||||
<td><code>validDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.Quota">Params.Quota</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.Quota.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The name of the quota</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.max_amount">
|
||||
<td><code>maxAmount</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
<p>The upper limit for this quota.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.valid_duration">
|
||||
<td><code>validDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.overrides">
|
||||
<td><code>overrides</code></td>
|
||||
<td><code><a href="#Params.Override">Params.Override[]</a></code></td>
|
||||
<td>
|
||||
<p>Overrides associated with this quota.
|
||||
The first matching override is applied.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
---
|
||||
title: memquota Config
|
||||
overview: Generated documentation for Mixer's memquota Adapter Configuration Schema
|
||||
|
||||
order: 30
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.memquota.configIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Params](#adapter.memquota.config.Params)
|
||||
(message)
|
||||
* [Params.Override](#adapter.memquota.config.Params.Override)
|
||||
(message)
|
||||
* [Params.Quota](#adapter.memquota.config.Params.Quota)
|
||||
(message)
|
||||
|
||||
<a name="adapter.memquota.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.quotas"></a>
|
||||
<tr>
|
||||
<td><code>quotas[]</code></td>
|
||||
<td>repeated <a href="#adapter.memquota.config.Params.Quota">Quota</a></td>
|
||||
<td>The set of known quotas.</td>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.minDeduplicationDuration"></a>
|
||||
<tr>
|
||||
<td><code>minDeduplicationDuration</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>Minimum number of seconds that deduplication is possible for a given operation.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.memquota.config.Params.Override"></a>
|
||||
### Override
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.Override.dimensions"></a>
|
||||
<tr>
|
||||
<td><code>dimensions</code></td>
|
||||
<td>repeated map<string, string></td>
|
||||
<td>The specific dimensions for which this override applies. String representation of instance dimensions is used to check against configured dimensions.</td>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.Override.maxAmount"></a>
|
||||
<tr>
|
||||
<td><code>maxAmount</code></td>
|
||||
<td>int64</td>
|
||||
<td>The upper limit for this quota.</td>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.Override.validDuration"></a>
|
||||
<tr>
|
||||
<td><code>validDuration</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.memquota.config.Params.Quota"></a>
|
||||
### Quota
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.Quota.name"></a>
|
||||
<tr>
|
||||
<td><code>name</code></td>
|
||||
<td>string</td>
|
||||
<td>The name of the quota</td>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.Quota.maxAmount"></a>
|
||||
<tr>
|
||||
<td><code>maxAmount</code></td>
|
||||
<td>int64</td>
|
||||
<td>The upper limit for this quota.</td>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.Quota.validDuration"></a>
|
||||
<tr>
|
||||
<td><code>validDuration</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.memquota.config.Params.Quota.overrides"></a>
|
||||
<tr>
|
||||
<td><code>overrides[]</code></td>
|
||||
<td>repeated <a href="#adapter.memquota.config.Params.Override">Override</a></td>
|
||||
<td>Overrides associated with this quota. The first matching override is applied.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>opa</code> adapter exposes an <a href="http://www.openpolicyagent.org">Open Policy Agent</a> engine
|
||||
that provides sophisticated access control mechanisms.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>opa</code> adapter.</p>
|
||||
|
||||
<p>Example configuration:</p>
|
||||
|
||||
<pre><code>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
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.policy">
|
||||
<td><code>policy</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
<td>
|
||||
<p>List of OPA policies</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.check_method">
|
||||
<td><code>checkMethod</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Query method to check.
|
||||
Format: data.<package name>.<method name></p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.fail_close">
|
||||
<td><code>failClose</code></td>
|
||||
<td><code>bool</code></td>
|
||||
<td>
|
||||
<p>Close the client request when adapter has a issue.
|
||||
If failClose is set to true and there is a runtime error,
|
||||
instead of disabling the adapter, close the client request</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>prometheus</code> adapter collects Istio metrics and makes them available to
|
||||
<a href="https://prometheus.io">Prometheus</a>.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>prometheus</code> adapter.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.metrics">
|
||||
<td><code>metrics</code></td>
|
||||
<td><code><a href="#Params.MetricInfo">Params.MetricInfo[]</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo">Params.MetricInfo</h2>
|
||||
<section>
|
||||
<p>Describes how a metric should be represented in Prometheus.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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 instance_name is used.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.instance_name">
|
||||
<td><code>instanceName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Required. The name is the fully qualified name of the Istio metric instance
|
||||
that this MetricInfo processes.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.description">
|
||||
<td><code>description</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Optional. A human readable description of this metric.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.kind">
|
||||
<td><code>kind</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.Kind">Params.MetricInfo.Kind</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.buckets">
|
||||
<td><code>buckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition">Params.MetricInfo.BucketsDefinition</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.label_names">
|
||||
<td><code>labelNames</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
<td>
|
||||
<p>The names of labels to use: these need to match the dimensions of the Istio metric.
|
||||
TODO: see if we can remove this and rely on only the dimensions in the future.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition">Params.MetricInfo.BucketsDefinition</h2>
|
||||
<section>
|
||||
<p>Describes buckets for DISTRIBUTION kind metrics.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.linear_buckets" class="oneof oneof-start">
|
||||
<td><code>linearBuckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition.Linear">Params.MetricInfo.BucketsDefinition.Linear (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>The linear buckets.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.exponential_buckets" class="oneof">
|
||||
<td><code>exponentialBuckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition.Exponential">Params.MetricInfo.BucketsDefinition.Exponential (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>The exponential buckets.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.explicit_buckets" class="oneof">
|
||||
<td><code>explicitBuckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition.Explicit">Params.MetricInfo.BucketsDefinition.Explicit (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>The explicit buckets.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition.Explicit">Params.MetricInfo.BucketsDefinition.Explicit</h2>
|
||||
<section>
|
||||
<p>Specifies a set of buckets with arbitrary widths.</p>
|
||||
|
||||
<p>There are <code>size(bounds) + 1</code> (= <code>N</code>) buckets. Bucket <code>i</code> has the following
|
||||
boundaries:</p>
|
||||
|
||||
<ul>
|
||||
<li>Upper bound (<code>0 <= i < N-1</code>): <code>bounds[i]</code></li>
|
||||
<li>Lower bound (<code>1 <= i < N</code>): <code>bounds[i - 1]</code></li>
|
||||
</ul>
|
||||
|
||||
<p>The <code>bounds</code> field must contain at least one element. If <code>bounds</code> has
|
||||
only one element, then there are no finite buckets, and that single
|
||||
element is the common boundary of the overflow and underflow buckets.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Explicit.bounds">
|
||||
<td><code>bounds</code></td>
|
||||
<td><code>double[]</code></td>
|
||||
<td>
|
||||
<p>The values must be monotonically increasing.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition.Exponential">Params.MetricInfo.BucketsDefinition.Exponential</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>There are <code>num_finite_buckets + 2</code> (= <code>N</code>) buckets. The two additional
|
||||
buckets are the underflow and overflow buckets.</p>
|
||||
|
||||
<p>Bucket <code>i</code> has the following boundaries:</p>
|
||||
|
||||
<ul>
|
||||
<li>Upper bound (0 <= i < N-1): <code>scale * (growth_factor ^ i)</code></li>
|
||||
<li>Lower bound (1 <= i < N): <code>scale * (growth_factor ^ (i - 1))</code></li>
|
||||
</ul>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Exponential.num_finite_buckets">
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Exponential.growth_factor">
|
||||
<td><code>growthFactor</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 1.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Exponential.scale">
|
||||
<td><code>scale</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition.Linear">Params.MetricInfo.BucketsDefinition.Linear</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>There are <code>num_finite_buckets + 2</code> (= <code>N</code>) buckets. The two additional
|
||||
buckets are the underflow and overflow buckets.</p>
|
||||
|
||||
<p>Bucket <code>i</code> has the following boundaries:</p>
|
||||
|
||||
<ul>
|
||||
<li>Upper bound (<code>0 <= i < N-1</code>): <code>offset + (width * i)</code></li>
|
||||
<li>Lower bound (<code>1 <= i < N</code>): <code>offset + (width * (i - 1))</code></li>
|
||||
</ul>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Linear.num_finite_buckets">
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Linear.width">
|
||||
<td><code>width</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Linear.offset">
|
||||
<td><code>offset</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Lower bound of the first bucket.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.Kind">Params.MetricInfo.Kind</h2>
|
||||
<section>
|
||||
<p>Describes what kind of metric this is.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.Kind.UNSPECIFIED">
|
||||
<td><code>UNSPECIFIED</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Kind.GAUGE">
|
||||
<td><code>GAUGE</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Kind.COUNTER">
|
||||
<td><code>COUNTER</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Kind.DISTRIBUTION">
|
||||
<td><code>DISTRIBUTION</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,263 +0,0 @@
|
|||
---
|
||||
title: prometheus Config
|
||||
overview: Generated documentation for Mixer's prometheus Adapter Configuration Schema
|
||||
|
||||
order: 40
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.prometheus.configIndex"></a>
|
||||
### 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)
|
||||
|
||||
<a name="adapter.prometheus.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.metrics"></a>
|
||||
<tr>
|
||||
<td><code>metrics[]</code></td>
|
||||
<td>repeated <a href="#adapter.prometheus.config.Params.MetricInfo">MetricInfo</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo"></a>
|
||||
### MetricInfo
|
||||
Describes how a metric should be represented in Prometheus.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.name"></a>
|
||||
<tr>
|
||||
<td><code>name</code></td>
|
||||
<td>string</td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.instanceName"></a>
|
||||
<tr>
|
||||
<td><code>instanceName</code></td>
|
||||
<td>string</td>
|
||||
<td>Required. The name is the fully qualified name of the Istio metric instance that this MetricInfo processes.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.description"></a>
|
||||
<tr>
|
||||
<td><code>description</code></td>
|
||||
<td>string</td>
|
||||
<td>Optional. A human readable description of this metric.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.kind"></a>
|
||||
<tr>
|
||||
<td><code>kind</code></td>
|
||||
<td><a href="#adapter.prometheus.config.Params.MetricInfo.Kind">Kind</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.buckets"></a>
|
||||
<tr>
|
||||
<td><code>buckets</code></td>
|
||||
<td><a href="#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition">BucketsDefinition</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.labelNames"></a>
|
||||
<tr>
|
||||
<td><code>labelNames[]</code></td>
|
||||
<td>repeated string</td>
|
||||
<td>The names of labels to use: these need to match the dimensions of the Istio metric.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition"></a>
|
||||
### BucketsDefinition
|
||||
Describes buckets for DISTRIBUTION kind metrics.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.linearBuckets"></a>
|
||||
<tr>
|
||||
<td><code>linearBuckets</code></td>
|
||||
<td><a href="#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Linear">Linear</a> (oneof )</td>
|
||||
<td>The linear buckets.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.exponentialBuckets"></a>
|
||||
<tr>
|
||||
<td><code>exponentialBuckets</code></td>
|
||||
<td><a href="#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Exponential">Exponential</a> (oneof )</td>
|
||||
<td>The exponential buckets.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.explicitBuckets"></a>
|
||||
<tr>
|
||||
<td><code>explicitBuckets</code></td>
|
||||
<td><a href="#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Explicit">Explicit</a> (oneof )</td>
|
||||
<td>The explicit buckets.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Explicit"></a>
|
||||
### 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.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Explicit.bounds"></a>
|
||||
<tr>
|
||||
<td><code>bounds[]</code></td>
|
||||
<td>repeated double</td>
|
||||
<td>The values must be monotonically increasing.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Exponential"></a>
|
||||
### 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))`
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Exponential.numFiniteBuckets"></a>
|
||||
<tr>
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td>int32</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Exponential.growthFactor"></a>
|
||||
<tr>
|
||||
<td><code>growthFactor</code></td>
|
||||
<td>double</td>
|
||||
<td>Must be greater than 1.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Exponential.scale"></a>
|
||||
<tr>
|
||||
<td><code>scale</code></td>
|
||||
<td>double</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Linear"></a>
|
||||
### 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))`
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Linear.numFiniteBuckets"></a>
|
||||
<tr>
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td>int32</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Linear.width"></a>
|
||||
<tr>
|
||||
<td><code>width</code></td>
|
||||
<td>double</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Linear.offset"></a>
|
||||
<tr>
|
||||
<td><code>offset</code></td>
|
||||
<td>double</td>
|
||||
<td>Lower bound of the first bucket.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.Kind"></a>
|
||||
### Kind
|
||||
Describes what kind of metric this is.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.Kind.UNSPECIFIED"></a>
|
||||
<tr>
|
||||
<td>UNSPECIFIED</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.Kind.GAUGE"></a>
|
||||
<tr>
|
||||
<td>GAUGE</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.Kind.COUNTER"></a>
|
||||
<tr>
|
||||
<td>COUNTER</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.prometheus.config.Params.MetricInfo.Kind.DISTRIBUTION"></a>
|
||||
<tr>
|
||||
<td>DISTRIBUTION</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>rbac</code> adapter provides Role-Based Access Control (RBAC) functionality for
|
||||
for services within the Istio mesh.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>rbac</code> adapter.</p>
|
||||
|
||||
<p>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”).</p>
|
||||
|
||||
<pre><code class="language-yaml">apiVersion: "config.istio.io/v1alpha2"
|
||||
kind: rbac
|
||||
metadata:
|
||||
name: rbachandler
|
||||
namespace: istio-system
|
||||
spec:
|
||||
config_store_url: "fs:///tmp/testdata/config"
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.config_store_url">
|
||||
<td><code>configStoreUrl</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>URL for the config store. It is used to initiate a new Store instance.
|
||||
Following are some examples of the config store URL:
|
||||
* “k8s://”
|
||||
* “fs:///tmp/testdata/configroot”</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.cache_duration">
|
||||
<td><code>cacheDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>The duration for which authorization results may be cached.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>redisquota</code> adapter can be used to support Istio’s quota management
|
||||
system. It depends on a Redis server to store quota values.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>redisquota adapter supports the rate limit quota using either fixed or
|
||||
rolling window algorithm. And it is using Redis as a shared data storage.</p>
|
||||
|
||||
<p>Example configuration:</p>
|
||||
|
||||
<p>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</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.quotas">
|
||||
<td><code>quotas</code></td>
|
||||
<td><code><a href="#Params.Quota">Params.Quota[]</a></code></td>
|
||||
<td>
|
||||
<p>The set of known quotas. At least one quota configuration is required</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.redis_server_url">
|
||||
<td><code>redisServerUrl</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Redis connection string <hostname>:<port number>
|
||||
ex) localhost:6379</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.connection_pool_size">
|
||||
<td><code>connectionPoolSize</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
<p>Maximum number of idle connections to redis
|
||||
Default is 10 connections per every CPU as reported by runtime.NumCPU.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.Override">Params.Override</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.Override.dimensions">
|
||||
<td><code>dimensions</code></td>
|
||||
<td><code>map<string, string></code></td>
|
||||
<td>
|
||||
<p>The specific dimensions for which this override applies.
|
||||
String representation of instance dimensions is used to check against configured dimensions.
|
||||
dimensions should not be empty</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Override.max_amount">
|
||||
<td><code>maxAmount</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
<p>The upper limit for this quota override.
|
||||
This value should be bigger than 0</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.Quota">Params.Quota</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.Quota.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The name of the quota</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.max_amount">
|
||||
<td><code>maxAmount</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
<p>The upper limit for this quota. max_amount should be bigger than 0</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.valid_duration">
|
||||
<td><code>validDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>The amount of time allocated quota remains valid before it is
|
||||
automatically released. This is only meaningful for rate limit quotas.
|
||||
value should be 0 < valid_duration</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.bucket_duration">
|
||||
<td><code>bucketDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>bucket<em>duration will be ignored if rate</em>limit<em>algorithm is FIXED</em>WINDOW
|
||||
value should be 0 < bucket<em>duration < valid</em>duration</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.rate_limit_algorithm">
|
||||
<td><code>rateLimitAlgorithm</code></td>
|
||||
<td><code><a href="#Params.QuotaAlgorithm">Params.QuotaAlgorithm</a></code></td>
|
||||
<td>
|
||||
<p>Quota management algorithm. The default value is FIXED_WINDOW</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Quota.overrides">
|
||||
<td><code>overrides</code></td>
|
||||
<td><code><a href="#Params.Override">Params.Override[]</a></code></td>
|
||||
<td>
|
||||
<p>Overrides associated with this quota.
|
||||
The first matching override is applied.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.QuotaAlgorithm">Params.QuotaAlgorithm</h2>
|
||||
<section>
|
||||
<p>Algorithms for rate-limiting:</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.QuotaAlgorithm.FIXED_WINDOW">
|
||||
<td><code>FIXED_WINDOW</code></td>
|
||||
<td>
|
||||
<p>FIXED_WINDOW The fixed window approach can allow 2x peak specified rate, whereas the rolling-window doesn’t.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.QuotaAlgorithm.ROLLING_WINDOW">
|
||||
<td><code>ROLLING_WINDOW</code></td>
|
||||
<td>
|
||||
<p>ROLLING_WINDOW The rolling window algorithm’s additional precision comes at the cost of increased redis resource usage.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>servicecontrol</code> adapter delivers logs and metrics to
|
||||
<a href="https://cloud.google.com/service-control">Google Service Control</a>.</p>
|
||||
|
||||
<h2 id="GcpServiceSetting">GcpServiceSetting</h2>
|
||||
<section>
|
||||
<p>Adapter setting for a managed GCP service.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="GcpServiceSetting.mesh_service_name">
|
||||
<td><code>meshServiceName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Local service name on the mesh, which matches destination.service attribute.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="GcpServiceSetting.google_service_name">
|
||||
<td><code>googleServiceName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Fully qualified GCP service name.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="GcpServiceSetting.quotas">
|
||||
<td><code>quotas</code></td>
|
||||
<td><code><a href="#Quota">Quota[]</a></code></td>
|
||||
<td>
|
||||
<p>Quota configs</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>servicecontrol</code> adapter.</p>
|
||||
|
||||
<p>Sample adapter config:</p>
|
||||
|
||||
<pre><code class="language-yaml">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
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.runtime_config">
|
||||
<td><code>runtimeConfig</code></td>
|
||||
<td><code><a href="#RuntimeConfig">RuntimeConfig</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.credential_path">
|
||||
<td><code>credentialPath</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>A path to JSON token file, usually mounted as Kubernetes secret on pod.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.service_configs">
|
||||
<td><code>serviceConfigs</code></td>
|
||||
<td><code><a href="#GcpServiceSetting">GcpServiceSetting[]</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Quota">Quota</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Quota.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Istio quota name.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Quota.google_quota_metric_name">
|
||||
<td><code>googleQuotaMetricName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The corresponding Google quota metric name.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Quota.expiration">
|
||||
<td><code>expiration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>Quota token expiration time period.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="RuntimeConfig">RuntimeConfig</h2>
|
||||
<section>
|
||||
<p>Adapter runtime config paramters.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="RuntimeConfig.check_cache_size">
|
||||
<td><code>checkCacheSize</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="RuntimeConfig.check_result_expiration">
|
||||
<td><code>checkResultExpiration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>solarwinds</code> adapter enables Istio to deliver log and metric data to the
|
||||
<a href="https://www.papertrailapp.com">Papertrail</a> logging backendu and the
|
||||
<a href="https://www.appoptics.com">AppOptics</a> monitoring backend.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>solarwinds</code> adapter.</p>
|
||||
|
||||
<p>Example config usage:</p>
|
||||
|
||||
<pre><code class="language-yaml">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) "-"}}'
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.appoptics_access_token">
|
||||
<td><code>appopticsAccessToken</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>AppOptics Access Token needed to send metrics to AppOptics. If no access token is given then metrics
|
||||
will NOT be shipped to AppOptics</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.appoptics_batch_size">
|
||||
<td><code>appopticsBatchSize</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>Optional. Max batch size of metrics to be sent to AppOptics.
|
||||
AppOptics does not allow batch size greater than 1000.
|
||||
If this is unspecified or given a value 0 explicitely, a default batch size of 1000 will be used.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.papertrail_url">
|
||||
<td><code>papertrailUrl</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Papertrail url to ship logs to. If no papertrail url is given then the logs will NOT be shipped but rather
|
||||
dropped.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.papertrail_local_retention_duration">
|
||||
<td><code>papertrailLocalRetentionDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>This is the duration for which logs will be persisted locally until it is shipped to papertrail in the event
|
||||
of a network failure. Default value is 1 hour.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.metrics">
|
||||
<td><code>metrics</code></td>
|
||||
<td><code>map<string, <a href="#Params.MetricInfo">Params.MetricInfo</a>></code></td>
|
||||
<td>
|
||||
<p>A map of Istio metric name to solarwinds metric info.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.logs">
|
||||
<td><code>logs</code></td>
|
||||
<td><code>map<string, <a href="#Params.LogInfo">Params.LogInfo</a>></code></td>
|
||||
<td>
|
||||
<p>A map of Istio logentry name to solarwinds log info.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.LogInfo">Params.LogInfo</h2>
|
||||
<section>
|
||||
<p>Describes how to represent an Istio log entry in Solarwinds AppOptics</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.LogInfo.payload_template">
|
||||
<td><code>payloadTemplate</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Optional. A golang text/template template (more details about golang text/template’s templating can be
|
||||
found here: https://golang.org/pkg/text/template/) that will be executed to construct the payload for
|
||||
this log entry.
|
||||
An example template that could be used:
|
||||
{{or (.originIp) “-”}} - {{or (.sourceUser) “-”}} [{{or (.timestamp.Format “2006-01-02T15:04:05Z07:00”) “-”}}] “{{or (.method) “-”}} {{or (.url) “-”}} {{or (.protocol) “-”}}” {{or (.responseCode) “-”}} {{or (.responseSize) “-”}}
|
||||
A sample log that will be created after parsing the template with appropriate variables will look like this:
|
||||
Jan 23 21:53:02 istio-mixer-57d88dc4b4-rbgmc istio: 10.32.0.15 - kubernetes://istio-ingress-78545c5bc9-wbr6g.istio-system [2018-01-24T02:53:02Z] “GET /productpage http” 200 5599
|
||||
It will be given the full set of variables for the log to use to construct its result.
|
||||
If it is not provided, a default template in place will be used.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo">Params.MetricInfo</h2>
|
||||
<section>
|
||||
<p>Describes how to represent an Istio metric in Solarwinds AppOptics</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.label_names">
|
||||
<td><code>labelNames</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
<td>
|
||||
<p>The names of labels to use: these need to match the dimensions of the Istio metric.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>stackdriver</code> adapter enables Istio to deliver log and metric data to the
|
||||
<a href="https://cloud.google.com/stackdriver/">Stackdriver</a> logging and monitoring backend.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>stackdriver</code> adapter.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.endpoint">
|
||||
<td><code>endpoint</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Endpoint URL to send stackdriver data - leave empty to use the
|
||||
StackDriver SDK’s default value (monitoring.googleapis.com).</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.project_id">
|
||||
<td><code>projectId</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>GCP Project to attach metrics to.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.push_interval">
|
||||
<td><code>pushInterval</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>This adapter batches the data it sends to Stackdriver; we will push to stackdriver every push_interval.
|
||||
If no value is provided we default to once per minute.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.app_credentials" class="oneof oneof-start">
|
||||
<td><code>appCredentials</code></td>
|
||||
<td><code>bool (oneof)</code></td>
|
||||
<td>
|
||||
<p>Use Google’s Application Default Credentials to authorize calls made
|
||||
by the StackDriver SDK.</p>
|
||||
|
||||
<p><a href="https://developers.google.com/identity/protocols/application-default-credentials">See Google’s documentation</a>.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.api_key" class="oneof">
|
||||
<td><code>apiKey</code></td>
|
||||
<td><code>string (oneof)</code></td>
|
||||
<td>
|
||||
<p>The API Key to be used for auth.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.service_account_path" class="oneof">
|
||||
<td><code>serviceAccountPath</code></td>
|
||||
<td><code>string (oneof)</code></td>
|
||||
<td>
|
||||
<p>The path to a Google service account credential file, relative to
|
||||
the Mixer. E.g. <code>/etc/opt/mixer/gcp-serviceaccount-creds.json</code>
|
||||
or <code>./testdata/my-test-account-creds.json</code>.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.metric_info">
|
||||
<td><code>metricInfo</code></td>
|
||||
<td><code>map<string, <a href="#Params.MetricInfo">Params.MetricInfo</a>></code></td>
|
||||
<td>
|
||||
<p>A map of Istio metric name to Stackdriver metric info.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.log_info">
|
||||
<td><code>logInfo</code></td>
|
||||
<td><code>map<string, <a href="#Params.LogInfo">Params.LogInfo</a>></code></td>
|
||||
<td>
|
||||
<p>A map of Istio LogEntry name to Stackdriver log info.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.LogInfo">Params.LogInfo</h2>
|
||||
<section>
|
||||
<p>Describes how to represent an Istio Log in Stackdriver.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.LogInfo.label_names">
|
||||
<td><code>labelNames</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.LogInfo.payload_template">
|
||||
<td><code>payloadTemplate</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.LogInfo.http_mapping">
|
||||
<td><code>httpMapping</code></td>
|
||||
<td><code><a href="#Params.LogInfo.HttpRequestMapping">Params.LogInfo.HttpRequestMapping</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.LogInfo.HttpRequestMapping">Params.LogInfo.HttpRequestMapping</h2>
|
||||
<section>
|
||||
<p>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</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.LogInfo.HttpRequestMapping.status">
|
||||
<td><code>status</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>template variable name to map into HTTPRequest.Status</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.LogInfo.HttpRequestMapping.request_size">
|
||||
<td><code>requestSize</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>template variable name to map into HTTPRequest.RequestSize</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.LogInfo.HttpRequestMapping.response_size">
|
||||
<td><code>responseSize</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>template variable name to map into HTTPRequest.ResponseSize</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.LogInfo.HttpRequestMapping.latency">
|
||||
<td><code>latency</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>template variable name to map into HTTPRequest.Latency</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.LogInfo.HttpRequestMapping.local_ip">
|
||||
<td><code>localIp</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>template variable name to map into HTTPRequest.LocalIP</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.LogInfo.HttpRequestMapping.remote_ip">
|
||||
<td><code>remoteIp</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>template variable name to map into HTTPRequest.RemoteIP</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo">Params.MetricInfo</h2>
|
||||
<section>
|
||||
<p>Describes how to represent an Istio metric in Stackdriver.
|
||||
See https://github.com/googleapis/googleapis/blob/master/google/api/metric.proto</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.kind">
|
||||
<td><code>kind</code></td>
|
||||
<td><code><a href="#google.api.MetricDescriptor.MetricKind">google.api.MetricDescriptor.MetricKind</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.value">
|
||||
<td><code>value</code></td>
|
||||
<td><code><a href="#google.api.MetricDescriptor.ValueType">google.api.MetricDescriptor.ValueType</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.buckets">
|
||||
<td><code>buckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition">Params.MetricInfo.BucketsDefinition</a></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition">Params.MetricInfo.BucketsDefinition</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.linear_buckets" class="oneof oneof-start">
|
||||
<td><code>linearBuckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition.Linear">Params.MetricInfo.BucketsDefinition.Linear (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>The linear buckets.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.exponential_buckets" class="oneof">
|
||||
<td><code>exponentialBuckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition.Exponential">Params.MetricInfo.BucketsDefinition.Exponential (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>The exponential buckets.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.explicit_buckets" class="oneof">
|
||||
<td><code>explicitBuckets</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.BucketsDefinition.Explicit">Params.MetricInfo.BucketsDefinition.Explicit (oneof)</a></code></td>
|
||||
<td>
|
||||
<p>The explicit buckets.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition.Explicit">Params.MetricInfo.BucketsDefinition.Explicit</h2>
|
||||
<section>
|
||||
<p>Specifies a set of buckets with arbitrary widths.</p>
|
||||
|
||||
<p>There are <code>size(bounds) + 1</code> (= <code>N</code>) buckets. Bucket <code>i</code> has the following
|
||||
boundaries:</p>
|
||||
|
||||
<ul>
|
||||
<li>Upper bound (<code>0 <= i < N-1</code>): <code>bounds[i]</code></li>
|
||||
<li>Lower bound (<code>1 <= i < N</code>): <code>bounds[i - 1]</code></li>
|
||||
</ul>
|
||||
|
||||
<p>The <code>bounds</code> field must contain at least one element. If <code>bounds</code> has
|
||||
only one element, then there are no finite buckets, and that single
|
||||
element is the common boundary of the overflow and underflow buckets.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Explicit.bounds">
|
||||
<td><code>bounds</code></td>
|
||||
<td><code>double[]</code></td>
|
||||
<td>
|
||||
<p>The values must be monotonically increasing.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition.Exponential">Params.MetricInfo.BucketsDefinition.Exponential</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>There are <code>num_finite_buckets + 2</code> (= <code>N</code>) buckets. The two additional
|
||||
buckets are the underflow and overflow buckets.</p>
|
||||
|
||||
<p>Bucket <code>i</code> has the following boundaries:</p>
|
||||
|
||||
<ul>
|
||||
<li>Upper bound (0 <= i < N-1): <code>scale * (growth_factor ^ i)</code></li>
|
||||
<li>Lower bound (1 <= i < N): <code>scale * (growth_factor ^ (i - 1))</code></li>
|
||||
</ul>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Exponential.num_finite_buckets">
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Exponential.growth_factor">
|
||||
<td><code>growthFactor</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 1.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Exponential.scale">
|
||||
<td><code>scale</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.BucketsDefinition.Linear">Params.MetricInfo.BucketsDefinition.Linear</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>There are <code>num_finite_buckets + 2</code> (= <code>N</code>) buckets. The two additional
|
||||
buckets are the underflow and overflow buckets.</p>
|
||||
|
||||
<p>Bucket <code>i</code> has the following boundaries:</p>
|
||||
|
||||
<ul>
|
||||
<li>Upper bound (<code>0 <= i < N-1</code>): <code>offset + (width * i)</code></li>
|
||||
<li>Lower bound (<code>1 <= i < N</code>): <code>offset + (width * (i - 1))</code></li>
|
||||
</ul>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Linear.num_finite_buckets">
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Linear.width">
|
||||
<td><code>width</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Must be greater than 0.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.BucketsDefinition.Linear.offset">
|
||||
<td><code>offset</code></td>
|
||||
<td><code>double</code></td>
|
||||
<td>
|
||||
<p>Lower bound of the first bucket.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="google.api.MetricDescriptor.MetricKind">google.api.MetricDescriptor.MetricKind</h2>
|
||||
<section>
|
||||
<p>The kind of measurement. It describes how the data is reported.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED">
|
||||
<td><code>METRIC_KIND_UNSPECIFIED</code></td>
|
||||
<td>
|
||||
<p>Do not use this default value.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.MetricKind.GAUGE">
|
||||
<td><code>GAUGE</code></td>
|
||||
<td>
|
||||
<p>An instantaneous measurement of a value.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.MetricKind.DELTA">
|
||||
<td><code>DELTA</code></td>
|
||||
<td>
|
||||
<p>The change in a value during a time interval.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.MetricKind.CUMULATIVE">
|
||||
<td><code>CUMULATIVE</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="google.api.MetricDescriptor.ValueType">google.api.MetricDescriptor.ValueType</h2>
|
||||
<section>
|
||||
<p>The value type of a metric.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="google.api.MetricDescriptor.ValueType.VALUE_TYPE_UNSPECIFIED">
|
||||
<td><code>VALUE_TYPE_UNSPECIFIED</code></td>
|
||||
<td>
|
||||
<p>Do not use this default value.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.ValueType.BOOL">
|
||||
<td><code>BOOL</code></td>
|
||||
<td>
|
||||
<p>The value is a boolean.
|
||||
This value type can be used only if the metric kind is <code>GAUGE</code>.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.ValueType.INT64">
|
||||
<td><code>INT64</code></td>
|
||||
<td>
|
||||
<p>The value is a signed 64-bit integer.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.ValueType.DOUBLE">
|
||||
<td><code>DOUBLE</code></td>
|
||||
<td>
|
||||
<p>The value is a double precision floating point number.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.ValueType.STRING">
|
||||
<td><code>STRING</code></td>
|
||||
<td>
|
||||
<p>The value is a text string.
|
||||
This value type can be used only if the metric kind is <code>GAUGE</code>.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.ValueType.DISTRIBUTION">
|
||||
<td><code>DISTRIBUTION</code></td>
|
||||
<td>
|
||||
<p>The value is a <em><code>Distribution</code></em>.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="google.api.MetricDescriptor.ValueType.MONEY">
|
||||
<td><code>MONEY</code></td>
|
||||
<td>
|
||||
<p>The value is money.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,437 +0,0 @@
|
|||
---
|
||||
title: stackdriver Config
|
||||
overview: Generated documentation for Mixer's stackdriver Adapter Configuration Schema
|
||||
|
||||
order: 50
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.stackdriver.configIndex"></a>
|
||||
### 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)
|
||||
|
||||
<a name="adapter.stackdriver.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.endpoint"></a>
|
||||
<tr>
|
||||
<td><code>endpoint</code></td>
|
||||
<td>string</td>
|
||||
<td>Endpoint URL to send stackdriver data - leave empty to use the StackDriver SDK's default value (monitoring.googleapis.com).</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.projectId"></a>
|
||||
<tr>
|
||||
<td><code>projectId</code></td>
|
||||
<td>string</td>
|
||||
<td>GCP Project to attach metrics to.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.pushInterval"></a>
|
||||
<tr>
|
||||
<td><code>pushInterval</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.metricInfo"></a>
|
||||
<tr>
|
||||
<td><code>metricInfo</code></td>
|
||||
<td>repeated map<string, <a href="#adapter.stackdriver.config.Params.MetricInfo">MetricInfo</a>></td>
|
||||
<td>A map of Istio metric name to Stackdriver metric info.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.logInfo"></a>
|
||||
<tr>
|
||||
<td><code>logInfo</code></td>
|
||||
<td>repeated map<string, <a href="#adapter.stackdriver.config.Params.LogInfo">LogInfo</a>></td>
|
||||
<td>A map of Istio LogEntry name to Stackdriver log info.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.appCredentials"></a>
|
||||
<tr>
|
||||
<td><code>appCredentials</code></td>
|
||||
<td>bool (oneof )</td>
|
||||
<td><p>Use Google's Application Default Credentials to authorize calls made by the StackDriver SDK.</p><p><a href="https://developers.google.com/identity/protocols/application-default-credentials">See Google's documentation</a>.</p></td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.apiKey"></a>
|
||||
<tr>
|
||||
<td><code>apiKey</code></td>
|
||||
<td>string (oneof )</td>
|
||||
<td>The API Key to be used for auth.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.serviceAccountPath"></a>
|
||||
<tr>
|
||||
<td><code>serviceAccountPath</code></td>
|
||||
<td>string (oneof )</td>
|
||||
<td>The path to a Google service account credential file, relative to the Mixer. E.g. <code>/etc/opt/mixer/gcp-serviceaccount-creds.json</code> or <code>./testdata/my-test-account-creds.json</code>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo"></a>
|
||||
### LogInfo
|
||||
Describes how to represent an Istio Log in Stackdriver.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.labelNames"></a>
|
||||
<tr>
|
||||
<td><code>labelNames[]</code></td>
|
||||
<td>repeated string</td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.payloadTemplate"></a>
|
||||
<tr>
|
||||
<td><code>payloadTemplate</code></td>
|
||||
<td>string</td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.httpMapping"></a>
|
||||
<tr>
|
||||
<td><code>httpMapping</code></td>
|
||||
<td><a href="#adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping">HttpRequestMapping</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping"></a>
|
||||
### 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
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping.status"></a>
|
||||
<tr>
|
||||
<td><code>status</code></td>
|
||||
<td>string</td>
|
||||
<td>template variable name to map into HTTPRequest.Status</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping.requestSize"></a>
|
||||
<tr>
|
||||
<td><code>requestSize</code></td>
|
||||
<td>string</td>
|
||||
<td>template variable name to map into HTTPRequest.RequestSize</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping.responseSize"></a>
|
||||
<tr>
|
||||
<td><code>responseSize</code></td>
|
||||
<td>string</td>
|
||||
<td>template variable name to map into HTTPRequest.ResponseSize</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping.latency"></a>
|
||||
<tr>
|
||||
<td><code>latency</code></td>
|
||||
<td>string</td>
|
||||
<td>template variable name to map into HTTPRequest.Latency</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping.localIp"></a>
|
||||
<tr>
|
||||
<td><code>localIp</code></td>
|
||||
<td>string</td>
|
||||
<td>template variable name to map into HTTPRequest.LocalIP</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping.remoteIp"></a>
|
||||
<tr>
|
||||
<td><code>remoteIp</code></td>
|
||||
<td>string</td>
|
||||
<td>template variable name to map into HTTPRequest.RemoteIP</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo"></a>
|
||||
### MetricInfo
|
||||
Describes how to represent an Istio metric in Stackdriver.
|
||||
See https://github.com/googleapis/googleapis/blob/master/google/api/metric.proto
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.kind"></a>
|
||||
<tr>
|
||||
<td><code>kind</code></td>
|
||||
<td><a href="#google.api.MetricDescriptor.MetricKind">MetricKind</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.value"></a>
|
||||
<tr>
|
||||
<td><code>value</code></td>
|
||||
<td><a href="#google.api.MetricDescriptor.ValueType">ValueType</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.buckets"></a>
|
||||
<tr>
|
||||
<td><code>buckets</code></td>
|
||||
<td><a href="#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition">BucketsDefinition</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition"></a>
|
||||
### BucketsDefinition
|
||||
Describes buckets for DISTRIBUTION valued metrics.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.linearBuckets"></a>
|
||||
<tr>
|
||||
<td><code>linearBuckets</code></td>
|
||||
<td><a href="#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Linear">Linear</a> (oneof )</td>
|
||||
<td>The linear buckets.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.exponentialBuckets"></a>
|
||||
<tr>
|
||||
<td><code>exponentialBuckets</code></td>
|
||||
<td><a href="#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Exponential">Exponential</a> (oneof )</td>
|
||||
<td>The exponential buckets.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.explicitBuckets"></a>
|
||||
<tr>
|
||||
<td><code>explicitBuckets</code></td>
|
||||
<td><a href="#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Explicit">Explicit</a> (oneof )</td>
|
||||
<td>The explicit buckets.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Explicit"></a>
|
||||
### 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.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Explicit.bounds"></a>
|
||||
<tr>
|
||||
<td><code>bounds[]</code></td>
|
||||
<td>repeated double</td>
|
||||
<td>The values must be monotonically increasing.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Exponential"></a>
|
||||
### 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))`
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Exponential.numFiniteBuckets"></a>
|
||||
<tr>
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td>int32</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Exponential.growthFactor"></a>
|
||||
<tr>
|
||||
<td><code>growthFactor</code></td>
|
||||
<td>double</td>
|
||||
<td>Must be greater than 1.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Exponential.scale"></a>
|
||||
<tr>
|
||||
<td><code>scale</code></td>
|
||||
<td>double</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Linear"></a>
|
||||
### 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))`
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Linear.numFiniteBuckets"></a>
|
||||
<tr>
|
||||
<td><code>numFiniteBuckets</code></td>
|
||||
<td>int32</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Linear.width"></a>
|
||||
<tr>
|
||||
<td><code>width</code></td>
|
||||
<td>double</td>
|
||||
<td>Must be greater than 0.</td>
|
||||
</tr>
|
||||
<a name="adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Linear.offset"></a>
|
||||
<tr>
|
||||
<td><code>offset</code></td>
|
||||
<td>double</td>
|
||||
<td>Lower bound of the first bucket.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="rpcGoogle.api"></a>
|
||||
## Package google.api
|
||||
|
||||
<a name="rpcGoogle.apiIndex"></a>
|
||||
### Index
|
||||
|
||||
* [MetricDescriptor](#google.api.MetricDescriptor)
|
||||
(message)
|
||||
* [MetricDescriptor.MetricKind](#google.api.MetricDescriptor.MetricKind)
|
||||
(enum)
|
||||
* [MetricDescriptor.ValueType](#google.api.MetricDescriptor.ValueType)
|
||||
(enum)
|
||||
|
||||
<a name="google.api.MetricDescriptor"></a>
|
||||
### 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.__
|
||||
|
||||
<a name="google.api.MetricDescriptor.MetricKind"></a>
|
||||
### MetricKind
|
||||
The kind of measurement. It describes how the data is reported.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.MetricKind.METRICKINDUNSPECIFIED"></a>
|
||||
<tr>
|
||||
<td>METRICKINDUNSPECIFIED</td>
|
||||
<td>Do not use this default value.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.MetricKind.GAUGE"></a>
|
||||
<tr>
|
||||
<td>GAUGE</td>
|
||||
<td>An instantaneous measurement of a value.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.MetricKind.DELTA"></a>
|
||||
<tr>
|
||||
<td>DELTA</td>
|
||||
<td>The change in a value during a time interval.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.MetricKind.CUMULATIVE"></a>
|
||||
<tr>
|
||||
<td>CUMULATIVE</td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="google.api.MetricDescriptor.ValueType"></a>
|
||||
### ValueType
|
||||
The value type of a metric.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.ValueType.VALUETYPEUNSPECIFIED"></a>
|
||||
<tr>
|
||||
<td>VALUETYPEUNSPECIFIED</td>
|
||||
<td>Do not use this default value.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.ValueType.BOOL"></a>
|
||||
<tr>
|
||||
<td>BOOL</td>
|
||||
<td>The value is a boolean. This value type can be used only if the metric kind is <code>GAUGE</code>.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.ValueType.INT64"></a>
|
||||
<tr>
|
||||
<td>INT64</td>
|
||||
<td>The value is a signed 64-bit integer.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.ValueType.DOUBLE"></a>
|
||||
<tr>
|
||||
<td>DOUBLE</td>
|
||||
<td>The value is a double precision floating point number.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.ValueType.STRING"></a>
|
||||
<tr>
|
||||
<td>STRING</td>
|
||||
<td>The value is a text string. This value type can be used only if the metric kind is <code>GAUGE</code>.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.ValueType.DISTRIBUTION"></a>
|
||||
<tr>
|
||||
<td>DISTRIBUTION</td>
|
||||
<td>The value is a <code>Distribution</code>.</td>
|
||||
</tr>
|
||||
<a name="google.api.MetricDescriptor.ValueType.MONEY"></a>
|
||||
<tr>
|
||||
<td>MONEY</td>
|
||||
<td>The value is money.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
---
|
||||
title: StatsD
|
||||
overview: Adapter to deliver metrics to a StatsD backend
|
||||
location: https://istio.io/docs/reference/config/adapters/statsd.html
|
||||
layout: protoc-gen-docs
|
||||
number_of_entries: 3
|
||||
---
|
||||
{% raw %}
|
||||
<p>The <code>statsd</code> adapter enables Istio to deliver metric data to a
|
||||
<a href="https://github.com/etsy/statsd">StatsD</a> monitoring backend.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>statsd</code> adapter.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.address">
|
||||
<td><code>address</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Address of the statsd server, e.g. localhost:8125</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.prefix">
|
||||
<td><code>prefix</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Metric prefix, do not specify for no prefix</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.flush_duration">
|
||||
<td><code>flushDuration</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
<td>
|
||||
<p>FlushDuration controls the maximum amount of time between sending metrics to the statsd collection server.
|
||||
Metrics are reported when either flush<em>bytes is full or flush</em>duration time has elapsed since the last report.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.flush_bytes">
|
||||
<td><code>flushBytes</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.sampling_rate">
|
||||
<td><code>samplingRate</code></td>
|
||||
<td><code>float</code></td>
|
||||
<td>
|
||||
<p>Chance that any particular metric is sampled when incremented; can take the range [0, 1], defaults to 1 if unspecified.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.metrics">
|
||||
<td><code>metrics</code></td>
|
||||
<td><code>map<string, <a href="#Params.MetricInfo">Params.MetricInfo</a>></code></td>
|
||||
<td>
|
||||
<p>Map of metric name -> info. If a metric’s name is not in the map then the metric will not be exported to statsd.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo">Params.MetricInfo</h2>
|
||||
<section>
|
||||
<p>Describes how to represent this metric in statsd</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.type">
|
||||
<td><code>type</code></td>
|
||||
<td><code><a href="#Params.MetricInfo.Type">Params.MetricInfo.Type</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.name_template">
|
||||
<td><code>nameTemplate</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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 <code>action_name-response_code</code>.
|
||||
The template strings must conform to go’s text/template syntax. For the example of <code>action_name-response_code</code>,
|
||||
we use the template:
|
||||
<code>{{.apiMethod}}-{{.responseCode}}</code></p>
|
||||
|
||||
<p>If name_template is the empty string the Istio metric name will be used for statsd metric’s name.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.MetricInfo.Type">Params.MetricInfo.Type</h2>
|
||||
<section>
|
||||
<p>The type of metric.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.MetricInfo.Type.UNKNOWN">
|
||||
<td><code>UNKNOWN</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Type.COUNTER">
|
||||
<td><code>COUNTER</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Type.GAUGE">
|
||||
<td><code>GAUGE</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.MetricInfo.Type.DISTRIBUTION">
|
||||
<td><code>DISTRIBUTION</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
---
|
||||
title: statsd Config
|
||||
overview: Generated documentation for Mixer's statsd Adapter Configuration Schema
|
||||
|
||||
order: 60
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.statsd.configIndex"></a>
|
||||
### 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)
|
||||
|
||||
<a name="adapter.statsd.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.address"></a>
|
||||
<tr>
|
||||
<td><code>address</code></td>
|
||||
<td>string</td>
|
||||
<td>Address of the statsd server, e.g. localhost:8125</td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.prefix"></a>
|
||||
<tr>
|
||||
<td><code>prefix</code></td>
|
||||
<td>string</td>
|
||||
<td>Metric prefix, do not specify for no prefix</td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.flushDuration"></a>
|
||||
<tr>
|
||||
<td><code>flushDuration</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">Duration</a></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.flushBytes"></a>
|
||||
<tr>
|
||||
<td><code>flushBytes</code></td>
|
||||
<td>int32</td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.samplingRate"></a>
|
||||
<tr>
|
||||
<td><code>samplingRate</code></td>
|
||||
<td>float</td>
|
||||
<td>Chance that any particular metric is sampled when incremented; can take the range [0, 1], defaults to 1 if unspecified.</td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.metrics"></a>
|
||||
<tr>
|
||||
<td><code>metrics</code></td>
|
||||
<td>repeated map<string, <a href="#adapter.statsd.config.Params.MetricInfo">MetricInfo</a>></td>
|
||||
<td>Map of metric name -> info. If a metric's name is not in the map then the metric will not be exported to statsd.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.statsd.config.Params.MetricInfo"></a>
|
||||
### MetricInfo
|
||||
Describes how to represent this metric in statsd
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.MetricInfo.type"></a>
|
||||
<tr>
|
||||
<td><code>type</code></td>
|
||||
<td><a href="#adapter.statsd.config.Params.MetricInfo.Type">Type</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.MetricInfo.nameTemplate"></a>
|
||||
<tr>
|
||||
<td><code>nameTemplate</code></td>
|
||||
<td>string</td>
|
||||
<td><p>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 <code>actionName-responseCode</code>. The template strings must conform to go's text/template syntax. For the example of <code>actionName-responseCode</code>, we use the template: <code>\{\{.apiMethod\}\}-\{\{.responseCode\}\}</code></p><p>If nameTemplate is the empty string the Istio metric name will be used for statsd metric's name.</p></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.statsd.config.Params.MetricInfo.Type"></a>
|
||||
### Type
|
||||
The type of metric.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.MetricInfo.Type.UNKNOWN"></a>
|
||||
<tr>
|
||||
<td>UNKNOWN</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.MetricInfo.Type.COUNTER"></a>
|
||||
<tr>
|
||||
<td>COUNTER</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.MetricInfo.Type.GAUGE"></a>
|
||||
<tr>
|
||||
<td>GAUGE</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.statsd.config.Params.MetricInfo.Type.DISTRIBUTION"></a>
|
||||
<tr>
|
||||
<td>DISTRIBUTION</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>stdio</code> 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.</p>
|
||||
|
||||
<h2 id="Params">Params</h2>
|
||||
<section>
|
||||
<p>Configuration format for the <code>stdio</code> adapter</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.log_stream">
|
||||
<td><code>logStream</code></td>
|
||||
<td><code><a href="#Params.Stream">Params.Stream</a></code></td>
|
||||
<td>
|
||||
<p>Selects which standard stream to write to for log entries.
|
||||
STDERR is the default Stream.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.severity_levels">
|
||||
<td><code>severityLevels</code></td>
|
||||
<td><code>map<string, <a href="#Params.Level">Params.Level</a>></code></td>
|
||||
<td>
|
||||
<p>Maps from severity strings as specified in LogEntry instances to
|
||||
the set of levels supported by this adapter. This defaults to a map of</p>
|
||||
|
||||
<pre><code>"INFORMATIONAL" : INFO,
|
||||
"informational" : INFO,
|
||||
"INFO" : INFO,
|
||||
"info" : INFO,
|
||||
"WARNING" : WARNING,
|
||||
"warning" : WARNING,
|
||||
"WARN": WARNING,
|
||||
"warning": WARNING,
|
||||
"ERROR": ERROR,
|
||||
"error": ERROR,
|
||||
"ERR": ERROR,
|
||||
"err": ERROR,
|
||||
"FATAL": ERROR,
|
||||
"fatal": ERROR,
|
||||
</code></pre>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.metric_level">
|
||||
<td><code>metricLevel</code></td>
|
||||
<td><code><a href="#Params.Level">Params.Level</a></code></td>
|
||||
<td>
|
||||
<p>The level to assign to metrics being output. Defaults to INFO.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.output_as_json">
|
||||
<td><code>outputAsJson</code></td>
|
||||
<td><code>bool</code></td>
|
||||
<td>
|
||||
<p>Whether to output a console-friendly or json-friendly format. Defaults to true.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.output_level">
|
||||
<td><code>outputLevel</code></td>
|
||||
<td><code><a href="#Params.Level">Params.Level</a></code></td>
|
||||
<td>
|
||||
<p>The minimum level to output, anything less than this level is ignored. Defaults to INFO (everything).</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.output_path">
|
||||
<td><code>outputPath</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The file system path when outputting to a file or rotating file.</p>
|
||||
|
||||
<p>When using rotated log files, this path is used as a foundational path. This is where log
|
||||
output is normally saved. When a rotation needs to take place because the file got too big
|
||||
or too old, then the file is renamed by appending a timestamp to the name. Such renamed
|
||||
files are called backups. Once a backup has been created, output resumes to this path.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.max_megabytes_before_rotation">
|
||||
<td><code>maxMegabytesBeforeRotation</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>The maximum size in megabytes of a log file before it gets
|
||||
rotated. It defaults to 100 megabytes.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.max_days_before_rotation">
|
||||
<td><code>maxDaysBeforeRotation</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>The maximum number of days to retain old rotated log files based on the
|
||||
timestamp encoded in their filename. Note that a day is defined as 24
|
||||
hours and may not exactly correspond to calendar days due to daylight
|
||||
savings, leap seconds, etc. The default is to remove log files
|
||||
older than 30 days. 0 indicates no limit.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.max_rotated_files">
|
||||
<td><code>maxRotatedFiles</code></td>
|
||||
<td><code>int32</code></td>
|
||||
<td>
|
||||
<p>The maximum number of old rotated log files to retain. The default
|
||||
is to retain at most 1000 logs. 0 indicates no limit.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.Level">Params.Level</h2>
|
||||
<section>
|
||||
<p>Importance level for individual items output by this adapter.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.Level.INFO">
|
||||
<td><code>INFO</code></td>
|
||||
<td>
|
||||
<p>informational, warning, and error log messages are included</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Level.WARNING">
|
||||
<td><code>WARNING</code></td>
|
||||
<td>
|
||||
<p>warning and error log messges are included</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Level.ERROR">
|
||||
<td><code>ERROR</code></td>
|
||||
<td>
|
||||
<p>only error log messages are included</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Params.Stream">Params.Stream</h2>
|
||||
<section>
|
||||
<p>Stream is used to select between different log output sinks.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Params.Stream.STDOUT">
|
||||
<td><code>STDOUT</code></td>
|
||||
<td>
|
||||
<p>Output to the Mixer process’ standard output stream. This is the default value.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Stream.STDERR">
|
||||
<td><code>STDERR</code></td>
|
||||
<td>
|
||||
<p>Output to the Mixer process’ standard error stream.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Stream.FILE">
|
||||
<td><code>FILE</code></td>
|
||||
<td>
|
||||
<p>Output to a specific file.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Params.Stream.ROTATED_FILE">
|
||||
<td><code>ROTATED_FILE</code></td>
|
||||
<td>
|
||||
<p>Output to a specific rotating file, controlled by the various file rotation options.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
---
|
||||
title: stdio Config
|
||||
overview: Generated documentation for Mixer's stdio Adapter Configuration Schema
|
||||
|
||||
order: 70
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.stdio.configIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Params](#adapter.stdio.config.Params)
|
||||
(message)
|
||||
* [Params.Level](#adapter.stdio.config.Params.Level)
|
||||
(enum)
|
||||
* [Params.Stream](#adapter.stdio.config.Params.Stream)
|
||||
(enum)
|
||||
|
||||
<a name="adapter.stdio.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.logStream"></a>
|
||||
<tr>
|
||||
<td><code>logStream</code></td>
|
||||
<td><a href="#adapter.stdio.config.Params.Stream">Stream</a></td>
|
||||
<td>Selects which standard stream to write to for log entries. STDERR is the default Stream.</td>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.severityLevels"></a>
|
||||
<tr>
|
||||
<td><code>severityLevels</code></td>
|
||||
<td>repeated map<string, <a href="#adapter.stdio.config.Params.Level">Level</a>></td>
|
||||
<td>Maps from severity strings as specified in LogEntry instances to the set of levels supported by this adapter.</td>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.metricLevel"></a>
|
||||
<tr>
|
||||
<td><code>metricLevel</code></td>
|
||||
<td><a href="#adapter.stdio.config.Params.Level">Level</a></td>
|
||||
<td>The level to assign to metrics being output.</td>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.outputAsJson"></a>
|
||||
<tr>
|
||||
<td><code>outputAsJson</code></td>
|
||||
<td>bool</td>
|
||||
<td>Whether to output a console-friendly or json-friendly format</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stdio.config.Params.Level"></a>
|
||||
### Level
|
||||
Importance level for individual items output by this adapter.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.Level.INFO"></a>
|
||||
<tr>
|
||||
<td>INFO</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.Level.WARNING"></a>
|
||||
<tr>
|
||||
<td>WARNING</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.Level.ERROR"></a>
|
||||
<tr>
|
||||
<td>ERROR</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<a name="adapter.stdio.config.Params.Stream"></a>
|
||||
### Stream
|
||||
Stream is used to select between different log output sinks.
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Value</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.Stream.STDOUT"></a>
|
||||
<tr>
|
||||
<td>STDOUT</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<a name="adapter.stdio.config.Params.Stream.STDERR"></a>
|
||||
<tr>
|
||||
<td>STDERR</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
---
|
||||
title: svcctrl Config
|
||||
overview: Generated documentation for Mixer's svcctrl Adapter Configuration Schema
|
||||
|
||||
order: 80
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcAdapter.svcctrl.configIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Params](#adapter.svcctrl.config.Params)
|
||||
(message)
|
||||
|
||||
<a name="adapter.svcctrl.config.Params"></a>
|
||||
### Params
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="adapter.svcctrl.config.Params.serviceName"></a>
|
||||
<tr>
|
||||
<td><code>serviceName</code></td>
|
||||
<td>string</td>
|
||||
<td>Fully qualified GCP service name.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -4,9 +4,10 @@ overview: Configuration affecting the service mesh as a whole
|
|||
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
|
||||
---
|
||||
<h2 id="Enumerations">Enumerations</h2>
|
||||
<h3 id="AuthenticationPolicy">AuthenticationPolicy</h3>
|
||||
{% raw %}
|
||||
<h2 id="AuthenticationPolicy">AuthenticationPolicy</h2>
|
||||
<section>
|
||||
<p>AuthenticationPolicy defines authentication policy. It can be set for
|
||||
different scopes (mesh, service …), and the most narrow scope with
|
||||
|
|
@ -14,10 +15,13 @@ non-INHERIT value will be used.
|
|||
Mesh policy cannot be INHERIT.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="AuthenticationPolicy.NONE">
|
||||
<td><code>NONE</code></td>
|
||||
<td>
|
||||
|
|
@ -40,83 +44,23 @@ policy.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="MeshConfig.AuthPolicy">MeshConfig.AuthPolicy</h3>
|
||||
<section>
|
||||
<p>TODO AuthPolicy needs to be removed and merged with AuthPolicy defined above</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr id="MeshConfig.AuthPolicy.NONE">
|
||||
<td><code>NONE</code></td>
|
||||
<td>
|
||||
<p>Do not encrypt Envoy to Envoy traffic.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="MeshConfig.AuthPolicy.MUTUAL_TLS">
|
||||
<td><code>MUTUAL_TLS</code></td>
|
||||
<td>
|
||||
<p>Envoy to Envoy traffic is wrapped into mutual TLS connections.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="MeshConfig.IngressControllerMode">MeshConfig.IngressControllerMode</h3>
|
||||
<section>
|
||||
<table class="enum-values">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr id="MeshConfig.IngressControllerMode.OFF">
|
||||
<td><code>OFF</code></td>
|
||||
<td>
|
||||
<p>Disables Istio ingress controller.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="MeshConfig.IngressControllerMode.DEFAULT">
|
||||
<td><code>DEFAULT</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="MeshConfig.IngressControllerMode.STRICT">
|
||||
<td><code>STRICT</code></td>
|
||||
<td>
|
||||
<p>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).</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Messages">Messages</h2>
|
||||
<h3 id="MeshConfig">MeshConfig</h3>
|
||||
<h2 id="MeshConfig">MeshConfig</h2>
|
||||
<section>
|
||||
<p>MeshConfig defines mesh-wide variables shared by all Envoy instances in the
|
||||
Istio service mesh.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="MeshConfig.egress_proxy_address">
|
||||
<td><code>egressProxyAddress</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -256,18 +200,93 @@ Instead, use service-level annotations to overwrite the authentication policy.</
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="ProxyConfig">ProxyConfig</h3>
|
||||
<h2 id="MeshConfig.AuthPolicy">MeshConfig.AuthPolicy</h2>
|
||||
<section>
|
||||
<p>TODO AuthPolicy needs to be removed and merged with AuthPolicy defined above</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="MeshConfig.AuthPolicy.NONE">
|
||||
<td><code>NONE</code></td>
|
||||
<td>
|
||||
<p>Do not encrypt Envoy to Envoy traffic.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="MeshConfig.AuthPolicy.MUTUAL_TLS">
|
||||
<td><code>MUTUAL_TLS</code></td>
|
||||
<td>
|
||||
<p>Envoy to Envoy traffic is wrapped into mutual TLS connections.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="MeshConfig.IngressControllerMode">MeshConfig.IngressControllerMode</h2>
|
||||
<section>
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="MeshConfig.IngressControllerMode.OFF">
|
||||
<td><code>OFF</code></td>
|
||||
<td>
|
||||
<p>Disables Istio ingress controller.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="MeshConfig.IngressControllerMode.DEFAULT">
|
||||
<td><code>DEFAULT</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="MeshConfig.IngressControllerMode.STRICT">
|
||||
<td><code>STRICT</code></td>
|
||||
<td>
|
||||
<p>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).</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="ProxyConfig">ProxyConfig</h2>
|
||||
<section>
|
||||
<p>ProxyConfig defines variables for individual Envoy instances.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ProxyConfig.config_path">
|
||||
<td><code>configPath</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -420,5 +439,7 @@ Increase the value of this field if you find that the metrics from Envoys are tr
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -3,33 +3,10 @@ title: Mixer Client
|
|||
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
|
||||
---
|
||||
<h2 id="Enumerations">Enumerations</h2>
|
||||
<h3 id="TransportConfig.NetworkFailPolicy">TransportConfig.NetworkFailPolicy</h3>
|
||||
<section>
|
||||
<table class="enum-values">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr id="TransportConfig.NetworkFailPolicy.FAIL_OPEN">
|
||||
<td><code>FAIL_OPEN</code></td>
|
||||
<td>
|
||||
<p>If network fails, request is passed to the backend.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="TransportConfig.NetworkFailPolicy.FAIL_CLOSE">
|
||||
<td><code>FAIL_CLOSE</code></td>
|
||||
<td>
|
||||
<p>If network fails, request is rejected.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Messages">Messages</h2>
|
||||
<h3 id="APIKey">APIKey</h3>
|
||||
{% raw %}
|
||||
<h2 id="APIKey">APIKey</h2>
|
||||
<section>
|
||||
<p>APIKey defines the explicit configuration for generating the
|
||||
<code>request.api_key</code> attribute from HTTP requests.</p>
|
||||
|
|
@ -38,11 +15,14 @@ layout: protoc-gen-docs
|
|||
for a general overview of API keys as defined by OpenAPI.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="APIKey.query" class="oneof oneof-start">
|
||||
<td><code>query</code></td>
|
||||
<td><code>string (oneof)</code></td>
|
||||
|
|
@ -90,18 +70,22 @@ Cookie: X-API-KEY=abcdef12345
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="AttributeMatch">AttributeMatch</h3>
|
||||
<h2 id="AttributeMatch">AttributeMatch</h2>
|
||||
<section>
|
||||
<p>Specifies a match clause to match Istio attributes</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="AttributeMatch.clause">
|
||||
<td><code>clause</code></td>
|
||||
<td><code>map<string, <a href="#StringMatch">StringMatch</a>></code></td>
|
||||
|
|
@ -119,18 +103,22 @@ Each map element specifies one condition to match.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="EndUserAuthenticationPolicySpec">EndUserAuthenticationPolicySpec</h3>
|
||||
<h2 id="EndUserAuthenticationPolicySpec">EndUserAuthenticationPolicySpec</h2>
|
||||
<section>
|
||||
<p>Determines how to apply auth policies for individual requests.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="EndUserAuthenticationPolicySpec.jwts">
|
||||
<td><code>jwts</code></td>
|
||||
<td><code><a href="#JWT">JWT[]</a></code></td>
|
||||
|
|
@ -161,19 +149,23 @@ include a JWT.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="EndUserAuthenticationPolicySpecBinding">EndUserAuthenticationPolicySpecBinding</h3>
|
||||
<h2 id="EndUserAuthenticationPolicySpecBinding">EndUserAuthenticationPolicySpecBinding</h2>
|
||||
<section>
|
||||
<p>EndUserAuthenticationPolicySpecBinding defines the binding between
|
||||
EndUserAuthenticationPolicySpecs and one or more IstioService.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="EndUserAuthenticationPolicySpecBinding.services">
|
||||
<td><code>services</code></td>
|
||||
<td><code><a href="#IstioService">IstioService[]</a></code></td>
|
||||
|
|
@ -192,16 +184,20 @@ that should be mapped to the specified service(s).</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="EndUserAuthenticationPolicySpecReference">EndUserAuthenticationPolicySpecReference</h3>
|
||||
<h2 id="EndUserAuthenticationPolicySpecReference">EndUserAuthenticationPolicySpecReference</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="EndUserAuthenticationPolicySpecReference.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -222,9 +218,10 @@ metadata namespace field.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPAPISpec">HTTPAPISpec</h3>
|
||||
<h2 id="HTTPAPISpec">HTTPAPISpec</h2>
|
||||
<section>
|
||||
<p>HTTPAPISpec defines the canonical configuration for generating
|
||||
API-related attributes from HTTP requests based on the method and
|
||||
|
|
@ -271,14 +268,17 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPAPISpec.attributes">
|
||||
<td><code>attributes</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/api/istio.mixer.v1.html#Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td><code><a href="#istio.mixer.v1.Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td>
|
||||
<p>List of attributes that are generated when <em>any</em> of the HTTP
|
||||
patterns match. This list typically includes the “api.service”
|
||||
|
|
@ -310,9 +310,10 @@ i.e. ‘OR’ semantics.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPAPISpecBinding">HTTPAPISpecBinding</h3>
|
||||
<h2 id="HTTPAPISpecBinding">HTTPAPISpecBinding</h2>
|
||||
<section>
|
||||
<p>HTTPAPISpecBinding defines the binding between HTTPAPISpecs and one or more
|
||||
IstioService. For example, the following establishes a binding
|
||||
|
|
@ -333,11 +334,14 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPAPISpecBinding.services">
|
||||
<td><code>services</code></td>
|
||||
<td><code><a href="#IstioService">IstioService[]</a></code></td>
|
||||
|
|
@ -356,9 +360,10 @@ conditions defined in the HTTPAPISpecs should not overlap.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPAPISpecPattern">HTTPAPISpecPattern</h3>
|
||||
<h2 id="HTTPAPISpecPattern">HTTPAPISpecPattern</h2>
|
||||
<section>
|
||||
<p>HTTPAPISpecPattern defines a single pattern to match against
|
||||
incoming HTTP requests. The per-pattern list of attributes is
|
||||
|
|
@ -374,14 +379,17 @@ generated.</p>
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPAPISpecPattern.attributes">
|
||||
<td><code>attributes</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/api/istio.mixer.v1.html#Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td><code><a href="#istio.mixer.v1.Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td>
|
||||
<p>List of attributes that are generated if the HTTP request matches
|
||||
the specified http<em>method and uri</em>template. This typically
|
||||
|
|
@ -430,9 +438,10 @@ example,</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPAPISpecReference">HTTPAPISpecReference</h3>
|
||||
<h2 id="HTTPAPISpecReference">HTTPAPISpecReference</h2>
|
||||
<section>
|
||||
<p>HTTPAPISpecReference defines a reference to an HTTPAPISpec. This is
|
||||
typically used for establishing bindings between an HTTPAPISpec and an
|
||||
|
|
@ -444,11 +453,14 @@ HTTPAPISpecReference for service <code>foo</code> in namespace <code>bar</code>.
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPAPISpecReference.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -467,18 +479,22 @@ HTTPAPISpecBinding’s metadata namespace field.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HttpClientConfig">HttpClientConfig</h3>
|
||||
<h2 id="HttpClientConfig">HttpClientConfig</h2>
|
||||
<section>
|
||||
<p>Defines the client config for HTTP.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HttpClientConfig.transport">
|
||||
<td><code>transport</code></td>
|
||||
<td><code><a href="#TransportConfig">TransportConfig</a></code></td>
|
||||
|
|
@ -508,7 +524,7 @@ client request.</p>
|
|||
</tr>
|
||||
<tr id="HttpClientConfig.mixer_attributes">
|
||||
<td><code>mixerAttributes</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/api/istio.mixer.v1.html#Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td><code><a href="#istio.mixer.v1.Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td>
|
||||
<p>Default attributes to send to Mixer in both Check and
|
||||
Report. This typically includes “destination.ip” and
|
||||
|
|
@ -518,27 +534,31 @@ Report. This typically includes “destination.ip” and
|
|||
</tr>
|
||||
<tr id="HttpClientConfig.forward_attributes">
|
||||
<td><code>forwardAttributes</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/api/istio.mixer.v1.html#Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td><code><a href="#istio.mixer.v1.Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td>
|
||||
<p>Default attributes to forward to upstream. This typically
|
||||
includes the “source.ip” and “source.uid” attributes.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="IstioService">IstioService</h3>
|
||||
<h2 id="IstioService">IstioService</h2>
|
||||
<section>
|
||||
<p>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”).</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="IstioService.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -581,9 +601,10 @@ The FQDN of the service is composed from the name, namespace, and implementation
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="JWT">JWT</h3>
|
||||
<h2 id="JWT">JWT</h2>
|
||||
<section>
|
||||
<p>JSON Web Token (JWT) token format for authentication as defined by
|
||||
https://tools.ietf.org/html/rfc7519. See <a href="https://tools.ietf.org/html/rfc6749">OAuth
|
||||
|
|
@ -601,11 +622,14 @@ jwks_uri: https://example.com/.well-known/jwks.json
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="JWT.issuer">
|
||||
<td><code>issuer</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -689,9 +713,10 @@ It is the cluster name in the Envoy config for the jwks_uri.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="JWT.Location">JWT.Location</h3>
|
||||
<h2 id="JWT.Location">JWT.Location</h2>
|
||||
<section>
|
||||
<p>Defines where to extract the JWT from an HTTP request.</p>
|
||||
|
||||
|
|
@ -707,11 +732,14 @@ https://tools.ietf.org/html/rfc6750#section-2.3)
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="JWT.Location.header" class="oneof oneof-start">
|
||||
<td><code>header</code></td>
|
||||
<td><code>string (oneof)</code></td>
|
||||
|
|
@ -735,18 +763,22 @@ query parameter name.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="Quota">Quota</h3>
|
||||
<h2 id="Quota">Quota</h2>
|
||||
<section>
|
||||
<p>Specifies a quota to use with quota name and amount.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Quota.quota">
|
||||
<td><code>quota</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -763,19 +795,23 @@ query parameter name.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="QuotaRule">QuotaRule</h3>
|
||||
<h2 id="QuotaRule">QuotaRule</h2>
|
||||
<section>
|
||||
<p>Specifies a rule with list of matches and list of quotas.
|
||||
If any clause matched, the list of quotas will be used.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="QuotaRule.match">
|
||||
<td><code>match</code></td>
|
||||
<td><code><a href="#AttributeMatch">AttributeMatch[]</a></code></td>
|
||||
|
|
@ -793,18 +829,22 @@ If any of match is true, it is matched.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="QuotaSpec">QuotaSpec</h3>
|
||||
<h2 id="QuotaSpec">QuotaSpec</h2>
|
||||
<section>
|
||||
<p>Determines the quotas used for individual requests.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="QuotaSpec.rules">
|
||||
<td><code>rules</code></td>
|
||||
<td><code><a href="#QuotaRule">QuotaRule[]</a></code></td>
|
||||
|
|
@ -813,19 +853,23 @@ If any of match is true, it is matched.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="QuotaSpecBinding">QuotaSpecBinding</h3>
|
||||
<h2 id="QuotaSpecBinding">QuotaSpecBinding</h2>
|
||||
<section>
|
||||
<p>QuotaSpecBinding defines the binding between QuotaSpecs and one or more
|
||||
IstioService.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="QuotaSpecBinding.services">
|
||||
<td><code>services</code></td>
|
||||
<td><code><a href="#IstioService">IstioService[]</a></code></td>
|
||||
|
|
@ -844,16 +888,20 @@ conditions defined in the QuotaSpecs should not overlap.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="QuotaSpecBinding.QuotaSpecReference">QuotaSpecBinding.QuotaSpecReference</h3>
|
||||
<h2 id="QuotaSpecBinding.QuotaSpecReference">QuotaSpecBinding.QuotaSpecReference</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="QuotaSpecBinding.QuotaSpecReference.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -872,18 +920,22 @@ metadata namespace field.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="ServiceConfig">ServiceConfig</h3>
|
||||
<h2 id="ServiceConfig">ServiceConfig</h2>
|
||||
<section>
|
||||
<p>Defines the per-service client configuration.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ServiceConfig.disable_check_calls">
|
||||
<td><code>disableCheckCalls</code></td>
|
||||
<td><code>bool</code></td>
|
||||
|
|
@ -902,7 +954,7 @@ metadata namespace field.</p>
|
|||
</tr>
|
||||
<tr id="ServiceConfig.mixer_attributes">
|
||||
<td><code>mixerAttributes</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/api/istio.mixer.v1.html#Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td><code><a href="#istio.mixer.v1.Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td>
|
||||
<p>Send these attributes to Mixer in both Check and Report. This
|
||||
typically includes the “destination.service” attribute.</p>
|
||||
|
|
@ -933,19 +985,23 @@ typically includes the “destination.service” attribute.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="StringMatch">StringMatch</h3>
|
||||
<h2 id="StringMatch">StringMatch</h2>
|
||||
<section>
|
||||
<p>Describes how to match a given string in HTTP headers. Match is
|
||||
case-sensitive.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="StringMatch.exact" class="oneof oneof-start">
|
||||
<td><code>exact</code></td>
|
||||
<td><code>string (oneof)</code></td>
|
||||
|
|
@ -970,18 +1026,22 @@ case-sensitive.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="TcpClientConfig">TcpClientConfig</h3>
|
||||
<h2 id="TcpClientConfig">TcpClientConfig</h2>
|
||||
<section>
|
||||
<p>Defines the client config for TCP.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="TcpClientConfig.transport">
|
||||
<td><code>transport</code></td>
|
||||
<td><code><a href="#TransportConfig">TransportConfig</a></code></td>
|
||||
|
|
@ -992,7 +1052,7 @@ case-sensitive.</p>
|
|||
</tr>
|
||||
<tr id="TcpClientConfig.mixer_attributes">
|
||||
<td><code>mixerAttributes</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/api/istio.mixer.v1.html#Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td><code><a href="#istio.mixer.v1.Attributes">istio.mixer.v1.Attributes</a></code></td>
|
||||
<td>
|
||||
<p>Default attributes to send to Mixer in both Check and
|
||||
Report. This typically includes “destination.ip” and
|
||||
|
|
@ -1035,18 +1095,22 @@ should not be less than 1 second, otherwise it will be reset to 1 second.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="TransportConfig">TransportConfig</h3>
|
||||
<h2 id="TransportConfig">TransportConfig</h2>
|
||||
<section>
|
||||
<p>Defines the transport config on how to call Mixer.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="TransportConfig.disable_check_cache">
|
||||
<td><code>disableCheckCache</code></td>
|
||||
<td><code>bool</code></td>
|
||||
|
|
@ -1088,5 +1152,121 @@ memory. If not specified, the interval is 10 seconds.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="TransportConfig.check_cluster">
|
||||
<td><code>checkCluster</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Name of the cluster that will forward check calls to a pool of mixer
|
||||
servers. Defaults to “mixer_server”. By using different names for
|
||||
checkCluster and reportCluster, it is possible to have one set of
|
||||
mixer servers handle check calls, while another set of mixer servers
|
||||
handle report calls.</p>
|
||||
|
||||
<p>NOTE: Any value other than the default “mixer_server” will require the
|
||||
Istio Grafana dashboards to be reconfigured to use the new name.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="TransportConfig.report_cluster">
|
||||
<td><code>reportCluster</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Name of the cluster that will forward report calls to a pool of mixer
|
||||
servers. Defaults to “mixer_server”. By using different names for
|
||||
checkCluster and reportCluster, it is possible to have one set of
|
||||
mixer servers handle check calls, while another set of mixer servers
|
||||
handle report calls.</p>
|
||||
|
||||
<p>NOTE: Any value other than the default “mixer_server” will require the
|
||||
Istio Grafana dashboards to be reconfigured to use the new name.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="TransportConfig.NetworkFailPolicy">TransportConfig.NetworkFailPolicy</h2>
|
||||
<section>
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="TransportConfig.NetworkFailPolicy.FAIL_OPEN">
|
||||
<td><code>FAIL_OPEN</code></td>
|
||||
<td>
|
||||
<p>If network fails, request is passed to the backend.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="TransportConfig.NetworkFailPolicy.FAIL_CLOSE">
|
||||
<td><code>FAIL_CLOSE</code></td>
|
||||
<td>
|
||||
<p>If network fails, request is rejected.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="istio.mixer.v1.Attributes">istio.mixer.v1.Attributes</h2>
|
||||
<section>
|
||||
<p>Attributes represents a set of typed name/value pairs. Many of Mixer’s
|
||||
API either consume and/or return attributes.</p>
|
||||
|
||||
<p>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:</p>
|
||||
|
||||
<pre><code>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
|
||||
</code></pre>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<p>The common baseline set of attributes available in most Istio deployments is defined
|
||||
<a href="https://istio.io/docs/reference/config/mixer/attribute-vocabulary.html">here</a>.</p>
|
||||
|
||||
<p>Attributes are strongly typed. The supported attribute types are defined by
|
||||
<a href="https://github.com/istio/api/blob/master/mixer/v1/config/descriptor/value_type.proto">ValueType</a>.
|
||||
Each type of value is encoded into one of the so-called transport types present
|
||||
in this message.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="istio.mixer.v1.Attributes.attributes">
|
||||
<td><code>attributes</code></td>
|
||||
<td><code>map<string, <a href="#istio.mixer.v1.Attributes.AttributeValue">istio.mixer.v1.Attributes.AttributeValue</a>></code></td>
|
||||
<td>
|
||||
<p>A map of attribute name to its value.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@ overview: Describes the rules used to configure Mixer's policy and telemetry fea
|
|||
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 %}
|
||||
<h2 id="Action">Action</h2>
|
||||
<section>
|
||||
<p>Action describes which <a href="#Handler">Handler</a> to invoke and what data to pass to it for processing.</p>
|
||||
|
|
@ -12,18 +14,20 @@ redirect_from: /docs/reference/config/mixer/policy-and-telemetry-rules.html
|
|||
<p>The following example instructs Mixer to invoke ‘prometheus-handler’ handler and pass it the object
|
||||
constructed using the instance ‘RequestCountByService’</p>
|
||||
|
||||
<p><code>yaml
|
||||
handler: prometheus-handler
|
||||
<pre><code class="language-yaml"> handler: prometheus-handler
|
||||
instances:
|
||||
- RequestCountByService
|
||||
</code></p>
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Action.handler">
|
||||
<td><code>handler</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -44,6 +48,7 @@ The constructed objects are then passed to the <code>handler</code> referenced w
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="AttributeManifest">AttributeManifest</h2>
|
||||
|
|
@ -52,11 +57,14 @@ The constructed objects are then passed to the <code>handler</code> referenced w
|
|||
of an Istio deployment.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="AttributeManifest.revision">
|
||||
<td><code>revision</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -96,6 +104,7 @@ request.count-my.component</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="AttributeManifest.AttributeInfo">AttributeManifest.AttributeInfo</h2>
|
||||
|
|
@ -143,11 +152,14 @@ attribute name and value becomes the HTTP header name and value. The actual
|
|||
encoding scheme will be decided later.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="AttributeManifest.AttributeInfo.description">
|
||||
<td><code>description</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -164,6 +176,7 @@ encoding scheme will be decided later.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Handler">Handler</h2>
|
||||
|
|
@ -174,18 +187,20 @@ Each adapter implementation defines its own <code>params</code> proto.</p>
|
|||
<p>In the following example we define a <code>metrics</code> handler using the Mixer’s prepackaged
|
||||
prometheus adapter. This handler doesn’t require any parameters.</p>
|
||||
|
||||
<p><code>yaml
|
||||
name: prometheus-handler
|
||||
<pre><code class="language-yaml">name: prometheus-handler
|
||||
adapter: prometheus
|
||||
params:
|
||||
</code></p>
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Handler.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -213,6 +228,7 @@ proto defined by the adapter implementation; this varies depending on the value
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Instance">Instance</h2>
|
||||
|
|
@ -228,22 +244,24 @@ instances of the specified template at runtime.</p>
|
|||
Instances produced with this instance can be referenced by <a href="#Action">Actions</a> using name
|
||||
‘RequestCountByService’.</p>
|
||||
|
||||
<p><code>yaml
|
||||
- name: RequestCountByService
|
||||
<pre><code class="language-yaml">- name: RequestCountByService
|
||||
template: istio.mixer.adapter.metric.Metric
|
||||
params:
|
||||
value: 1
|
||||
dimensions:
|
||||
source: source.service
|
||||
destination_ip: destination.ip
|
||||
</code></p>
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Instance.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -273,6 +291,7 @@ proto defined by the template; this varies depending on the value of field <code
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Rule">Rule</h2>
|
||||
|
|
@ -283,20 +302,22 @@ selector is <code>true</code></p>
|
|||
<p>The following example instructs Mixer to invoke ‘prometheus-handler’ handler for all services and pass it the
|
||||
instance constructed using the ‘RequestCountByService’ instance.</p>
|
||||
|
||||
<p><code>yaml
|
||||
- match: destination.service == "*"
|
||||
<pre><code class="language-yaml">- match: destination.service == "*"
|
||||
actions:
|
||||
- handler: prometheus-handler
|
||||
instances:
|
||||
- RequestCountByService
|
||||
</code></p>
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Rule.match">
|
||||
<td><code>match</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -325,6 +346,7 @@ name starts with “ratings”</li>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="google.protobuf.Struct">google.protobuf.Struct</h2>
|
||||
|
|
@ -339,11 +361,14 @@ with the proto support for the language.</p>
|
|||
<p>The JSON representation for <code>Struct</code> is JSON object.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="google.protobuf.Struct.fields">
|
||||
<td><code>fields</code></td>
|
||||
<td><code>map<string, <a href="#google.protobuf.Value">google.protobuf.Value</a>></code></td>
|
||||
|
|
@ -352,5 +377,7 @@ with the proto support for the language.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ title: RBAC
|
|||
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 %}
|
||||
<p>Istio RBAC (Role Based Access Control) defines ServiceRole and ServiceRoleBinding
|
||||
objects.</p>
|
||||
|
||||
|
|
@ -93,11 +95,14 @@ spec:
|
|||
<p>AccessRule defines a permission to access a list of services.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="AccessRule.services">
|
||||
<td><code>services</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
|
|
@ -144,6 +149,7 @@ The above ServiceRole examples shows an example of constraint “version&rdq
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="AccessRule.Constraint">AccessRule.Constraint</h2>
|
||||
|
|
@ -153,11 +159,14 @@ one of the “properties” in the “action” part of the &ldq
|
|||
(https://github.com/istio/istio/blob/master/mixer/template/authorization/template.proto).</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="AccessRule.Constraint.key">
|
||||
<td><code>key</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -178,6 +187,7 @@ or “</em>alpha2” (suffix match).</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="RoleRef">RoleRef</h2>
|
||||
|
|
@ -185,11 +195,14 @@ or “</em>alpha2” (suffix match).</p>
|
|||
<p>RoleRef refers to a role object.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="RoleRef.kind">
|
||||
<td><code>kind</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -209,6 +222,7 @@ object.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="ServiceRole">ServiceRole</h2>
|
||||
|
|
@ -218,11 +232,14 @@ This represent the “Spec” part of the ServiceRole object. The name a
|
|||
of the ServiceRole is specified in “metadata” section of the ServiceRole object.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ServiceRole.rules">
|
||||
<td><code>rules</code></td>
|
||||
<td><code><a href="#AccessRule">AccessRule[]</a></code></td>
|
||||
|
|
@ -231,6 +248,7 @@ of the ServiceRole is specified in “metadata” section of the Service
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="ServiceRoleBinding">ServiceRoleBinding</h2>
|
||||
|
|
@ -241,11 +259,14 @@ of the ServiceRoleBinding is specified in “metadata” section of the
|
|||
object.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ServiceRoleBinding.subjects">
|
||||
<td><code>subjects</code></td>
|
||||
<td><code><a href="#Subject">Subject[]</a></code></td>
|
||||
|
|
@ -262,6 +283,7 @@ object.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Subject">Subject</h2>
|
||||
|
|
@ -272,11 +294,14 @@ the “properties” in the “subject” part of the “aut
|
|||
(https://github.com/istio/istio/blob/master/mixer/template/authorization/template.proto).</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Subject.user">
|
||||
<td><code>user</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -304,5 +329,7 @@ In the above ServiceRoleBinding example, the second subject has two properties:
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@ overview: Configuration affecting traffic routing
|
|||
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 %}
|
||||
<p>Configuration affecting traffic routing. Here are a few terms useful to define
|
||||
in the context of routing rules.</p>
|
||||
|
||||
|
|
@ -35,45 +37,7 @@ without knowledge of individual service versions. The actual choice of
|
|||
the version is determined by Envoy, enabling the application code to
|
||||
decouple itself from the evolution of dependent services.</p>
|
||||
|
||||
<h2 id="Enumerations">Enumerations</h2>
|
||||
<h3 id="LoadBalancing.SimpleLBPolicy">LoadBalancing.SimpleLBPolicy</h3>
|
||||
<section>
|
||||
<p>Load balancing algorithms supported by Envoy.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr id="LoadBalancing.SimpleLBPolicy.ROUND_ROBIN">
|
||||
<td><code>ROUND_ROBIN</code></td>
|
||||
<td>
|
||||
<p>Simple round robin policy.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="LoadBalancing.SimpleLBPolicy.LEAST_CONN">
|
||||
<td><code>LEAST_CONN</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="LoadBalancing.SimpleLBPolicy.RANDOM">
|
||||
<td><code>RANDOM</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Messages">Messages</h2>
|
||||
<h3 id="CircuitBreaker">CircuitBreaker</h3>
|
||||
<h2 id="CircuitBreaker">CircuitBreaker</h2>
|
||||
<section>
|
||||
<p>Circuit breaker configuration for Envoy. The circuit breaker
|
||||
implementation is fine-grained in that it tracks the success/failure
|
||||
|
|
@ -86,11 +50,14 @@ and <a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/out
|
|||
for more details.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CircuitBreaker.simple_cb" class="oneof oneof-start">
|
||||
<td><code>simpleCb</code></td>
|
||||
<td><code><a href="#CircuitBreaker.SimpleCircuitBreakerPolicy">CircuitBreaker.SimpleCircuitBreakerPolicy (oneof)</a></code></td>
|
||||
|
|
@ -105,9 +72,10 @@ for more details.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CircuitBreaker.SimpleCircuitBreakerPolicy">CircuitBreaker.SimpleCircuitBreakerPolicy</h3>
|
||||
<h2 id="CircuitBreaker.SimpleCircuitBreakerPolicy">CircuitBreaker.SimpleCircuitBreakerPolicy</h2>
|
||||
<section>
|
||||
<p>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 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CircuitBreaker.SimpleCircuitBreakerPolicy.max_connections">
|
||||
<td><code>maxConnections</code></td>
|
||||
<td><code>int32</code></td>
|
||||
|
|
@ -235,9 +206,10 @@ cluster at a given time. Defaults to 3.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="CorsPolicy">CorsPolicy</h3>
|
||||
<h2 id="CorsPolicy">CorsPolicy</h2>
|
||||
<section>
|
||||
<p>Describes the Cross-Origin Resource Sharing (CORS) policy, for a given
|
||||
service. Refer to
|
||||
|
|
@ -270,11 +242,14 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="CorsPolicy.allow_origin">
|
||||
<td><code>allowOrigin</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
|
|
@ -331,9 +306,10 @@ Access-Control-Allow-Credentials header.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="DestinationPolicy">DestinationPolicy</h3>
|
||||
<h2 id="DestinationPolicy">DestinationPolicy</h2>
|
||||
<section>
|
||||
<p>DestinationPolicy defines client/caller-side policies that determine how
|
||||
to handle traffic bound to a particular destination service. The policy
|
||||
|
|
@ -384,11 +360,14 @@ destination policy defined, at least one route rule must refer to the
|
|||
service version indicated in the destination policy.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="DestinationPolicy.destination">
|
||||
<td><code>destination</code></td>
|
||||
<td><code><a href="#IstioService">IstioService</a></code></td>
|
||||
|
|
@ -431,9 +410,10 @@ with this policy.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="DestinationWeight">DestinationWeight</h3>
|
||||
<h2 id="DestinationWeight">DestinationWeight</h2>
|
||||
<section>
|
||||
<p>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 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="DestinationWeight.destination">
|
||||
<td><code>destination</code></td>
|
||||
<td><code><a href="#IstioService">IstioService</a></code></td>
|
||||
|
|
@ -494,16 +477,20 @@ specified.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="EgressRule">EgressRule</h3>
|
||||
<h2 id="EgressRule">EgressRule</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>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.</p>
|
||||
|
|
@ -523,25 +510,47 @@ spec:
|
|||
protocol: https
|
||||
</code></pre>
|
||||
|
||||
<p>The following egress rule describes the set of services accessed by a block of IPs</p>
|
||||
|
||||
<pre><code>kind: EgressRule
|
||||
metadata:
|
||||
name: bar-egress-rule
|
||||
spec:
|
||||
destination:
|
||||
service: 92.198.174.192/27
|
||||
ports:
|
||||
- port: 111
|
||||
protocol: tcp
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="EgressRule.destination">
|
||||
<td><code>destination</code></td>
|
||||
<td><code><a href="#IstioService">IstioService</a></code></td>
|
||||
<td>
|
||||
<p>REQUIRED: Hostname or a wildcard domain name associated with the external service.
|
||||
ONLY the “service” field of destination will be taken into consideration. Name,
|
||||
<p>REQUIRED: A domain name, optionally with a wildcard prefix, or an IP, or a block of IPs
|
||||
associated with the external service.
|
||||
ONLY the “service” field of “destination” will be taken into consideration. Name,
|
||||
namespace, domain and labels are ignored. Routing rules and destination policies that
|
||||
refer to these external services must have identical specification for the destination
|
||||
as the corresponding egress rule. Wildcard domain specifications must conform to format
|
||||
as the corresponding egress rule.</p>
|
||||
|
||||
<p>The “service” field of “destination” for HTTP-based services must be an IP or a domain name,
|
||||
optionally with a wildcard prefix. Wildcard domain specifications must conform to format
|
||||
allowed by Envoy’s Virtual Host specification, such as “<em>.foo.com” or “</em>-bar.foo.com”.
|
||||
The character ‘<em>’ in a domain specification indicates a non-empty string. Hence, a wildcard
|
||||
domain of form “</em>-bar.foo.com” will match “baz-bar.foo.com” but not “-bar.foo.com”.</p>
|
||||
|
||||
<p>The “service” field of “destination” for TCP services must be an IP or a block of IPs in CIDR notation.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="EgressRule.ports">
|
||||
|
|
@ -564,18 +573,22 @@ These dedicated egress nodes could then be more closely monitored for security v
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="EgressRule.Port">EgressRule.Port</h3>
|
||||
<h2 id="EgressRule.Port">EgressRule.Port</h2>
|
||||
<section>
|
||||
<p>Port describes the properties of a specific TCP port of an external service.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="EgressRule.Port.port">
|
||||
<td><code>port</code></td>
|
||||
<td><code>int32</code></td>
|
||||
|
|
@ -593,9 +606,10 @@ MUST BE one of HTTP|HTTPS|GRPC|HTTP2|TCP|MONGO.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPFaultInjection">HTTPFaultInjection</h3>
|
||||
<h2 id="HTTPFaultInjection">HTTPFaultInjection</h2>
|
||||
<section>
|
||||
<p>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 @@ proxying of requests. A fault rule MUST HAVE delay or abort or both.</p>
|
|||
both are specified simultaneously.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPFaultInjection.delay">
|
||||
<td><code>delay</code></td>
|
||||
<td><code><a href="#HTTPFaultInjection.Delay">HTTPFaultInjection.Delay</a></code></td>
|
||||
|
|
@ -630,9 +647,10 @@ service, giving the impression that the upstream service is faulty.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPFaultInjection.Abort">HTTPFaultInjection.Abort</h3>
|
||||
<h2 id="HTTPFaultInjection.Abort">HTTPFaultInjection.Abort</h2>
|
||||
<section>
|
||||
<p>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 @@ and 100, is used to only abort a certain percentage of requests. If
|
|||
not specified, all requests are aborted.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPFaultInjection.Abort.percent">
|
||||
<td><code>percent</code></td>
|
||||
<td><code>float</code></td>
|
||||
|
|
@ -700,9 +721,10 @@ TODO: The semantics and syntax of the headers is undefined. –)</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPFaultInjection.Delay">HTTPFaultInjection.Delay</h3>
|
||||
<h2 id="HTTPFaultInjection.Delay">HTTPFaultInjection.Delay</h2>
|
||||
<section>
|
||||
<p>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 @@ be used to only delay a certain percentage of requests. If left
|
|||
unspecified, all request will be delayed.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPFaultInjection.Delay.percent">
|
||||
<td><code>percent</code></td>
|
||||
<td><code>float</code></td>
|
||||
|
|
@ -769,9 +794,10 @@ TODO: The semantics and syntax of the headers is undefined. –)</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPRedirect">HTTPRedirect</h3>
|
||||
<h2 id="HTTPRedirect">HTTPRedirect</h2>
|
||||
<section>
|
||||
<p>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 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPRedirect.uri">
|
||||
<td><code>uri</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -819,9 +848,10 @@ this value</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPRetry">HTTPRetry</h3>
|
||||
<h2 id="HTTPRetry">HTTPRetry</h2>
|
||||
<section>
|
||||
<p>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 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPRetry.simple_retry" class="oneof oneof-start">
|
||||
<td><code>simpleRetry</code></td>
|
||||
<td><code><a href="#HTTPRetry.SimpleRetryPolicy">HTTPRetry.SimpleRetryPolicy (oneof)</a></code></td>
|
||||
|
|
@ -862,16 +895,20 @@ spec:
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPRetry.SimpleRetryPolicy">HTTPRetry.SimpleRetryPolicy</h3>
|
||||
<h2 id="HTTPRetry.SimpleRetryPolicy">HTTPRetry.SimpleRetryPolicy</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPRetry.SimpleRetryPolicy.attempts">
|
||||
<td><code>attempts</code></td>
|
||||
<td><code>int32</code></td>
|
||||
|
|
@ -899,9 +936,10 @@ Envoy, if Envoy supports such a feature. –)</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPRewrite">HTTPRewrite</h3>
|
||||
<h2 id="HTTPRewrite">HTTPRewrite</h2>
|
||||
<section>
|
||||
<p>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 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPRewrite.uri">
|
||||
<td><code>uri</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -951,9 +992,10 @@ provided in this field will replace the corresponding matched prefix.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPTimeout">HTTPTimeout</h3>
|
||||
<h2 id="HTTPTimeout">HTTPTimeout</h2>
|
||||
<section>
|
||||
<p>Describes HTTP request timeout. For example, the following rule sets a
|
||||
10 second timeout for calls to the ratings:v1 service</p>
|
||||
|
|
@ -973,11 +1015,14 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPTimeout.simple_timeout" class="oneof oneof-start">
|
||||
<td><code>simpleTimeout</code></td>
|
||||
<td><code><a href="#HTTPTimeout.SimpleTimeoutPolicy">HTTPTimeout.SimpleTimeoutPolicy (oneof)</a></code></td>
|
||||
|
|
@ -992,16 +1037,20 @@ spec:
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="HTTPTimeout.SimpleTimeoutPolicy">HTTPTimeout.SimpleTimeoutPolicy</h3>
|
||||
<h2 id="HTTPTimeout.SimpleTimeoutPolicy">HTTPTimeout.SimpleTimeoutPolicy</h2>
|
||||
<section>
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="HTTPTimeout.SimpleTimeoutPolicy.timeout">
|
||||
<td><code>timeout</code></td>
|
||||
<td><code><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration">google.protobuf.Duration</a></code></td>
|
||||
|
|
@ -1022,9 +1071,10 @@ Envoy, if Envoy supports such a feature. –)</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="IngressRule">IngressRule</h3>
|
||||
<h2 id="IngressRule">IngressRule</h2>
|
||||
<section>
|
||||
<p>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 @@ also effective.</p>
|
|||
<p>WARNING: This API is experimental and under active development</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="IngressRule.port">
|
||||
<td><code>port</code></td>
|
||||
<td><code>int32</code></td>
|
||||
|
|
@ -1109,20 +1162,24 @@ of the service and therefore the IstioService’s labels field MUST be empty
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="IstioService">IstioService</h3>
|
||||
<h2 id="IstioService">IstioService</h2>
|
||||
<section>
|
||||
<p>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”).</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="IstioService.name">
|
||||
<td><code>name</code></td>
|
||||
<td><code>string</code></td>
|
||||
|
|
@ -1165,9 +1222,10 @@ The FQDN of the service is composed from the name, namespace, and implementation
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="L4FaultInjection">L4FaultInjection</h3>
|
||||
<h2 id="L4FaultInjection">L4FaultInjection</h2>
|
||||
<section>
|
||||
<p>(– Faults can be injected into the connections from downstream by the
|
||||
Envoy, for testing the failure recovery capabilities of downstream
|
||||
|
|
@ -1179,11 +1237,14 @@ with the rate limiting policy enforcement provided by the Mixer
|
|||
component. L4 fault injection is not supported at the moment. –)</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="L4FaultInjection.throttle">
|
||||
<td><code>throttle</code></td>
|
||||
<td><code><a href="#L4FaultInjection.Throttle">L4FaultInjection.Throttle</a></code></td>
|
||||
|
|
@ -1202,19 +1263,23 @@ We first throttle (if set) and then terminate the connection.</p>
|
|||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="L4FaultInjection.Terminate">L4FaultInjection.Terminate</h3>
|
||||
<h2 id="L4FaultInjection.Terminate">L4FaultInjection.Terminate</h2>
|
||||
<section>
|
||||
<p>Abruptly reset (terminate) the Tcp connection after it has been
|
||||
established, emulating remote server crash or link failure.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="L4FaultInjection.Terminate.percent">
|
||||
<td><code>percent</code></td>
|
||||
<td><code>float</code></td>
|
||||
|
|
@ -1232,18 +1297,22 @@ express time interval related configs.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="L4FaultInjection.Throttle">L4FaultInjection.Throttle</h3>
|
||||
<h2 id="L4FaultInjection.Throttle">L4FaultInjection.Throttle</h2>
|
||||
<section>
|
||||
<p>Bandwidth throttling for Tcp and Udp connections</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="L4FaultInjection.Throttle.percent">
|
||||
<td><code>percent</code></td>
|
||||
<td><code>float</code></td>
|
||||
|
|
@ -1297,19 +1366,23 @@ will be throttled for its lifetime.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="L4MatchAttributes">L4MatchAttributes</h3>
|
||||
<h2 id="L4MatchAttributes">L4MatchAttributes</h2>
|
||||
<section>
|
||||
<p>(– L4 connection match attributes. Note that L4 connection matching
|
||||
support is incomplete. –)</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="L4MatchAttributes.source_subnet">
|
||||
<td><code>sourceSubnet</code></td>
|
||||
<td><code>string[]</code></td>
|
||||
|
|
@ -1329,9 +1402,10 @@ service has several IPs and the application explicitly specifies a particular IP
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="LoadBalancing">LoadBalancing</h3>
|
||||
<h2 id="LoadBalancing">LoadBalancing</h2>
|
||||
<section>
|
||||
<p>Load balancing policy to use when forwarding traffic. These policies
|
||||
directly correlate to <a href="https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/load_balancing">load balancer
|
||||
|
|
@ -1349,11 +1423,14 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="LoadBalancing.name" class="oneof oneof-start">
|
||||
<td><code>name</code></td>
|
||||
<td><code><a href="#LoadBalancing.SimpleLBPolicy">LoadBalancing.SimpleLBPolicy (oneof)</a></code></td>
|
||||
|
|
@ -1370,9 +1447,50 @@ spec:
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="MatchCondition">MatchCondition</h3>
|
||||
<h2 id="LoadBalancing.SimpleLBPolicy">LoadBalancing.SimpleLBPolicy</h2>
|
||||
<section>
|
||||
<p>Load balancing algorithms supported by Envoy.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="LoadBalancing.SimpleLBPolicy.ROUND_ROBIN">
|
||||
<td><code>ROUND_ROBIN</code></td>
|
||||
<td>
|
||||
<p>Simple round robin policy.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="LoadBalancing.SimpleLBPolicy.LEAST_CONN">
|
||||
<td><code>LEAST_CONN</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="LoadBalancing.SimpleLBPolicy.RANDOM">
|
||||
<td><code>RANDOM</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="MatchCondition">MatchCondition</h2>
|
||||
<section>
|
||||
<p>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 @@ spec:
|
|||
request header must be specified.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="MatchCondition.source">
|
||||
<td><code>source</code></td>
|
||||
<td><code><a href="#IstioService">IstioService</a></code></td>
|
||||
|
|
@ -1443,18 +1564,22 @@ request header must be specified.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="MatchRequest">MatchRequest</h3>
|
||||
<h2 id="MatchRequest">MatchRequest</h2>
|
||||
<section>
|
||||
<p>MatchRequest specifies the attributes of an HTTP request to be used for matching a request.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="MatchRequest.headers">
|
||||
<td><code>headers</code></td>
|
||||
<td><code>map<string, <a href="#StringMatch">StringMatch</a>></code></td>
|
||||
|
|
@ -1481,9 +1606,10 @@ regular expression matches are supported.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="RouteRule">RouteRule</h3>
|
||||
<h2 id="RouteRule">RouteRule</h2>
|
||||
<section>
|
||||
<p>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 @@ spec:
|
|||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="RouteRule.destination">
|
||||
<td><code>destination</code></td>
|
||||
<td><code><a href="#IstioService">IstioService</a></code></td>
|
||||
|
|
@ -1659,18 +1788,22 @@ destnation service.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h3 id="StringMatch">StringMatch</h3>
|
||||
<h2 id="StringMatch">StringMatch</h2>
|
||||
<section>
|
||||
<p>Describes how to match a given string in HTTP headers. Match is case-sensitive.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="StringMatch.exact" class="oneof oneof-start">
|
||||
<td><code>exact</code></td>
|
||||
<td><code>string (oneof)</code></td>
|
||||
|
|
@ -1695,5 +1828,7 @@ destnation service.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@ title: Value Type
|
|||
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 %}
|
||||
<h2 id="ValueType">ValueType</h2>
|
||||
<section>
|
||||
<p>ValueType describes the types that values in the Istio system can take. These
|
||||
|
|
@ -12,10 +14,13 @@ the result of evaluating an expression, and to describe the runtime type of
|
|||
fields of other descriptors.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="ValueType.VALUE_TYPE_UNSPECIFIED">
|
||||
<td><code>VALUE_TYPE_UNSPECIFIED</code></td>
|
||||
<td>
|
||||
|
|
@ -100,5 +105,7 @@ fields of other descriptors.</p>
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -3,20 +3,45 @@ title: Template Metadata
|
|||
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 %}
|
||||
<p>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.</p>
|
||||
|
||||
<h2 id="Enumerations">Enumerations</h2>
|
||||
<h3 id="TemplateVariety">TemplateVariety</h3>
|
||||
<h2 id="DNSName">DNSName</h2>
|
||||
<section>
|
||||
<p>DNSName is used inside templates for fields that are of ValueType “DNS_NAME”</p>
|
||||
|
||||
</section>
|
||||
<h2 id="Duration">Duration</h2>
|
||||
<section>
|
||||
<p>Duration is used inside templates for fields that are of ValueType “DURATION”</p>
|
||||
|
||||
</section>
|
||||
<h2 id="EmailAddress">EmailAddress</h2>
|
||||
<section>
|
||||
<p>EmailAddress is used inside templates for fields that are of ValueType “EMAIL_ADDRESS”
|
||||
DO NOT USE !! Under Development</p>
|
||||
|
||||
</section>
|
||||
<h2 id="IPAddress">IPAddress</h2>
|
||||
<section>
|
||||
<p>IPAddress is used inside templates for fields that are of ValueType “IP_ADDRESS”</p>
|
||||
|
||||
</section>
|
||||
<h2 id="TemplateVariety">TemplateVariety</h2>
|
||||
<section>
|
||||
<p>Specifies the varity of the the Template.</p>
|
||||
|
||||
<table class="enum-values">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="TemplateVariety.TEMPLATE_VARIETY_CHECK">
|
||||
<td><code>TEMPLATE_VARIETY_CHECK</code></td>
|
||||
<td>
|
||||
|
|
@ -37,44 +62,24 @@ field datatype to express the equivalent ValueType for the expressions the field
|
|||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Messages">Messages</h2>
|
||||
<h3 id="DNSName">DNSName</h3>
|
||||
<section>
|
||||
<p>DNSName is used inside templates for fields that are of ValueType “DNS_NAME”</p>
|
||||
|
||||
</section>
|
||||
<h3 id="Duration">Duration</h3>
|
||||
<section>
|
||||
<p>Duration is used inside templates for fields that are of ValueType “DURATION”</p>
|
||||
|
||||
</section>
|
||||
<h3 id="EmailAddress">EmailAddress</h3>
|
||||
<section>
|
||||
<p>EmailAddress is used inside templates for fields that are of ValueType “EMAIL_ADDRESS”
|
||||
DO NOT USE !! Under Development</p>
|
||||
|
||||
</section>
|
||||
<h3 id="IPAddress">IPAddress</h3>
|
||||
<section>
|
||||
<p>IPAddress is used inside templates for fields that are of ValueType “IP_ADDRESS”</p>
|
||||
|
||||
</section>
|
||||
<h3 id="TimeStamp">TimeStamp</h3>
|
||||
<h2 id="TimeStamp">TimeStamp</h2>
|
||||
<section>
|
||||
<p>TimeStamp is used inside templates for fields that are of ValueType “TIMESTAMP”</p>
|
||||
|
||||
</section>
|
||||
<h3 id="Uri">Uri</h3>
|
||||
<h2 id="Uri">Uri</h2>
|
||||
<section>
|
||||
<p>Uri is used inside templates for fields that are of ValueType “URI”
|
||||
DO NOT USE ! Under Development</p>
|
||||
|
||||
</section>
|
||||
<h3 id="Value">Value</h3>
|
||||
<h2 id="Value">Value</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
|
|||
|
|
@ -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 %}
|
||||
<p>The <code>apikey</code> template represents a single API key, which is used for authorization checks.</p>
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>The <code>apikey</code> template represents a single API key, used to authorize API calls.</p>
|
||||
|
||||
<p>Sample config:</p>
|
||||
|
||||
<pre><code class="language-yaml">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
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.api">
|
||||
<td><code>api</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The API being called (api.service).</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.api_version">
|
||||
<td><code>apiVersion</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The version of the API (api.version).</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.api_operation">
|
||||
<td><code>apiOperation</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The API operation is being called.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.api_key">
|
||||
<td><code>apiKey</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>API key used in API call.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.timestamp">
|
||||
<td><code>timestamp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#TimeStamp">istio.mixer.v1.template.TimeStamp</a></code></td>
|
||||
<td>
|
||||
<p>Timestamp of API call.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>authorization</code> template defines parameters for performing policy
|
||||
enforcement within Istio. It is primarily concerned with enabling Mixer</p>
|
||||
|
||||
<h2 id="Action">Action</h2>
|
||||
<section>
|
||||
<p>An action defines “how a resource is accessed”.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Action.namespace">
|
||||
<td><code>namespace</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Namespace the target action is taking place in.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Action.service">
|
||||
<td><code>service</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The Service the action is being taken on.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Action.method">
|
||||
<td><code>method</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>What action is being taken.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Action.path">
|
||||
<td><code>path</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>HTTP REST path within the service</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Action.properties">
|
||||
<td><code>properties</code></td>
|
||||
<td><code>map<string, <a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a>></code></td>
|
||||
<td>
|
||||
<p>Additional data about the action for use in policy.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Subject">Subject</h2>
|
||||
<section>
|
||||
<p>A subject contains a list of attributes that identify
|
||||
the caller identity.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Subject.user">
|
||||
<td><code>user</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>The user name/ID that the subject represents.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Subject.groups">
|
||||
<td><code>groups</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Groups the subject belongs to depending on the authentication mechanism,
|
||||
“groups” are normally populated from JWT claim or client certificate.
|
||||
The operator can define how it is populated when creating an instance of
|
||||
the template.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Subject.properties">
|
||||
<td><code>properties</code></td>
|
||||
<td><code>map<string, <a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a>></code></td>
|
||||
<td>
|
||||
<p>Additional attributes about the subject.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>The <code>authorization</code> 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.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code class="language-yaml">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] | ""
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.subject">
|
||||
<td><code>subject</code></td>
|
||||
<td><code><a href="#Subject">Subject</a></code></td>
|
||||
<td>
|
||||
<p>A subject contains a list of attributes that identify
|
||||
the caller identity.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.action">
|
||||
<td><code>action</code></td>
|
||||
<td><code><a href="#Action">Action</a></code></td>
|
||||
<td>
|
||||
<p>An action defines “how a resource is accessed”.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>checknothing</code> template represents an empty block of data, which can useful
|
||||
in different testing scenarios.</p>
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code class="language-yaml">apiVersion: "config.istio.io/v1alpha2"
|
||||
kind: checknothing
|
||||
metadata:
|
||||
name: denyrequest
|
||||
namespace: istio-system
|
||||
spec:
|
||||
</code></pre>
|
||||
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
---
|
||||
title: checknothing Config
|
||||
overview: Generated documentation for Mixer's Template Configuration Schema
|
||||
|
||||
order: 1150
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcChecknothingIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Template](#checknothing.Template)
|
||||
(message)
|
||||
|
||||
<a name="checknothing.Template"></a>
|
||||
### 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.__
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>kubernetes</code> template holds data that controls the production of Kubernetes-specific
|
||||
attributes.</p>
|
||||
|
||||
<h2 id="OutputTemplate">OutputTemplate</h2>
|
||||
<section>
|
||||
<p>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 <code>$out.<field name of the OutputTemplate></code> syntax.</p>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="OutputTemplate.source_pod_ip">
|
||||
<td><code>sourcePodIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Refers to source pod ip address. attribute<em>bindings can refer to this field using $out.source</em>pod_ip</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.source_pod_name">
|
||||
<td><code>sourcePodName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to source pod name. attribute<em>bindings can refer to this field using $out.source</em>pod_name</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.source_labels">
|
||||
<td><code>sourceLabels</code></td>
|
||||
<td><code>map<string, string></code></td>
|
||||
<td>
|
||||
<p>Refers to source pod labels. attribute<em>bindings can refer to this field using $out.source</em>labels</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.source_namespace">
|
||||
<td><code>sourceNamespace</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to source pod namespace. attribute<em>bindings can refer to this field using $out.source</em>namespace</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.source_service">
|
||||
<td><code>sourceService</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to source service. attribute<em>bindings can refer to this field using $out.source</em>service</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.source_service_account_name">
|
||||
<td><code>sourceServiceAccountName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to source pod service account name. attribute<em>bindings can refer to this field using $out.source</em>service<em>account</em>name</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.source_host_ip">
|
||||
<td><code>sourceHostIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Refers to source pod host ip address. attribute<em>bindings can refer to this field using $out.source</em>host_ip</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.destination_pod_ip">
|
||||
<td><code>destinationPodIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Refers to destination pod ip address. attribute<em>bindings can refer to this field using $out.destination</em>pod_ip</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.destination_pod_name">
|
||||
<td><code>destinationPodName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to destination pod name. attribute<em>bindings can refer to this field using $out.destination</em>pod_name</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.destination_labels">
|
||||
<td><code>destinationLabels</code></td>
|
||||
<td><code>map<string, string></code></td>
|
||||
<td>
|
||||
<p>Refers to destination pod labels. attribute<em>bindings can refer to this field using $out.destination</em>labels</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.destination_namespace">
|
||||
<td><code>destinationNamespace</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to destination pod namespace. attribute<em>bindings can refer to this field using $out.destination</em>namespace</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.destination_service">
|
||||
<td><code>destinationService</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to destination service. attribute<em>bindings can refer to this field using $out.destination</em>service</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.destination_service_account_name">
|
||||
<td><code>destinationServiceAccountName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to destination pod service account name. attribute<em>bindings can refer to this field using $out.destination</em>service<em>account</em>name</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.destination_host_ip">
|
||||
<td><code>destinationHostIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Refers to destination pod host ip address. attribute<em>bindings can refer to this field using $out.destination</em>host_ip</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.origin_pod_ip">
|
||||
<td><code>originPodIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Refers to origin pod ip address. attribute<em>bindings can refer to this field using $out.origin</em>pod_ip</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.origin_pod_name">
|
||||
<td><code>originPodName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to origin pod name. attribute<em>bindings can refer to this field using $out.origin</em>pod_name</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.origin_labels">
|
||||
<td><code>originLabels</code></td>
|
||||
<td><code>map<string, string></code></td>
|
||||
<td>
|
||||
<p>Refers to origin pod labels. attribute<em>bindings can refer to this field using $out.origin</em>labels</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.origin_namespace">
|
||||
<td><code>originNamespace</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to origin pod namespace. attribute<em>bindings can refer to this field using $out.origin</em>namespace</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.origin_service">
|
||||
<td><code>originService</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to origin service. attribute<em>bindings can refer to this field using $out.origin</em>service</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.origin_service_account_name">
|
||||
<td><code>originServiceAccountName</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Refers to origin pod service account name. attribute<em>bindings can refer to this field using $out.origin</em>service<em>account</em>name</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="OutputTemplate.origin_host_ip">
|
||||
<td><code>originHostIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Refers to origin pod host ip address. attribute<em>bindings can refer to this field using $out.origin</em>host_ip</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>The <code>kubernetes</code> template represents data used to generate kubernetes-derived attributes.</p>
|
||||
|
||||
<p>The values provided controls the manner in which the kubernetesenv adapter discovers and
|
||||
generates values related to pod information.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code class="language-yaml">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
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.source_uid">
|
||||
<td><code>sourceUid</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Source pod’s uid. Must be of the form: “kubernetes://pod.namespace”</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.source_ip">
|
||||
<td><code>sourceIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Source pod’s ip.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.destination_uid">
|
||||
<td><code>destinationUid</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Destination pod’s uid. Must be of the form: “kubernetes://pod.namespace”</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.destination_ip">
|
||||
<td><code>destinationIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Destination pod’s ip.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.origin_uid">
|
||||
<td><code>originUid</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Origin pod’s uid. Must be of the form: “kubernetes://pod.namespace”</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.origin_ip">
|
||||
<td><code>originIp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#IPAddress">istio.mixer.v1.template.IPAddress</a></code></td>
|
||||
<td>
|
||||
<p>Origin pod’s ip.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>listentry</code> template is designed to let you perform list check operations
|
||||
with the <a href="https://istio.io/docs/reference/config/adapters/list.html">list</a> adapter.</p>
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>The <code>listentry</code> template is used to verify the presence/absence of a string
|
||||
within a list.</p>
|
||||
|
||||
<p>When writing the configuration, the value for the fields associated with this template can either be a
|
||||
literal or an <a href="https://istio.io/docs/reference/config/mixer/expression-language.html">expression</a>. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
|
||||
then the expression’s <a href="https://istio.io/docs/reference/config/mixer/expression-language.html#type-checking">inferred type</a> must match the datatype of the field.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code>apiVersion: "config.istio.io/v1alpha2"
|
||||
kind: listentry
|
||||
metadata:
|
||||
name: appversion
|
||||
namespace: istio-system
|
||||
spec:
|
||||
value: source.labels["version"]
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.value">
|
||||
<td><code>value</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Specifies the entry to verify in the list.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
|
||||
<a name="rpcListentryIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Template](#listentry.Template)
|
||||
(message)
|
||||
|
||||
<a name="listentry.Template"></a>
|
||||
### 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"]
|
||||
```
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="listentry.Template.value"></a>
|
||||
<tr>
|
||||
<td><code>value</code></td>
|
||||
<td>string</td>
|
||||
<td>Specifies the entry to verify in the list.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>logentry</code> template represents an individual entry within a log.</p>
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>The <code>logentry</code> template represents an individual entry within a log.</p>
|
||||
|
||||
<p>When writing the configuration, the value for the fields associated with this template can either be a
|
||||
literal or an <a href="https://istio.io/docs/reference/config/mixer/expression-language.html">expression</a>. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
|
||||
then the expression’s <a href="https://istio.io/docs/reference/config/mixer/expression-language.html#type-checking">inferred type</a> must match the datatype of the field.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code class="language-yaml">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"'
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.variables">
|
||||
<td><code>variables</code></td>
|
||||
<td><code>map<string, <a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a>></code></td>
|
||||
<td>
|
||||
<p>Variables that are delivered for each log entry.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.timestamp">
|
||||
<td><code>timestamp</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#TimeStamp">istio.mixer.v1.template.TimeStamp</a></code></td>
|
||||
<td>
|
||||
<p>Timestamp is the time value for the log entry</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.severity">
|
||||
<td><code>severity</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>Severity indicates the importance of the log entry.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.monitored_resource_type">
|
||||
<td><code>monitoredResourceType</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.monitored_resource_dimensions">
|
||||
<td><code>monitoredResourceDimensions</code></td>
|
||||
<td><code>map<string, <a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a>></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
|
||||
<a name="rpcLogentry"></a>
|
||||
## Package logentry
|
||||
|
||||
<a name="rpcLogentryIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Template](#logentry.Template)
|
||||
(message)
|
||||
|
||||
<a name="logentry.Template"></a>
|
||||
### 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"'
|
||||
```
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="logentry.Template.variables"></a>
|
||||
<tr>
|
||||
<td><code>variables</code></td>
|
||||
<td>repeated map<string, <a href="{{home}}/docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html#ValueType">ValueType</a>></td>
|
||||
<td>Variables that are delivered for each log entry.</td>
|
||||
</tr>
|
||||
<a name="logentry.Template.timestamp"></a>
|
||||
<tr>
|
||||
<td><code>timestamp</code></td>
|
||||
<td><a href="https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp">Timestamp</a></td>
|
||||
<td>Timestamp is the time value for the log entry</td>
|
||||
</tr>
|
||||
<a name="logentry.Template.severity"></a>
|
||||
<tr>
|
||||
<td><code>severity</code></td>
|
||||
<td>string</td>
|
||||
<td>Severity indicates the importance of the log entry.</td>
|
||||
</tr>
|
||||
<a name="logentry.Template.monitoredResourceType"></a>
|
||||
<tr>
|
||||
<td><code>monitoredResourceType</code></td>
|
||||
<td>string</td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="logentry.Template.monitoredResourceDimensions"></a>
|
||||
<tr>
|
||||
<td><code>monitoredResourceDimensions</code></td>
|
||||
<td>repeated map<string, <a href="{{home}}/docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html#ValueType">ValueType</a>></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>metric</code> template is designed to let you describe runtime metric to dispatch to
|
||||
monitoring backends.</p>
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>The <code>metric</code> template represents a single piece of data to report.</p>
|
||||
|
||||
<p>When writing the configuration, the value for the fields associated with this template can either be a
|
||||
literal or an <a href="https://istio.io/docs/reference/config/mixer/expression-language.html">expression</a>. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
|
||||
then the expression’s <a href="https://istio.io/docs/reference/config/mixer/expression-language.html#type-checking">inferred type</a> must match the datatype of the field.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code class="language-yaml">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"'
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.value">
|
||||
<td><code>value</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a></code></td>
|
||||
<td>
|
||||
<p>The value being reported.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.dimensions">
|
||||
<td><code>dimensions</code></td>
|
||||
<td><code>map<string, <a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a>></code></td>
|
||||
<td>
|
||||
<p>The unique identity of the particular metric to report.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.monitored_resource_type">
|
||||
<td><code>monitoredResourceType</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.monitored_resource_dimensions">
|
||||
<td><code>monitoredResourceDimensions</code></td>
|
||||
<td><code>map<string, <a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a>></code></td>
|
||||
<td>
|
||||
<p>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.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
|
||||
<a name="rpcMetric"></a>
|
||||
## Package metric
|
||||
|
||||
<a name="rpcMetricIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Template](#metric.Template)
|
||||
(message)
|
||||
|
||||
<a name="metric.Template"></a>
|
||||
### 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"'
|
||||
```
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="metric.Template.value"></a>
|
||||
<tr>
|
||||
<td><code>value</code></td>
|
||||
<td><a href="{{home}}/docs/reference/config/mixer/istio.mixer.v1.config.descriptor#ValueType">ValueType</a></td>
|
||||
<td>The value being reported.</td>
|
||||
</tr>
|
||||
<a name="metric.Template.dimensions"></a>
|
||||
<tr>
|
||||
<td><code>dimensions</code></td>
|
||||
<td>repeated map<string, <a href="{{home}}/docs/reference/config/mixer/istio.mixer.v1.config.descriptor#ValueType">ValueType</a>></td>
|
||||
<td>The unique identity of the particular metric to report.</td>
|
||||
</tr>
|
||||
<a name="metric.Template.monitoredResourceType"></a>
|
||||
<tr>
|
||||
<td><code>monitoredResourceType</code></td>
|
||||
<td>string</td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<a name="metric.Template.monitoredResourceDimensions"></a>
|
||||
<tr>
|
||||
<td><code>monitoredResourceDimensions</code></td>
|
||||
<td>repeated map<string, <a href="{{home}}/docs/reference/config/mixer/istio.mixer.v1.config.descriptor#ValueType">ValueType</a>></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>quota</code> template represents an item for which to check quota.</p>
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>The <code>quota</code> template represents a piece of data to check Quota for.</p>
|
||||
|
||||
<p>When writing the configuration, the value for the fields associated with this template can either be a
|
||||
literal or an <a href="https://istio.io/docs/reference/config/mixer/expression-language.html">expression</a>. Please note that if the datatype of a field is not istio.mixer.v1.template.Value,
|
||||
then the expression’s <a href="https://istio.io/docs/reference/config/mixer/expression-language.html#type-checking">inferred type</a> must match the datatype of the field.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code>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"
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.dimensions">
|
||||
<td><code>dimensions</code></td>
|
||||
<td><code>map<string, <a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Value">istio.mixer.v1.template.Value</a>></code></td>
|
||||
<td>
|
||||
<p>The unique identity of the particular quota to manipulate.</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -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 %}
|
||||
|
||||
<a name="rpcQuota"></a>
|
||||
## Package quota
|
||||
|
||||
<a name="rpcQuotaIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Template](#quota.Template)
|
||||
(message)
|
||||
|
||||
<a name="quota.Template"></a>
|
||||
### 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"
|
||||
```
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<a name="quota.Template.dimensions"></a>
|
||||
<tr>
|
||||
<td><code>dimensions</code></td>
|
||||
<td>repeated map<string, <a href="{{home}}/docs/reference/config/mixer/istio.mixer.v1.config.descriptor#ValueType">ValueType</a>></td>
|
||||
<td>The unique identity of the particular quota to manipulate.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -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 %}
|
||||
<p>The <code>reportnothing</code> template represents an empty block of data, which can useful
|
||||
in different testing scenarios.</p>
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>Example config:</p>
|
||||
|
||||
<pre><code class="language-yaml">apiVersion: "config.istio.io/v1alpha2"
|
||||
kind: reportnothing
|
||||
metadata:
|
||||
name: reportrequest
|
||||
namespace: istio-system
|
||||
spec:
|
||||
</code></pre>
|
||||
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
---
|
||||
title: reportnothing Config
|
||||
overview: Generated documentation for Mixer's Template Configuration Schema
|
||||
|
||||
order: 1200
|
||||
|
||||
layout: docs
|
||||
type: markdown
|
||||
---
|
||||
|
||||
|
||||
<a name="rpcReportnothingIndex"></a>
|
||||
### Index
|
||||
|
||||
* [Template](#reportnothing.Template)
|
||||
(message)
|
||||
|
||||
<a name="reportnothing.Template"></a>
|
||||
### 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.__
|
||||
|
|
@ -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 %}
|
||||
|
||||
<p>The <code>servicecontrolreport</code> template is used by the <a href="{{home}}/docs/reference/config/adapters/servicecontrol.html">Google
|
||||
Service
|
||||
Control</a>
|
||||
adapter.</p>
|
||||
{% raw %}
|
||||
|
||||
<h2 id="Template">Template</h2>
|
||||
<section>
|
||||
<p>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.</p>
|
||||
|
||||
<p>Config example:</p>
|
||||
|
||||
<pre><code class="language-yaml">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"
|
||||
</code></pre>
|
||||
|
||||
<table class="message-fields">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr id="Template.api_version">
|
||||
<td><code>apiVersion</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.api_operation">
|
||||
<td><code>apiOperation</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.api_protocol">
|
||||
<td><code>apiProtocol</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.api_service">
|
||||
<td><code>apiService</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.api_key">
|
||||
<td><code>apiKey</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.request_time">
|
||||
<td><code>requestTime</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#TimeStamp">istio.mixer.v1.template.TimeStamp</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.request_method">
|
||||
<td><code>requestMethod</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.request_path">
|
||||
<td><code>requestPath</code></td>
|
||||
<td><code>string</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.request_bytes">
|
||||
<td><code>requestBytes</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.response_time">
|
||||
<td><code>responseTime</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#TimeStamp">istio.mixer.v1.template.TimeStamp</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.response_code">
|
||||
<td><code>responseCode</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.response_bytes">
|
||||
<td><code>responseBytes</code></td>
|
||||
<td><code>int64</code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="Template.response_latency">
|
||||
<td><code>responseLatency</code></td>
|
||||
<td><code><a href="https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html#Duration">istio.mixer.v1.template.Duration</a></code></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
{% endraw %}
|
||||
|
|
@ -7,7 +7,7 @@ layout: default
|
|||
{% include sidebar.html docs=site.docs %}
|
||||
</div>
|
||||
|
||||
{% if page.toc != false %}
|
||||
{% if page.toc != false and page.number_of_entries != 1 %}
|
||||
<div class="col-12 col-md-9 col-lg-7 col-xl-8">
|
||||
{% else %}
|
||||
<div class="col-12 col-md-9 col-xl-10">
|
||||
|
|
@ -24,7 +24,7 @@ layout: default
|
|||
</main>
|
||||
</div>
|
||||
|
||||
{% if page.toc != false %}
|
||||
{% if page.toc != false and page.number_of_entries != 1 %}
|
||||
<div class="col-12 col-md-2 d-none d-lg-block">
|
||||
<nav class="toc">
|
||||
<div class="spacer"></div>
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ get_command_doc() {
|
|||
pushd $COMMAND_PATH
|
||||
go build
|
||||
./$COMMAND collateral -o $COMMAND_DIR --jekyll_html
|
||||
rm $COMMAND
|
||||
popd
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue