From 428af2c8479c8db6b93cf7b9638813af2487df48 Mon Sep 17 00:00:00 2001 From: Martin Taillefer Date: Tue, 6 Feb 2018 09:48:31 -0800 Subject: [PATCH] Update reference docs. (#937) --- _docs/reference/api/istio.mixer.v1.html | 257 ++++++--- _docs/reference/commands/istio_ca.html | 11 + _docs/reference/commands/istioctl.html | 23 +- _docs/reference/commands/mixc.html | 1 + _docs/reference/commands/mixs.html | 1 + _docs/reference/commands/node_agent.html | 1 + _docs/reference/commands/pilot-agent.html | 6 + _docs/reference/commands/pilot-discovery.html | 1 + .../reference/commands/sidecar-injector.html | 1 + _docs/reference/config/adapters/circonus.html | 113 ++++ _docs/reference/config/adapters/denier.html | 150 +++++ _docs/reference/config/adapters/denier.md | 34 -- _docs/reference/config/adapters/fluentd.html | 43 ++ _docs/reference/config/adapters/kubernetes.md | 168 ------ .../config/adapters/kubernetesenv.html | 121 ++++ _docs/reference/config/adapters/list.html | 139 +++++ _docs/reference/config/adapters/list.md | 103 ---- _docs/reference/config/adapters/memquota.html | 139 +++++ _docs/reference/config/adapters/memquota.md | 107 ---- _docs/reference/config/adapters/opa.html | 84 +++ .../reference/config/adapters/prometheus.html | 321 +++++++++++ _docs/reference/config/adapters/prometheus.md | 263 --------- _docs/reference/config/adapters/rbac.html | 61 ++ .../reference/config/adapters/redisquota.html | 202 +++++++ .../config/adapters/servicecontrol.html | 175 ++++++ .../reference/config/adapters/solarwinds.html | 195 +++++++ .../config/adapters/stackdriver.html | 542 ++++++++++++++++++ .../reference/config/adapters/stackdriver.md | 437 -------------- _docs/reference/config/adapters/statsd.html | 149 +++++ _docs/reference/config/adapters/statsd.md | 123 ---- _docs/reference/config/adapters/stdio.html | 212 +++++++ _docs/reference/config/adapters/stdio.md | 104 ---- _docs/reference/config/adapters/svcctrl.md | 33 -- .../reference/config/istio.mesh.v1alpha1.html | 157 ++--- .../config/istio.mixer.v1.config.client.html | 286 +++++++-- .../config/istio.mixer.v1.config.html | 51 +- .../reference/config/istio.rbac.v1alpha1.html | 27 + .../config/istio.routing.v1alpha1.html | 279 ++++++--- .../istio.mixer.v1.config.descriptor.html | 7 + .../config/mixer/istio.mixer.v1.template.html | 59 +- _docs/reference/config/template/apikey.html | 82 +++ .../config/template/authorization.html | 173 ++++++ .../config/template/checknothing.html | 29 + .../reference/config/template/checknothing.md | 35 -- .../reference/config/template/kubernetes.html | 292 ++++++++++ .../reference/config/template/listentry.html | 52 ++ _docs/reference/config/template/listentry.md | 51 -- _docs/reference/config/template/logentry.html | 99 ++++ _docs/reference/config/template/logentry.md | 90 --- _docs/reference/config/template/metric.html | 86 +++ _docs/reference/config/template/metric.md | 78 --- _docs/reference/config/template/quota.html | 54 ++ _docs/reference/config/template/quota.md | 57 -- .../config/template/reportnothing.html | 29 + .../config/template/reportnothing.md | 35 -- .../config/template/servicecontrolreport.html | 135 +++++ _layouts/docs.html | 4 +- scripts/grab_reference_docs.sh | 1 + 58 files changed, 4529 insertions(+), 2039 deletions(-) create mode 100644 _docs/reference/config/adapters/circonus.html create mode 100644 _docs/reference/config/adapters/denier.html delete mode 100644 _docs/reference/config/adapters/denier.md create mode 100644 _docs/reference/config/adapters/fluentd.html delete mode 100644 _docs/reference/config/adapters/kubernetes.md create mode 100644 _docs/reference/config/adapters/kubernetesenv.html create mode 100644 _docs/reference/config/adapters/list.html delete mode 100644 _docs/reference/config/adapters/list.md create mode 100644 _docs/reference/config/adapters/memquota.html delete mode 100644 _docs/reference/config/adapters/memquota.md create mode 100644 _docs/reference/config/adapters/opa.html create mode 100644 _docs/reference/config/adapters/prometheus.html delete mode 100644 _docs/reference/config/adapters/prometheus.md create mode 100644 _docs/reference/config/adapters/rbac.html create mode 100644 _docs/reference/config/adapters/redisquota.html create mode 100644 _docs/reference/config/adapters/servicecontrol.html create mode 100644 _docs/reference/config/adapters/solarwinds.html create mode 100644 _docs/reference/config/adapters/stackdriver.html delete mode 100644 _docs/reference/config/adapters/stackdriver.md create mode 100644 _docs/reference/config/adapters/statsd.html delete mode 100644 _docs/reference/config/adapters/statsd.md create mode 100644 _docs/reference/config/adapters/stdio.html delete mode 100644 _docs/reference/config/adapters/stdio.md delete mode 100644 _docs/reference/config/adapters/svcctrl.md create mode 100644 _docs/reference/config/template/apikey.html create mode 100644 _docs/reference/config/template/authorization.html create mode 100644 _docs/reference/config/template/checknothing.html delete mode 100644 _docs/reference/config/template/checknothing.md create mode 100644 _docs/reference/config/template/kubernetes.html create mode 100644 _docs/reference/config/template/listentry.html delete mode 100644 _docs/reference/config/template/listentry.md create mode 100644 _docs/reference/config/template/logentry.html delete mode 100644 _docs/reference/config/template/logentry.md create mode 100644 _docs/reference/config/template/metric.html delete mode 100644 _docs/reference/config/template/metric.md create mode 100644 _docs/reference/config/template/quota.html delete mode 100644 _docs/reference/config/template/quota.md create mode 100644 _docs/reference/config/template/reportnothing.html delete mode 100644 _docs/reference/config/template/reportnothing.md create mode 100644 _docs/reference/config/template/servicecontrolreport.html diff --git a/_docs/reference/api/istio.mixer.v1.html b/_docs/reference/api/istio.mixer.v1.html index 0b872cc9ffe3..b29e5cf21145 100644 --- a/_docs/reference/api/istio.mixer.v1.html +++ b/_docs/reference/api/istio.mixer.v1.html @@ -4,48 +4,47 @@ 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 --- -

Enumerations

-

ReferencedAttributes.Condition

+{% raw %} +

This package defines the Mixer API that the sidecar proxy uses to perform +precondition checks, manage quotas, and report telemetry.

+ +

Services

+

Mixer

-

How an attribute’s value was matched

+

Mixer provides three core features:

- - - - - - - - - - - - - - - - - - - - - -
NameDescription
CONDITION_UNSPECIFIED -

should not occur

+
    +
  • Precondition Checking. Enables callers to verify a number of preconditions +before responding to an incoming request from a service consumer. +Preconditions can include whether the service consumer is properly +authenticated, is on the service’s whitelist, passes ACL checks, and more.

  • -
ABSENCE -

match when attribute doesn’t exist

+
  • Quota Management. Enables services to allocate and free quota on a number +of dimensions, Quotas are used as a relatively simple resource management tool +to provide some fairness between service consumers when contending for limited +resources. Rate limits are examples of quotas.

  • -
    EXACT -

    match when attribute value is an exact byte-for-byte match

    +
  • Telemetry Reporting. Enables services to report logging and monitoring. +In the future, it will also enable tracing and billing streams intended for +both the service operator as well as for service consumers.

  • + -
    REGEX -

    match when attribute value matches the included regex

    +
    rpc Check(CheckRequest) returns (CheckResponse)
    +
    +

    Checks preconditions and allocate quota before performing an operation. +The preconditions enforced depend on the set of supplied attributes and +the active configuration.

    + +
    rpc Report(ReportRequest) returns (ReportResponse)
    +
    +

    Reports telemetry, such as logs and metrics. +The reported information depends on the set of supplied attributes and the +active configuration.

    -
    -

    Messages

    +

    Types

    Attributes

    Attributes represents a set of typed name/value pairs. Many of Mixer’s @@ -57,13 +56,12 @@

    Attributes

    of information such as the error code of an API request, the latency of an API request, or the original IP address of a TCP connection. For example:

    -

    -request.path: xyz/abc +

    request.path: xyz/abc
     request.size: 234
     request.time: 12:34:56.789 04/17/2017
     source.ip: 192.168.0.1
     target.service: example
    -

    +

    A given Istio deployment has a fixed vocabulary of attributes that it understands. The specific vocabulary is determined by the set of attribute producers being used @@ -85,11 +83,14 @@

    Attributes

    3) Forward attributes from client proxy to server proxy for HTTP requests.

    + + + @@ -98,6 +99,7 @@

    Attributes

    +
    Field Type Description
    attributes map<string, Attributes.AttributeValue>

    Attributes.AttributeValue

    @@ -105,59 +107,79 @@

    Attributes.AttributeValue

    Specifies one attribute value with different type.

    + + + +
    Field Type Description
    stringValue string (oneof) +

    Used for values of type STRING, DNSNAME, EMAILADDRESS, and URI

    +
    int64Value int64 (oneof) +

    Used for values of type INT64

    +
    doubleValue double (oneof) +

    Used for values of type DOUBLE

    +
    boolValue bool (oneof) +

    Used for values of type BOOL

    +
    bytesValue bytes (oneof) +

    Used for values of type BYTES

    +
    timestampValue google.protobuf.Timestamp (oneof) +

    Used for values of type TIMESTAMP

    +
    durationValue google.protobuf.Duration (oneof) +

    Used for values of type DURATION

    +
    stringMapValue Attributes.StringMap (oneof) +

    Used for values of type STRING_MAP

    +

    Attributes.StringMap

    @@ -165,17 +187,23 @@

    Attributes.StringMap

    Defines a string map.

    + + + +
    Field Type Description
    entries map<string, string> +

    Holds a set of name/value pairs.

    +

    CheckRequest

    @@ -183,11 +211,14 @@

    CheckRequest

    Used to get a thumbs-up/thumbs-down before performing an action.

    + + + @@ -226,6 +257,7 @@

    CheckRequest

    +
    Field Type Description
    attributes CompressedAttributes

    CheckRequest.QuotaParams

    @@ -233,11 +265,14 @@

    CheckRequest.QuotaParams

    parameters for a quota allocation

    + + + @@ -254,16 +289,22 @@

    CheckRequest.QuotaParams

    +
    Field Type Description
    amount int64

    CheckResponse

    +

    The response generated by the Check method.

    + + + + @@ -280,16 +321,22 @@

    CheckResponse

    +
    Field Type Description
    precondition CheckResponse.PreconditionResult

    CheckResponse.PreconditionResult

    +

    Expresses the result of a precondition check.

    + + + + @@ -337,16 +384,22 @@

    CheckResponse.PreconditionResult

    +
    Field Type Description
    status google.rpc.Status

    CheckResponse.QuotaResult

    +

    Expresses the result of a quota allocation.

    + + + + @@ -373,6 +426,7 @@

    CheckResponse.QuotaResult

    +
    Field Type Description
    validDuration google.protobuf.Duration

    CompressedAttributes

    @@ -386,11 +440,14 @@

    CompressedAttributes

    configuration.

    + + + @@ -403,10 +460,7 @@

    CompressedAttributes

    @@ -414,44 +468,59 @@

    CompressedAttributes

    +
    Field Type Description
    words string[] strings map<int32, int32> -

    Attribute payload. All sint32 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.

    +

    Holds attributes of type STRING, DNSNAME, EMAILADDRESS, URI

    int64s map<int32, int64> +

    Holds attributes of type INT64

    +
    doubles map<int32, double> +

    Holds attributes of type DOUBLE

    +
    bools map<int32, bool> +

    Holds attributes of type BOOL

    +
    timestamps map<int32, google.protobuf.Timestamp> +

    Holds attributes of type TIMESTAMP

    +
    durations map<int32, google.protobuf.Duration> +

    Holds attributes of type DURATION

    +
    bytes map<int32, bytes> +

    Holds attributes of type BYTES

    +
    stringMaps map<int32, StringMap> +

    Holds attributes of type STRING_MAP

    +

    ReferencedAttributes

    @@ -460,11 +529,14 @@

    ReferencedAttributes

    This can be used to construct a response cache.

    + + + @@ -482,16 +554,22 @@

    ReferencedAttributes

    +
    Field Type Description
    words string[]

    ReferencedAttributes.AttributeMatch

    +

    Describes a single attribute match.

    + + + + @@ -535,6 +613,50 @@

    ReferencedAttributes.AttributeMatch

    + +
    Field Type Description
    name int32
    +
    +

    ReferencedAttributes.Condition

    +
    +

    How an attribute’s value was matched

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    CONDITION_UNSPECIFIED +

    should not occur

    + +
    ABSENCE +

    match when attribute doesn’t exist

    + +
    EXACT +

    match when attribute value is an exact byte-for-byte match

    + +
    REGEX +

    match when attribute value matches the included regex

    + +

    ReportRequest

    @@ -542,11 +664,14 @@

    ReportRequest

    Used to report telemetry after performing one or more actions.

    + + + @@ -592,28 +717,37 @@

    ReportRequest

    +
    Field Type Description
    attributes CompressedAttributes[]

    ReportResponse

    +

    Used to carry responses to telemetry reports

    +

    StringMap

    A map of string to string. The keys and values in this map are dictionary -indices (see the Attributes message for an explanation)

    +indices (see the Attributes message for an explanation)

    + + + +
    Field Type Description
    entries map<int32, int32> +

    Holds a set of name/value pairs.

    +

    google.rpc.Status

    @@ -676,11 +810,14 @@

    Other uses

    + + + @@ -708,39 +845,7 @@

    Other uses

    +
    Field Type Description
    code int32
    -

    Services

    -

    Mixer

    -
    -

    Mixer provides three core features:

    - - - -
    rpc Check(CheckRequest) returns (CheckResponse)
    -
    -

    Checks preconditions and allocate quota before performing an operation. -The preconditions enforced depend on the set of supplied attributes and -the active configuration.

    - -
    rpc Report(ReportRequest) returns (ReportResponse)
    -
    -

    Reports telemetry, such as logs and metrics. -The reported information depends on the set of supplied attributes and the -active configuration.

    - -
    +{% endraw %} diff --git a/_docs/reference/commands/istio_ca.html b/_docs/reference/commands/istio_ca.html index 732cc34cf57d..e6868dde12b3 100644 --- a/_docs/reference/commands/istio_ca.html +++ b/_docs/reference/commands/istio_ca.html @@ -2,6 +2,7 @@ title: istio_ca overview: Istio Certificate Authority (CA) layout: pkg-collateral-docs +number_of_entries: 3 ---

    Istio Certificate Authority (CA)

    istio_ca [flags]
    @@ -49,6 +50,16 @@
     Specifies path to kubeconfig file. This must be specified when not running inside a Kubernetes pod.  (default ``)
     
     
    +--livenessProbeInterval <duration>
    +
    +Interval of updating file for the liveness probe.  (default `0s`)
    +
    +
    +--livenessProbePath <string>
    +
    +Path to the file for the liveness probe.  (default ``)
    +
    +
     --log_as_json
     
     Whether to format output as JSON or in plain console-friendly format 
    diff --git a/_docs/reference/commands/istioctl.html b/_docs/reference/commands/istioctl.html
    index 200b72c86f84..7b4d7ba3f7ad 100644
    --- a/_docs/reference/commands/istioctl.html
    +++ b/_docs/reference/commands/istioctl.html
    @@ -2,6 +2,7 @@
     title: istioctl
     overview: Istio control interface
     layout: pkg-collateral-docs
    +number_of_entries: 13
     ---
     

    Istio configuration command line utility.

    @@ -27,7 +28,7 @@ --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -130,7 +131,7 @@

    istioctl context-create

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -233,7 +234,7 @@

    istioctl create

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -334,7 +335,7 @@

    istioctl delete

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -435,7 +436,7 @@

    istioctl deregister

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -558,7 +559,7 @@

    istioctl gen-deploy

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -664,7 +665,7 @@

    istioctl get

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -826,7 +827,7 @@

    istioctl kube-inject

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -972,7 +973,7 @@

    istioctl register

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --labels <stringSlice> @@ -1080,7 +1081,7 @@

    istioctl replace

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json @@ -1176,7 +1177,7 @@

    istioctl version

    --kubeconfig <string> -c -Kubernetes configuration file (default `/Users/mtail/.kube/config`) +Kubernetes configuration file (default `$KUBECONFIG else $HOME/.kube/config`) --log_as_json diff --git a/_docs/reference/commands/mixc.html b/_docs/reference/commands/mixc.html index 1d69bb381b7f..118e1b7c3a18 100644 --- a/_docs/reference/commands/mixc.html +++ b/_docs/reference/commands/mixc.html @@ -2,6 +2,7 @@ title: mixc overview: Utility to trigger direct calls to Mixer's API. layout: pkg-collateral-docs +number_of_entries: 5 ---

    This command lets you interact with a running instance of Mixer. Note that you need a pretty good understanding of Mixer's diff --git a/_docs/reference/commands/mixs.html b/_docs/reference/commands/mixs.html index 7888b6dd3eaa..3a280e036c76 100644 --- a/_docs/reference/commands/mixs.html +++ b/_docs/reference/commands/mixs.html @@ -2,6 +2,7 @@ title: mixs overview: Mixer is Istio's abstraction on top of infrastructure backends. layout: pkg-collateral-docs +number_of_entries: 10 ---

    Mixer is Istio's point of integration with infrastructure backends and is the nexus for policy evaluation and telemetry reporting.

    diff --git a/_docs/reference/commands/node_agent.html b/_docs/reference/commands/node_agent.html index 7bd17f12b3c7..fd52f3b74141 100644 --- a/_docs/reference/commands/node_agent.html +++ b/_docs/reference/commands/node_agent.html @@ -2,6 +2,7 @@ title: node_agent overview: Istio security per-node agent layout: pkg-collateral-docs +number_of_entries: 3 ---

    Istio security per-node agent

    node_agent [flags]
    diff --git a/_docs/reference/commands/pilot-agent.html b/_docs/reference/commands/pilot-agent.html
    index a7d96700721f..6ccb90ef7c11 100644
    --- a/_docs/reference/commands/pilot-agent.html
    +++ b/_docs/reference/commands/pilot-agent.html
    @@ -2,6 +2,7 @@
     title: pilot-agent
     overview: Istio Pilot agent
     layout: pkg-collateral-docs
    +number_of_entries: 4
     ---
     

    Istio Pilot provides management plane functionality to the Istio service mesh and Istio Mixer.

    @@ -95,6 +96,11 @@

    pilot-agent proxy

    + + + + + diff --git a/_docs/reference/commands/pilot-discovery.html b/_docs/reference/commands/pilot-discovery.html index b08ea26c58d8..8710effcc8a4 100644 --- a/_docs/reference/commands/pilot-discovery.html +++ b/_docs/reference/commands/pilot-discovery.html @@ -2,6 +2,7 @@ title: pilot-discovery overview: Istio Pilot layout: pkg-collateral-docs +number_of_entries: 4 ---

    Istio Pilot provides fleet-wide traffic management capabilities in the Istio Service Mesh.

    Path to the proxy binary (default `/usr/local/bin/envoy`)
    --bootstrapv2Use bootstrap v2
    --configPath <string> Path to the generated configuration file directory (default `/etc/istio/proxy`)
    diff --git a/_docs/reference/commands/sidecar-injector.html b/_docs/reference/commands/sidecar-injector.html index 95c99b97c390..669d852b4b4d 100644 --- a/_docs/reference/commands/sidecar-injector.html +++ b/_docs/reference/commands/sidecar-injector.html @@ -2,6 +2,7 @@ title: sidecar-injector overview: Kubernetes webhook for automatic Istio sidecar injection layout: pkg-collateral-docs +number_of_entries: 3 ---

    Kubernetes webhook for automatic Istio sidecar injection

    sidecar-injector [flags]
    diff --git a/_docs/reference/config/adapters/circonus.html b/_docs/reference/config/adapters/circonus.html
    new file mode 100644
    index 000000000000..11a7d9021732
    --- /dev/null
    +++ b/_docs/reference/config/adapters/circonus.html
    @@ -0,0 +1,113 @@
    +---
    +title: Circonus
    +overview: Adapter for circonus.com's monitoring solution.
    +location: https://istio.io/docs/reference/config/adapters/circonus.html
    +layout: protoc-gen-docs
    +number_of_entries: 3
    +---
    +{% raw %}
    +

    The circonus adapter enables Istio to deliver metric data to the +Circonus monitoring backend.

    + +

    Params

    +
    +

    Cnofiguration format for the Circonus adapter.

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    submissionUrlstring +

    Circonus SubmissionURL to HTTPTrap check

    + +
    submissionIntervalgoogle.protobuf.Duration +
    metricsParams.MetricInfo[] +
    + +

    Params.MetricInfo

    +
    +

    Describes how to represent a metric

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namestring +

    name

    + +
    typeParams.MetricInfo.Type +
    +
    +

    Params.MetricInfo.Type

    +
    +

    The type of metric.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    UNKNOWN +
    COUNTER +
    GAUGE +
    DISTRIBUTION +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/denier.html b/_docs/reference/config/adapters/denier.html new file mode 100644 index 000000000000..635ac34c0182 --- /dev/null +++ b/_docs/reference/config/adapters/denier.html @@ -0,0 +1,150 @@ +--- +title: Denier +overview: Adapter that always returns a precondition denial. +location: https://istio.io/docs/reference/config/adapters/denier.html +layout: protoc-gen-docs +number_of_entries: 2 +--- +{% raw %} +

    The denier adapter is designed to always return a denial to precondition +checks. You can specify the exact error to return for these denials.

    + +

    Params

    +
    +

    Cnofiguration format for the Denier adapter.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusgoogle.rpc.Status +

    The error to return when denying a request.

    + +
    validDurationgoogle.protobuf.Duration +

    The duration for which the denial is valid.

    + +
    validUseCountint32 +

    The number of times the denial may be used.

    + +
    +
    +

    google.rpc.Status

    +
    +

    The Status type defines a logical error model that is suitable for different +programming environments, including REST APIs and RPC APIs. It is used by +gRPC. The error model is designed to be:

    + +
      +
    • Simple to use and understand for most users
    • +
    • Flexible enough to meet unexpected needs
    • +
    + +

    Overview

    + +

    The Status message contains three pieces of data: error code, error message, +and error details. The error code should be an enum value of +google.rpc.Code, but it may accept additional error codes if needed. The +error message should be a developer-facing English message that helps +developers understand and resolve the error. If a localized user-facing +error message is needed, put the localized message in the error details or +localize it in the client. The optional error details may contain arbitrary +information about the error. There is a predefined set of error detail types +in the package google.rpc that can be used for common error conditions.

    + +

    Language mapping

    + +

    The Status message is the logical representation of the error model, but it +is not necessarily the actual wire format. When the Status message is +exposed in different client libraries and different wire protocols, it can be +mapped differently. For example, it will likely be mapped to some exceptions +in Java, but more likely mapped to some error codes in C.

    + +

    Other uses

    + +

    The error model and the Status message can be used in a variety of +environments, either with or without APIs, to provide a +consistent developer experience across different environments.

    + +

    Example uses of this error model include:

    + +
      +
    • Partial errors. If a service needs to return partial errors to the client, +it may embed the Status in the normal response to indicate the partial +errors.

    • + +
    • Workflow errors. A typical workflow has multiple steps. Each step may +have a Status message for error reporting.

    • + +
    • Batch operations. If a client uses batch request and batch response, the +Status message should be used directly inside batch response, one for +each error sub-response.

    • + +
    • Asynchronous operations. If an API call embeds asynchronous operation +results in its response, the status of those operations should be +represented directly using the Status message.

    • + +
    • Logging. If some API errors are stored in logs, the message Status could +be used directly after any stripping needed for security/privacy reasons.

    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    codeint32 +

    The status code, which should be an enum value of google.rpc.Code.

    + +
    messagestring +

    A developer-facing error message, which should be in English. Any +user-facing error message should be localized and sent in the +google.rpc.Status.details field, or localized by the client.

    + +
    detailsgoogle.protobuf.Any[] +

    A list of messages that carry the error details. There is a common set of +message types for APIs to use.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/denier.md b/_docs/reference/config/adapters/denier.md deleted file mode 100644 index 73f94db2dd41..000000000000 --- a/_docs/reference/config/adapters/denier.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: denier Config -overview: Generated documentation for Mixer's denier Adapter Configuration Schema - -order: 100 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.denier.config.Params) -(message) - - -### Params - - - - - - - - - - - - - -
    FieldTypeDescription
    statusStatusThe error to return when denying a request.
    - diff --git a/_docs/reference/config/adapters/fluentd.html b/_docs/reference/config/adapters/fluentd.html new file mode 100644 index 000000000000..db6e46c31ae4 --- /dev/null +++ b/_docs/reference/config/adapters/fluentd.html @@ -0,0 +1,43 @@ +--- +title: Fluentd +overview: Adapter that delivers logs to a fluentd daemon. +location: https://istio.io/docs/reference/config/adapters/fluentd.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The fluentd adapter is designed to deliver Istio log entries to a +listening fluentd daemon.

    + +

    Params

    +
    +

    Configuration parameters for the fluentd adapter.

    + +

    This adapter accepts instances of kind: logentry. It then routes +those logentries to a listening fluentd daemon with minimal +transformation. Fluentd uses a “tag” for all logs. The “Name” of +the logentry is used as the “tag”, unless the logentry already has +a variable “tag”.

    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    addressstring +

    Address of listening fluentd daemon. Example: fluentd-server:24224 +Default value is localhost:24224

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/kubernetes.md b/_docs/reference/config/adapters/kubernetes.md deleted file mode 100644 index 8224f0251c50..000000000000 --- a/_docs/reference/config/adapters/kubernetes.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -title: kubernetes Config -overview: Generated documentation for Mixer's kubernetes Adapter Configuration Schema - -order: 10 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.kubernetes.config.Params) -(message) - - -### Params -Configuration parameters for the kubernetes adapter. These params -control the manner in which the kubernetes adapter discovers and -generates values related to pod information. - -The adapter works by looking up pod information by UIDs (of the -form: "kubernetes://pod.namespace"). It expects that the UIDs will be -supplied in an input map for three distinct traffic classes (source, -destination, and origin). - -For all valid UIDs supplied, this adapter generates a map of output -values containing information about the related pods. The generated map -is keyed by value names generated by concatenating a pod identifier -prefix with a value name. For example, for the pod corresponding to a -sourceUID and the output value of pod ip, this adapter will output a map -that includes a key of "sourcePodIP" (assuming parameter defaults). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    kubeconfigPathstring

    File path to discover kubeconfig. For in-cluster configuration, this should be left unset. For local configuration, this should be set to the path of a kubeconfig file that can be used to reach a kubernetes API server.

    NOTE: The kubernetes adapter will use the value of the env var KUBECONFIG in the case where it is set (overriding any value configured through this proto).

    Default: "" (unset)

    cacheRefreshDurationDuration

    Controls the resync period of the kubernetes cluster info cache. The cache will watch for events and every so often completely resync. This controls how frequently the complete resync occurs.

    Default: 5 minutes

    sourceUidInputNamestring

    Configures how the UID for the source pod for traffic is identified in the input map.

    Default: sourceUID

    destinationUidInputNamestring

    Configures how the UID for the destination pod for traffic is identified in the input map.

    Default: destinationUID

    originUidInputNamestring

    Configures how the UID for the origin pod for traffic is identified in the input map.

    Default: originUID

    sourceIpInputNamestring

    Configures how the IP for the source pod for traffic is identified in the input map.

    Default: sourceIP

    destinationIpInputNamestring

    Configures how the IP for the destination pod for traffic is identified in the input map.

    Default: destinationIP

    originIpInputNamestring

    Configures how the IP for the origin pod for traffic is identified in the input map.

    Default: originIP

    clusterDomainNamestring

    Configures the cluster domain name to use for service name normalization.

    Default: svc.cluster.local

    podLabelForServicestring

    In order to extract the service associated with a source, destination, or origin, this adapter relies on pod labels. In particular, it looks for the value of a specific label, as specified by this parameter.

    Default: app

    podLabelForIstioComponentServicestring

    In order to extract the service associated with a source, destination, or origin, this adapter relies on pod labels. In particular, it looks for the value of a specific label for istio component services, as specified by this parameter.

    Default: istio

    sourcePrefixstring

    The prefix used for source pod output value names.

    Default: source

    destinationPrefixstring

    The prefix used for destination pod output value names.

    Default: destination

    originPrefixstring

    The prefix used for origin pod output value names.

    Default: origin

    labelsValueNamestring

    The value name for the pod labels output value.

    Default: Labels

    podNameValueNamestring

    The value name for the pod name output value.

    Default: PodName

    podIpValueNamestring

    The value name for the pod ip address output value.

    Default: PodIP

    hostIpValueNamestring

    The value name for the pod host ip address output value.

    Default: HostIP

    namespaceValueNamestring

    The value name for the pod namespace output value.

    Default: Namespace

    serviceAccountValueNamestring

    The value name for the pod service account name output value.

    Default: ServiceAccountName

    serviceValueNamestring

    The value name for the service output value.

    Default: Service

    diff --git a/_docs/reference/config/adapters/kubernetesenv.html b/_docs/reference/config/adapters/kubernetesenv.html new file mode 100644 index 000000000000..c9af57854f9d --- /dev/null +++ b/_docs/reference/config/adapters/kubernetesenv.html @@ -0,0 +1,121 @@ +--- +title: Kubernetes Env +overview: Adapter that extracts information from a Kubernetes environment. +location: https://istio.io/docs/reference/config/adapters/kubernetesenv.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The kubernetesenv adapter extracts information from a Kubernetes environment +and produces attribtes that can be used in downstream adapters.

    + +

    Params

    +
    +

    Configuration parameters for the kubernetes adapter. These params +control the manner in which the kubernetes adapter discovers and +generates values related to pod information.

    + +

    The adapter works by looking up pod information by UIDs (of the +form: “kubernetes://pod.namespace”). It expects that the UIDs will be +supplied in an input map for three distinct traffic classes (source, +destination, and origin).

    + +

    For all valid UIDs supplied, this adapter generates output +values containing information about the related pods.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    kubeconfigPathstring +

    File path to discover kubeconfig. For in-cluster configuration, +this should be left unset. For local configuration, this should +be set to the path of a kubeconfig file that can be used to +reach a kubernetes API server.

    + +

    NOTE: The kubernetes adapter will use the value of the env var +KUBECONFIG in the case where it is set (overriding any value configured +through this proto).

    + +

    Default: “” (unset)

    + +
    cacheRefreshDurationgoogle.protobuf.Duration +

    Controls the resync period of the kubernetes cluster info cache. +The cache will watch for events and every so often completely resync. +This controls how frequently the complete resync occurs.

    + +

    Default: 5 minutes

    + +
    clusterDomainNamestring +

    Configures the cluster domain name to use for service name normalization.

    + +

    Default: svc.cluster.local

    + +
    podLabelForServicestring +

    In order to extract the service associated with a source, destination, or +origin, this adapter relies on pod labels. In particular, it looks for +the value of a specific label, as specified by this parameter.

    + +

    Default: app

    + +
    podLabelForIstioComponentServicestring +

    In order to extract the service associated with a source, destination, or +origin, this adapter relies on pod labels. In particular, it looks for +the value of a specific label for istio component services, as specified +by this parameter.

    + +

    Default: istio

    + +
    lookupIngressSourceAndOriginValuesbool +

    Default: false

    + +
    fullyQualifiedIstioIngressServiceNamestring +

    Istio ingress service string. This is used to identify the +ingress service in requests.

    + +

    Default: “ingress.istio-system.svc.cluster.local”

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/list.html b/_docs/reference/config/adapters/list.html new file mode 100644 index 000000000000..c7cb62cefbc5 --- /dev/null +++ b/_docs/reference/config/adapters/list.html @@ -0,0 +1,139 @@ +--- +title: List +overview: Adapter that performs whitelist or blacklist checks +location: https://istio.io/docs/reference/config/adapters/list.html +layout: protoc-gen-docs +number_of_entries: 2 +--- +{% raw %} +

    The list adapter makes it possible to perform simple whitelist or blacklist +checks. You can configure the adapter with the list to check, or you can point +it to a URL from where the list should be fetched. Lists can be simple strings, +IP addresses, or regex patterns.

    + +

    Params

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    providerUrlstring +

    Where to find the list to check against. This may be ommited for a completely local list.

    + +
    refreshIntervalgoogle.protobuf.Duration +

    Determines how often the provider is polled for +an updated list

    + +
    ttlgoogle.protobuf.Duration +

    Indicates how long to keep a list before discarding it. +Typically, the TTL value should be set to noticeably longer (> 2x) than the +refresh interval to ensure continued operation in the face of transient +server outages.

    + +
    cachingIntervalgoogle.protobuf.Duration +

    Indicates the amount of time a caller of this adapter can cache an answer +before it should ask the adapter again.

    + +
    cachingUseCountint32 +

    Indicates the number of times a caller of this adapter can use a cached answer +before it should ask the adapter again.

    + +
    overridesstring[] +

    List entries that are consulted first, before the list from the server

    + +
    entryTypeParams.ListEntryType +

    Determines the kind of list entry and overrides.

    + +
    blacklistbool +

    Whether the list operates as a blacklist or a whitelist.

    + +
    +
    +

    Params.ListEntryType

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    STRINGS +

    List entries are treated as plain strings.

    + +
    CASE_INSENSITIVE_STRINGS +

    List entries are treated as case-insensitive strings.

    + +
    IP_ADDRESSES +

    List entries are treated as IP addresses and ranges.

    + +
    REGEX +

    List entries are treated as re2 regexp. See https://github.com/google/re2/wiki/Syntax for syntax.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/list.md b/_docs/reference/config/adapters/list.md deleted file mode 100644 index 65e71b191c49..000000000000 --- a/_docs/reference/config/adapters/list.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: list Config -overview: Generated documentation for Mixer's list Adapter Configuration Schema - -order: 20 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.list.config.Params) -(message) -* [Params.ListEntryType](#adapter.list.config.Params.ListEntryType) -(enum) - - -### Params - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    providerUrlstringWhere to find the list to check against. This may be ommited for a completely local list.
    refreshIntervalDurationDetermines how often the provider is polled for an updated list
    ttlDurationIndicates 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.
    cachingIntervalDurationIndicates the amount of time a caller of this adapter can cache an answer before it should ask the adapter again.
    cachingUseCountint32Indicates the number of times a caller of this adapter can use a cached answer before it should ask the adapter again.
    overrides[]repeated stringList entries that are consulted first, before the list from the server
    entryTypeListEntryTypeDetermines the kind of list entry and overrides.
    blacklistboolWhether the list operates as a blacklist or a whitelist.
    - - -### ListEntryType - - - - - - - - - - - - - - - - - - - - - - -
    ValueDescription
    STRINGSList entries are treated as plain strings.
    CASE_INSENSITIVE_STRINGSList entries are treated as case-insensitive strings.
    IP_ADDRESSESList entries are treated as IP addresses and ranges.
    diff --git a/_docs/reference/config/adapters/memquota.html b/_docs/reference/config/adapters/memquota.html new file mode 100644 index 000000000000..62fc6c777e26 --- /dev/null +++ b/_docs/reference/config/adapters/memquota.html @@ -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 %} +

    The memquota adapter can be used to support Istio’s quota management +system. Although functional, this adapter is not intended for production +use and is suited for local testing only. The reason for this limitation +is that this adapter can only be used in meshes where there is a single +instance of Mixer running for the whole mesh (i.e. non-HA configuration) +and if that single instance crashes, all outstanding quota values will +be lost.

    + +

    Params

    +
    +

    Configuration format for the memquota adapter.

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    quotasParams.Quota[] +

    The set of known quotas.

    + +
    minDeduplicationDurationgoogle.protobuf.Duration +

    Minimum number of seconds that deduplication is possible for a given operation.

    + +
    +
    +

    Params.Override

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    dimensionsmap<string, string> +

    The specific dimensions for which this override applies. +String representation of instance dimensions is used to check against configured dimensions.

    + +
    maxAmountint64 +

    The upper limit for this quota.

    + +
    validDurationgoogle.protobuf.Duration +

    The amount of time allocated quota remains valid before it is +automatically released. This is only meaningful for rate limit +quotas, otherwise the value must be zero.

    + +
    +
    +

    Params.Quota

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namestring +

    The name of the quota

    + +
    maxAmountint64 +

    The upper limit for this quota.

    + +
    validDurationgoogle.protobuf.Duration +

    The amount of time allocated quota remains valid before it is +automatically released. This is only meaningful for rate limit +quotas, otherwise the value must be zero.

    + +
    overridesParams.Override[] +

    Overrides associated with this quota. +The first matching override is applied.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/memquota.md b/_docs/reference/config/adapters/memquota.md deleted file mode 100644 index a5b442f85734..000000000000 --- a/_docs/reference/config/adapters/memquota.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: memquota Config -overview: Generated documentation for Mixer's memquota Adapter Configuration Schema - -order: 30 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.memquota.config.Params) -(message) -* [Params.Override](#adapter.memquota.config.Params.Override) -(message) -* [Params.Quota](#adapter.memquota.config.Params.Quota) -(message) - - -### Params - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    quotas[]repeated QuotaThe set of known quotas.
    minDeduplicationDurationDurationMinimum number of seconds that deduplication is possible for a given operation.
    - - -### Override - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    dimensionsrepeated map<string, string>The specific dimensions for which this override applies. String representation of instance dimensions is used to check against configured dimensions.
    maxAmountint64The upper limit for this quota.
    validDurationDurationThe amount of time allocated quota remains valid before it is automatically released. This is only meaningful for rate limit quotas, otherwise the value must be zero.
    - - -### Quota - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    namestringThe name of the quota
    maxAmountint64The upper limit for this quota.
    validDurationDurationThe amount of time allocated quota remains valid before it is automatically released. This is only meaningful for rate limit quotas, otherwise the value must be zero.
    overrides[]repeated OverrideOverrides associated with this quota. The first matching override is applied.
    diff --git a/_docs/reference/config/adapters/opa.html b/_docs/reference/config/adapters/opa.html new file mode 100644 index 000000000000..53f31aedbaa7 --- /dev/null +++ b/_docs/reference/config/adapters/opa.html @@ -0,0 +1,84 @@ +--- +title: OPA +overview: Adapter that implements an Open Policy Agent engine +location: https://istio.io/docs/reference/config/adapters/opa.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The opa adapter exposes an Open Policy Agent engine +that provides sophisticated access control mechanisms.

    + +

    Params

    +
    +

    Configuration format for the opa adapter.

    + +

    Example configuration:

    + +
    policy:
    +  - |+
    +    package mixerauthz
    +    policy = [
    +      {
    +        "rule": {
    +          "verbs": [
    +            "storage.buckets.get"
    +          ],
    +          "users": [
    +            "bucket-admins"
    +          ]
    +        }
    +      }
    +    ]
    +
    +    default allow = false
    +
    +    allow = true {
    +      rule = policy[_].rule
    +      input.subject.user = rule.users[_]
    +      input.action.method = rule.verbs[_]
    +    }
    +checkMethod: "data.mixerauthz.allow"
    +failClose: true
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    policystring[] +

    List of OPA policies

    + +
    checkMethodstring +

    Query method to check. +Format: data..

    + +
    failClosebool +

    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

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/prometheus.html b/_docs/reference/config/adapters/prometheus.html new file mode 100644 index 000000000000..81ad3c9223c0 --- /dev/null +++ b/_docs/reference/config/adapters/prometheus.html @@ -0,0 +1,321 @@ +--- +title: Prometheus +overview: Adapter that exposes Istio metrics for ingestion by a Prometheus harvester. +location: https://istio.io/docs/reference/config/adapters/prometheus.html +layout: protoc-gen-docs +number_of_entries: 7 +--- +{% raw %} +

    The prometheus adapter collects Istio metrics and makes them available to +Prometheus.

    + +

    Params

    +
    +

    Configuration format for the prometheus adapter.

    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    metricsParams.MetricInfo[] +

    The set of metrics to represent in Prometheus. If a metric is defined in Istio but doesn’t have a corresponding +shape here, it will not be populated at runtime.

    + +
    +
    +

    Params.MetricInfo

    +
    +

    Describes how a metric should be represented in Prometheus.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namestring +

    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.

    + +
    instanceNamestring +

    Required. The name is the fully qualified name of the Istio metric instance +that this MetricInfo processes.

    + +
    descriptionstring +

    Optional. A human readable description of this metric.

    + +
    kindParams.MetricInfo.Kind +
    bucketsParams.MetricInfo.BucketsDefinition +

    For metrics with a metric kind of DISTRIBUTION, this provides a mechanism +for configuring the buckets that will be used to store the aggregated values. +This field must be provided for metrics declared to be of type DISTRIBUTION. +This field will be ignored for non-distribution metric kinds.

    + +
    labelNamesstring[] +

    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.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition

    +
    +

    Describes buckets for DISTRIBUTION kind metrics.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    linearBucketsParams.MetricInfo.BucketsDefinition.Linear (oneof) +

    The linear buckets.

    + +
    exponentialBucketsParams.MetricInfo.BucketsDefinition.Exponential (oneof) +

    The exponential buckets.

    + +
    explicitBucketsParams.MetricInfo.BucketsDefinition.Explicit (oneof) +

    The explicit buckets.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition.Explicit

    +
    +

    Specifies a set of buckets with arbitrary widths.

    + +

    There are size(bounds) + 1 (= N) buckets. Bucket i has the following +boundaries:

    + +
      +
    • Upper bound (0 <= i < N-1): bounds[i]
    • +
    • Lower bound (1 <= i < N): bounds[i - 1]
    • +
    + +

    The bounds field must contain at least one element. If bounds has +only one element, then there are no finite buckets, and that single +element is the common boundary of the overflow and underflow buckets.

    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    boundsdouble[] +

    The values must be monotonically increasing.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition.Exponential

    +
    +

    Specifies an exponential sequence of buckets that have a width that is +proportional to the value of the lower bound. Each bucket represents a +constant relative uncertainty on a specific value in the bucket.

    + +

    There are num_finite_buckets + 2 (= N) buckets. The two additional +buckets are the underflow and overflow buckets.

    + +

    Bucket i has the following boundaries:

    + +
      +
    • Upper bound (0 <= i < N-1): scale * (growth_factor ^ i)
    • +
    • Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1))
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    numFiniteBucketsint32 +

    Must be greater than 0.

    + +
    growthFactordouble +

    Must be greater than 1.

    + +
    scaledouble +

    Must be greater than 0.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition.Linear

    +
    +

    Specifies a linear sequence of buckets that all have the same width +(except overflow and underflow). Each bucket represents a constant +absolute uncertainty on the specific value in the bucket.

    + +

    There are num_finite_buckets + 2 (= N) buckets. The two additional +buckets are the underflow and overflow buckets.

    + +

    Bucket i has the following boundaries:

    + +
      +
    • Upper bound (0 <= i < N-1): offset + (width * i)
    • +
    • Lower bound (1 <= i < N): offset + (width * (i - 1))
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    numFiniteBucketsint32 +

    Must be greater than 0.

    + +
    widthdouble +

    Must be greater than 0.

    + +
    offsetdouble +

    Lower bound of the first bucket.

    + +
    +
    +

    Params.MetricInfo.Kind

    +
    +

    Describes what kind of metric this is.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    UNSPECIFIED +
    GAUGE +
    COUNTER +
    DISTRIBUTION +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/prometheus.md b/_docs/reference/config/adapters/prometheus.md deleted file mode 100644 index 48a27f242c82..000000000000 --- a/_docs/reference/config/adapters/prometheus.md +++ /dev/null @@ -1,263 +0,0 @@ ---- -title: prometheus Config -overview: Generated documentation for Mixer's prometheus Adapter Configuration Schema - -order: 40 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.prometheus.config.Params) -(message) -* [Params.MetricInfo](#adapter.prometheus.config.Params.MetricInfo) -(message) -* [Params.MetricInfo.BucketsDefinition](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition) -(message) -* [Params.MetricInfo.BucketsDefinition.Explicit](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Explicit) -(message) -* [Params.MetricInfo.BucketsDefinition.Exponential](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Exponential) -(message) -* [Params.MetricInfo.BucketsDefinition.Linear](#adapter.prometheus.config.Params.MetricInfo.BucketsDefinition.Linear) -(message) -* [Params.MetricInfo.Kind](#adapter.prometheus.config.Params.MetricInfo.Kind) -(enum) - - -### Params - - - - - - - - - - - - - -
    FieldTypeDescription
    metrics[]repeated MetricInfoThe set of metrics to represent in Prometheus. If a metric is defined in Istio but doesn't have a corresponding shape here, it will not be populated at runtime.
    - - -### MetricInfo -Describes how a metric should be represented in Prometheus. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    namestringRecommended. 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.
    instanceNamestringRequired. The name is the fully qualified name of the Istio metric instance that this MetricInfo processes.
    descriptionstringOptional. A human readable description of this metric.
    kindKind
    bucketsBucketsDefinitionFor metrics with a metric kind of DISTRIBUTION, this provides a mechanism for configuring the buckets that will be used to store the aggregated values. This field must be provided for metrics declared to be of type DISTRIBUTION. This field will be ignored for non-distribution metric kinds.
    labelNames[]repeated stringThe names of labels to use: these need to match the dimensions of the Istio metric.
    - - -### BucketsDefinition -Describes buckets for DISTRIBUTION kind metrics. - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    linearBucketsLinear (oneof )The linear buckets.
    exponentialBucketsExponential (oneof )The exponential buckets.
    explicitBucketsExplicit (oneof )The explicit buckets.
    - - -### Explicit -Specifies a set of buckets with arbitrary widths. - -There are `size(bounds) + 1` (= `N`) buckets. Bucket `i` has the following -boundaries: - -* Upper bound (`0 <= i < N-1`): `bounds[i]` -* Lower bound (`1 <= i < N`): `bounds[i - 1]` - -The `bounds` field must contain at least one element. If `bounds` has -only one element, then there are no finite buckets, and that single -element is the common boundary of the overflow and underflow buckets. - - - - - - - - - - - - - -
    FieldTypeDescription
    bounds[]repeated doubleThe values must be monotonically increasing.
    - - -### Exponential -Specifies an exponential sequence of buckets that have a width that is -proportional to the value of the lower bound. Each bucket represents a -constant relative uncertainty on a specific value in the bucket. - -There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional -buckets are the underflow and overflow buckets. - -Bucket `i` has the following boundaries: - -* Upper bound (0 <= i < N-1): `scale * (growthFactor ^ i)` -* Lower bound (1 <= i < N): `scale * (growthFactor ^ (i - 1))` - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    numFiniteBucketsint32Must be greater than 0.
    growthFactordoubleMust be greater than 1.
    scaledoubleMust be greater than 0.
    - - -### Linear -Specifies a linear sequence of buckets that all have the same width -(except overflow and underflow). Each bucket represents a constant -absolute uncertainty on the specific value in the bucket. - -There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional -buckets are the underflow and overflow buckets. - -Bucket `i` has the following boundaries: - -* Upper bound (`0 <= i < N-1`): `offset + (width * i)` -* Lower bound (`1 <= i < N`): `offset + (width * (i - 1))` - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    numFiniteBucketsint32Must be greater than 0.
    widthdoubleMust be greater than 0.
    offsetdoubleLower bound of the first bucket.
    - - -### Kind -Describes what kind of metric this is. - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValueDescription
    UNSPECIFIED
    GAUGE
    COUNTER
    DISTRIBUTION
    diff --git a/_docs/reference/config/adapters/rbac.html b/_docs/reference/config/adapters/rbac.html new file mode 100644 index 000000000000..bef442d108d0 --- /dev/null +++ b/_docs/reference/config/adapters/rbac.html @@ -0,0 +1,61 @@ +--- +title: RBAC +overview: Adapter that exposes Istio's Role-Based Access Control model. +location: https://istio.io/docs/reference/config/adapters/rbac.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The rbac adapter provides Role-Based Access Control (RBAC) functionality for +for services within the Istio mesh.

    + +

    Params

    +
    +

    Configuration format for the rbac adapter.

    + +

    For example, the following configuration defines a RBAC handler with +configuration store URL pointing to Kubernetes etcd (“k8s://”). +If you want to run Mixer locally, you can set the configuration store +URL to a local directory (e.g., “fs:///tmp/testdata/configroot”).

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: rbac
    +metadata:
    +  name: rbachandler
    +  namespace: istio-system
    +spec:
    +  config_store_url: "fs:///tmp/testdata/config"
    +
    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    configStoreUrlstring +

    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”

    + +
    cacheDurationgoogle.protobuf.Duration +

    The duration for which authorization results may be cached.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/redisquota.html b/_docs/reference/config/adapters/redisquota.html new file mode 100644 index 000000000000..0107a56fa540 --- /dev/null +++ b/_docs/reference/config/adapters/redisquota.html @@ -0,0 +1,202 @@ +--- +title: Redis Quota +overview: Adapter for a Redis-based quota management system. +location: https://istio.io/docs/reference/config/adapters/redisquota.html +layout: protoc-gen-docs +number_of_entries: 4 +--- +{% raw %} +

    The redisquota adapter can be used to support Istio’s quota management +system. It depends on a Redis server to store quota values.

    + +

    Params

    +
    +

    redisquota adapter supports the rate limit quota using either fixed or +rolling window algorithm. And it is using Redis as a shared data storage.

    + +

    Example configuration:

    + +

    redisServerUrl: localhost:6379 +connectionPoolSize: 10 +quotas: + - name: requestCount.quota.istio-system + maxAmount: 50 + validDuration: 60s + bucketDuration: 1s + rateLimitAlgorithm: ROLLING_WINDOW + overrides: + - dimensions: + destination: ratings + source: reviews + maxAmount: 12 + - dimensions: + destination: reviews + maxAmount: 5

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    quotasParams.Quota[] +

    The set of known quotas. At least one quota configuration is required

    + +
    redisServerUrlstring +

    Redis connection string : +ex) localhost:6379

    + +
    connectionPoolSizeint64 +

    Maximum number of idle connections to redis +Default is 10 connections per every CPU as reported by runtime.NumCPU.

    + +
    +
    +

    Params.Override

    +
    + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    dimensionsmap<string, string> +

    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

    + +
    maxAmountint64 +

    The upper limit for this quota override. +This value should be bigger than 0

    + +
    +
    +

    Params.Quota

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namestring +

    The name of the quota

    + +
    maxAmountint64 +

    The upper limit for this quota. max_amount should be bigger than 0

    + +
    validDurationgoogle.protobuf.Duration +

    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

    + +
    bucketDurationgoogle.protobuf.Duration +

    bucketduration will be ignored if ratelimitalgorithm is FIXEDWINDOW +value should be 0 < bucketduration < validduration

    + +
    rateLimitAlgorithmParams.QuotaAlgorithm +

    Quota management algorithm. The default value is FIXED_WINDOW

    + +
    overridesParams.Override[] +

    Overrides associated with this quota. +The first matching override is applied.

    + +
    +
    +

    Params.QuotaAlgorithm

    +
    +

    Algorithms for rate-limiting:

    + + + + + + + + + + + + + + + + + + +
    NameDescription
    FIXED_WINDOW +

    FIXED_WINDOW The fixed window approach can allow 2x peak specified rate, whereas the rolling-window doesn’t.

    + +
    ROLLING_WINDOW +

    ROLLING_WINDOW The rolling window algorithm’s additional precision comes at the cost of increased redis resource usage.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/servicecontrol.html b/_docs/reference/config/adapters/servicecontrol.html new file mode 100644 index 000000000000..233a7386d700 --- /dev/null +++ b/_docs/reference/config/adapters/servicecontrol.html @@ -0,0 +1,175 @@ +--- +title: Service Control +overview: Adapter that delivers logs and metrics to Google Service Control +location: https://istio.io/docs/reference/config/adapters/servicecontrol.html +layout: protoc-gen-docs +number_of_entries: 4 +--- +{% raw %} +

    The servicecontrol adapter delivers logs and metrics to +Google Service Control.

    + +

    GcpServiceSetting

    +
    +

    Adapter setting for a managed GCP service.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    meshServiceNamestring +

    Local service name on the mesh, which matches destination.service attribute.

    + +
    googleServiceNamestring +

    Fully qualified GCP service name.

    + +
    quotasQuota[] +

    Quota configs

    + +
    +
    +

    Params

    +
    +

    Configuration format for the servicecontrol adapter.

    + +

    Sample adapter config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: servicecontrol
    +metadata:
    +  name: testhandler
    +  namespace: istio-system
    +spec:
    +  runtime_config:
    +    check_cache_size: 200
    +    check_result_expiration: 60s
    +  credential_path: "/path/to/token.json"
    +  service_configs:
    +    - mesh_service_name: "echo.local.svc"
    +      google_service_name: "echo.endpoints.cloud.goog"
    +      quotas:
    +        - name: ratelimit.quota.istio-system
    +          google_quota_metric_name: read-requests
    +          expiration: 1m
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    runtimeConfigRuntimeConfig +
    credentialPathstring +

    A path to JSON token file, usually mounted as Kubernetes secret on pod.

    + +
    serviceConfigsGcpServiceSetting[] +
    +
    +

    Quota

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namestring +

    Istio quota name.

    + +
    googleQuotaMetricNamestring +

    The corresponding Google quota metric name.

    + +
    expirationgoogle.protobuf.Duration +

    Quota token expiration time period.

    + +
    +
    +

    RuntimeConfig

    +
    +

    Adapter runtime config paramters.

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    checkCacheSizeint32 +
    checkResultExpirationgoogle.protobuf.Duration +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/solarwinds.html b/_docs/reference/config/adapters/solarwinds.html new file mode 100644 index 000000000000..4fb8c72cd116 --- /dev/null +++ b/_docs/reference/config/adapters/solarwinds.html @@ -0,0 +1,195 @@ +--- +title: SolarWinds +overview: Adapter to deliver logs and metrics to Papertrail and AppOptics backends +location: https://istio.io/docs/reference/config/adapters/solarwinds.html +layout: protoc-gen-docs +number_of_entries: 3 +--- +{% raw %} +

    The solarwinds adapter enables Istio to deliver log and metric data to the +Papertrail logging backendu and the +AppOptics monitoring backend.

    + +

    Params

    +
    +

    Configuration format for the solarwinds adapter.

    + +

    Example config usage:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: solarwinds
    +metadata:
    +  name: handler
    +  namespace: istio-system
    +spec:
    +  appoptics_access_token: <APPOPTICS SAMPLE TOKEN>
    +  papertrail_url: <PAPERTRAIL URL>
    +  papertrail_local_retention_duration: <RETENTION PERIOD FOR LOGS LOCALLY, Optional>
    +  metrics:
    +    requestcount.metric.istio-system:
    +      label_names:
    +      - source_service
    +      - source_version
    +      - destination_service
    +      - destination_version
    +      - response_code
    +    requestduration.metric.istio-system:
    +      label_names:
    +      - source_service
    +      - source_version
    +      - destination_service
    +      - destination_version
    +      - response_code
    +    requestsize.metric.istio-system:
    +      label_names:
    +      - source_service
    +      - source_version
    +      - destination_service
    +      - destination_version
    +      - response_code
    +    responsesize.metric.istio-system:
    +      label_names:
    +      - source_service
    +      - source_version
    +      - destination_service
    +      - destination_version
    +      - response_code
    +    tcpbytesent.metric.istio-system:
    +      label_names:
    +      - source_service
    +      - source_version
    +      - destination_service
    +      - destination_version
    +    tcpbytereceived.metric.istio-system:
    +      label_names:
    +      - source_service
    +      - source_version
    +      - destination_service
    +      - destination_version
    +  logs:
    +    solarwindslogentry.logentry.istio-system:
    +      payloadTemplate: '{{or (.originIp) "-"}} - {{or (.sourceUser) "-"}} [{{or (.timestamp.Format "2006-01-02T15:04:05Z07:00") "-"}}] "{{or (.method) "-"}} {{or (.url) "-"}} {{or (.protocol) "-"}}" {{or (.responseCode) "-"}} {{or (.responseSize) "-"}}'
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    appopticsAccessTokenstring +

    AppOptics Access Token needed to send metrics to AppOptics. If no access token is given then metrics +will NOT be shipped to AppOptics

    + +
    appopticsBatchSizeint32 +

    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.

    + +
    papertrailUrlstring +

    Papertrail url to ship logs to. If no papertrail url is given then the logs will NOT be shipped but rather +dropped.

    + +
    papertrailLocalRetentionDurationgoogle.protobuf.Duration +

    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.

    + +
    metricsmap<string, Params.MetricInfo> +

    A map of Istio metric name to solarwinds metric info.

    + +
    logsmap<string, Params.LogInfo> +

    A map of Istio logentry name to solarwinds log info.

    + +
    +
    +

    Params.LogInfo

    +
    +

    Describes how to represent an Istio log entry in Solarwinds AppOptics

    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    payloadTemplatestring +

    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.

    + +
    +
    +

    Params.MetricInfo

    +
    +

    Describes how to represent an Istio metric in Solarwinds AppOptics

    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    labelNamesstring[] +

    The names of labels to use: these need to match the dimensions of the Istio metric.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/stackdriver.html b/_docs/reference/config/adapters/stackdriver.html new file mode 100644 index 000000000000..4d235749cf5b --- /dev/null +++ b/_docs/reference/config/adapters/stackdriver.html @@ -0,0 +1,542 @@ +--- +title: Stackdriver +overview: Adapter to deliver logs and metrics to Stackdriver +location: https://istio.io/docs/reference/config/adapters/stackdriver.html +layout: protoc-gen-docs +number_of_entries: 10 +--- +{% raw %} +

    The stackdriver adapter enables Istio to deliver log and metric data to the +Stackdriver logging and monitoring backend.

    + +

    Params

    +
    +

    Configuration format for the stackdriver adapter.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    endpointstring +

    Endpoint URL to send stackdriver data - leave empty to use the +StackDriver SDK’s default value (monitoring.googleapis.com).

    + +
    projectIdstring +

    GCP Project to attach metrics to.

    + +
    pushIntervalgoogle.protobuf.Duration +

    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.

    + +
    appCredentialsbool (oneof) +

    Use Google’s Application Default Credentials to authorize calls made +by the StackDriver SDK.

    + +

    See Google’s documentation.

    + +
    apiKeystring (oneof) +

    The API Key to be used for auth.

    + +
    serviceAccountPathstring (oneof) +

    The path to a Google service account credential file, relative to +the Mixer. E.g. /etc/opt/mixer/gcp-serviceaccount-creds.json +or ./testdata/my-test-account-creds.json.

    + +
    metricInfomap<string, Params.MetricInfo> +

    A map of Istio metric name to Stackdriver metric info.

    + +
    logInfomap<string, Params.LogInfo> +

    A map of Istio LogEntry name to Stackdriver log info.

    + +
    +
    +

    Params.LogInfo

    +
    +

    Describes how to represent an Istio Log in Stackdriver.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    labelNamesstring[] +

    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.

    + +
    payloadTemplatestring +

    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.

    + +
    httpMappingParams.LogInfo.HttpRequestMapping +

    If an HttpRequestMapping is provided, a HttpRequest object will be filled out for this log entry using the +variables named in the mapping to populate the fields of the request struct from the instance’s variables.

    + +
    +
    +

    Params.LogInfo.HttpRequestMapping

    +
    +

    Maps from template variable names to the various fields of Stackdriver’s HTTP request struct. +See https://godoc.org/cloud.google.com/go/logging#HTTPRequest

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusstring +

    template variable name to map into HTTPRequest.Status

    + +
    requestSizestring +

    template variable name to map into HTTPRequest.RequestSize

    + +
    responseSizestring +

    template variable name to map into HTTPRequest.ResponseSize

    + +
    latencystring +

    template variable name to map into HTTPRequest.Latency

    + +
    localIpstring +

    template variable name to map into HTTPRequest.LocalIP

    + +
    remoteIpstring +

    template variable name to map into HTTPRequest.RemoteIP

    + +
    +
    +

    Params.MetricInfo

    +
    +

    Describes how to represent an Istio metric in Stackdriver. +See https://github.com/googleapis/googleapis/blob/master/google/api/metric.proto

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    kindgoogle.api.MetricDescriptor.MetricKind +
    valuegoogle.api.MetricDescriptor.ValueType +
    bucketsParams.MetricInfo.BucketsDefinition +

    For metrics with a metric value of DISTRIBUTION, this provides a mechanism +for configuring the buckets that will be used to store the aggregated values. +This field must be provided for metrics declared to be of type DISTRIBUTION. +This field will be ignored for non-distribution metric kinds.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition

    +
    +

    Describes buckets for DISTRIBUTION valued metrics. +TODO: look into using google.api.distribution.proto instead - we would pull it in but it has a ton of +dependencies it doesn’t actually use.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    linearBucketsParams.MetricInfo.BucketsDefinition.Linear (oneof) +

    The linear buckets.

    + +
    exponentialBucketsParams.MetricInfo.BucketsDefinition.Exponential (oneof) +

    The exponential buckets.

    + +
    explicitBucketsParams.MetricInfo.BucketsDefinition.Explicit (oneof) +

    The explicit buckets.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition.Explicit

    +
    +

    Specifies a set of buckets with arbitrary widths.

    + +

    There are size(bounds) + 1 (= N) buckets. Bucket i has the following +boundaries:

    + +
      +
    • Upper bound (0 <= i < N-1): bounds[i]
    • +
    • Lower bound (1 <= i < N): bounds[i - 1]
    • +
    + +

    The bounds field must contain at least one element. If bounds has +only one element, then there are no finite buckets, and that single +element is the common boundary of the overflow and underflow buckets.

    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    boundsdouble[] +

    The values must be monotonically increasing.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition.Exponential

    +
    +

    Specifies an exponential sequence of buckets that have a width that is +proportional to the value of the lower bound. Each bucket represents a +constant relative uncertainty on a specific value in the bucket.

    + +

    There are num_finite_buckets + 2 (= N) buckets. The two additional +buckets are the underflow and overflow buckets.

    + +

    Bucket i has the following boundaries:

    + +
      +
    • Upper bound (0 <= i < N-1): scale * (growth_factor ^ i)
    • +
    • Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1))
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    numFiniteBucketsint32 +

    Must be greater than 0.

    + +
    growthFactordouble +

    Must be greater than 1.

    + +
    scaledouble +

    Must be greater than 0.

    + +
    +
    +

    Params.MetricInfo.BucketsDefinition.Linear

    +
    +

    Specifies a linear sequence of buckets that all have the same width +(except overflow and underflow). Each bucket represents a constant +absolute uncertainty on the specific value in the bucket.

    + +

    There are num_finite_buckets + 2 (= N) buckets. The two additional +buckets are the underflow and overflow buckets.

    + +

    Bucket i has the following boundaries:

    + +
      +
    • Upper bound (0 <= i < N-1): offset + (width * i)
    • +
    • Lower bound (1 <= i < N): offset + (width * (i - 1))
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    numFiniteBucketsint32 +

    Must be greater than 0.

    + +
    widthdouble +

    Must be greater than 0.

    + +
    offsetdouble +

    Lower bound of the first bucket.

    + +
    +
    +

    google.api.MetricDescriptor.MetricKind

    +
    +

    The kind of measurement. It describes how the data is reported.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    METRIC_KIND_UNSPECIFIED +

    Do not use this default value.

    + +
    GAUGE +

    An instantaneous measurement of a value.

    + +
    DELTA +

    The change in a value during a time interval.

    + +
    CUMULATIVE +

    A value accumulated over a time interval. Cumulative +measurements in a time series should have the same start time +and increasing end times, until an event resets the cumulative +value to zero and sets a new start time for the following +points.

    + +
    +
    +

    google.api.MetricDescriptor.ValueType

    +
    +

    The value type of a metric.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    VALUE_TYPE_UNSPECIFIED +

    Do not use this default value.

    + +
    BOOL +

    The value is a boolean. +This value type can be used only if the metric kind is GAUGE.

    + +
    INT64 +

    The value is a signed 64-bit integer.

    + +
    DOUBLE +

    The value is a double precision floating point number.

    + +
    STRING +

    The value is a text string. +This value type can be used only if the metric kind is GAUGE.

    + +
    DISTRIBUTION +

    The value is a Distribution.

    + +
    MONEY +

    The value is money.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/stackdriver.md b/_docs/reference/config/adapters/stackdriver.md deleted file mode 100644 index c177f0345dfd..000000000000 --- a/_docs/reference/config/adapters/stackdriver.md +++ /dev/null @@ -1,437 +0,0 @@ ---- -title: stackdriver Config -overview: Generated documentation for Mixer's stackdriver Adapter Configuration Schema - -order: 50 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.stackdriver.config.Params) -(message) -* [Params.LogInfo](#adapter.stackdriver.config.Params.LogInfo) -(message) -* [Params.LogInfo.HttpRequestMapping](#adapter.stackdriver.config.Params.LogInfo.HttpRequestMapping) -(message) -* [Params.MetricInfo](#adapter.stackdriver.config.Params.MetricInfo) -(message) -* [Params.MetricInfo.BucketsDefinition](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition) -(message) -* [Params.MetricInfo.BucketsDefinition.Explicit](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Explicit) -(message) -* [Params.MetricInfo.BucketsDefinition.Exponential](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Exponential) -(message) -* [Params.MetricInfo.BucketsDefinition.Linear](#adapter.stackdriver.config.Params.MetricInfo.BucketsDefinition.Linear) -(message) - - -### Params - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    endpointstringEndpoint URL to send stackdriver data - leave empty to use the StackDriver SDK's default value (monitoring.googleapis.com).
    projectIdstringGCP Project to attach metrics to.
    pushIntervalDurationThis 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.
    metricInforepeated map<string, MetricInfo>A map of Istio metric name to Stackdriver metric info.
    logInforepeated map<string, LogInfo>A map of Istio LogEntry name to Stackdriver log info.
    appCredentialsbool (oneof )

    Use Google's Application Default Credentials to authorize calls made by the StackDriver SDK.

    See Google's documentation.

    apiKeystring (oneof )The API Key to be used for auth.
    serviceAccountPathstring (oneof )The path to a Google service account credential file, relative to the Mixer. E.g. /etc/opt/mixer/gcp-serviceaccount-creds.json or ./testdata/my-test-account-creds.json.
    - - -### LogInfo -Describes how to represent an Istio Log in Stackdriver. - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    labelNames[]repeated stringThe 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.
    payloadTemplatestringA 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.
    httpMappingHttpRequestMappingIf an HttpRequestMapping is provided, a HttpRequest object will be filled out for this log entry using the variables named in the mapping to populate the fields of the request struct from the instance's variables.
    - - -### HttpRequestMapping -Maps from template variable names to the various fields of Stackdriver's HTTP request struct. -See https://godoc.org/cloud.google.com/go/logging#HTTPRequest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    statusstringtemplate variable name to map into HTTPRequest.Status
    requestSizestringtemplate variable name to map into HTTPRequest.RequestSize
    responseSizestringtemplate variable name to map into HTTPRequest.ResponseSize
    latencystringtemplate variable name to map into HTTPRequest.Latency
    localIpstringtemplate variable name to map into HTTPRequest.LocalIP
    remoteIpstringtemplate variable name to map into HTTPRequest.RemoteIP
    - - -### MetricInfo -Describes how to represent an Istio metric in Stackdriver. -See https://github.com/googleapis/googleapis/blob/master/google/api/metric.proto - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    kindMetricKind
    valueValueType
    bucketsBucketsDefinitionFor metrics with a metric value of DISTRIBUTION, this provides a mechanism for configuring the buckets that will be used to store the aggregated values. This field must be provided for metrics declared to be of type DISTRIBUTION. This field will be ignored for non-distribution metric kinds.
    - - -### BucketsDefinition -Describes buckets for DISTRIBUTION valued metrics. - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    linearBucketsLinear (oneof )The linear buckets.
    exponentialBucketsExponential (oneof )The exponential buckets.
    explicitBucketsExplicit (oneof )The explicit buckets.
    - - -### Explicit -Specifies a set of buckets with arbitrary widths. - -There are `size(bounds) + 1` (= `N`) buckets. Bucket `i` has the following -boundaries: - -* Upper bound (`0 <= i < N-1`): `bounds[i]` -* Lower bound (`1 <= i < N`): `bounds[i - 1]` - -The `bounds` field must contain at least one element. If `bounds` has -only one element, then there are no finite buckets, and that single -element is the common boundary of the overflow and underflow buckets. - - - - - - - - - - - - - -
    FieldTypeDescription
    bounds[]repeated doubleThe values must be monotonically increasing.
    - - -### Exponential -Specifies an exponential sequence of buckets that have a width that is -proportional to the value of the lower bound. Each bucket represents a -constant relative uncertainty on a specific value in the bucket. - -There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional -buckets are the underflow and overflow buckets. - -Bucket `i` has the following boundaries: - -* Upper bound (0 <= i < N-1): `scale * (growthFactor ^ i)` -* Lower bound (1 <= i < N): `scale * (growthFactor ^ (i - 1))` - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    numFiniteBucketsint32Must be greater than 0.
    growthFactordoubleMust be greater than 1.
    scaledoubleMust be greater than 0.
    - - -### Linear -Specifies a linear sequence of buckets that all have the same width -(except overflow and underflow). Each bucket represents a constant -absolute uncertainty on the specific value in the bucket. - -There are `numFiniteBuckets + 2` (= `N`) buckets. The two additional -buckets are the underflow and overflow buckets. - -Bucket `i` has the following boundaries: - -* Upper bound (`0 <= i < N-1`): `offset + (width * i)` -* Lower bound (`1 <= i < N`): `offset + (width * (i - 1))` - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    numFiniteBucketsint32Must be greater than 0.
    widthdoubleMust be greater than 0.
    offsetdoubleLower bound of the first bucket.
    - - -## Package google.api - - -### Index - -* [MetricDescriptor](#google.api.MetricDescriptor) -(message) -* [MetricDescriptor.MetricKind](#google.api.MetricDescriptor.MetricKind) -(enum) -* [MetricDescriptor.ValueType](#google.api.MetricDescriptor.ValueType) -(enum) - - -### MetricDescriptor -Defines a metric type and its schema. Once a metric descriptor is created, -deleting or altering it stops data collection and makes the metric type's -existing data unusable. - -NOTE: _No fields in this message type.__ - - -### MetricKind -The kind of measurement. It describes how the data is reported. - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValueDescription
    METRICKINDUNSPECIFIEDDo not use this default value.
    GAUGEAn instantaneous measurement of a value.
    DELTAThe change in a value during a time interval.
    CUMULATIVEA 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.
    - - -### ValueType -The value type of a metric. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValueDescription
    VALUETYPEUNSPECIFIEDDo not use this default value.
    BOOLThe value is a boolean. This value type can be used only if the metric kind is GAUGE.
    INT64The value is a signed 64-bit integer.
    DOUBLEThe value is a double precision floating point number.
    STRINGThe value is a text string. This value type can be used only if the metric kind is GAUGE.
    DISTRIBUTIONThe value is a Distribution.
    MONEYThe value is money.
    diff --git a/_docs/reference/config/adapters/statsd.html b/_docs/reference/config/adapters/statsd.html new file mode 100644 index 000000000000..2fec0f7e6468 --- /dev/null +++ b/_docs/reference/config/adapters/statsd.html @@ -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 %} +

    The statsd adapter enables Istio to deliver metric data to a +StatsD monitoring backend.

    + +

    Params

    +
    +

    Configuration format for the statsd adapter.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    addressstring +

    Address of the statsd server, e.g. localhost:8125

    + +
    prefixstring +

    Metric prefix, do not specify for no prefix

    + +
    flushDurationgoogle.protobuf.Duration +

    FlushDuration controls the maximum amount of time between sending metrics to the statsd collection server. +Metrics are reported when either flushbytes is full or flushduration time has elapsed since the last report.

    + +
    flushBytesint32 +

    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.

    + +
    samplingRatefloat +

    Chance that any particular metric is sampled when incremented; can take the range [0, 1], defaults to 1 if unspecified.

    + +
    metricsmap<string, Params.MetricInfo> +

    Map of metric name -> info. If a metric’s name is not in the map then the metric will not be exported to statsd.

    + +
    +
    +

    Params.MetricInfo

    +
    +

    Describes how to represent this metric in statsd

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    typeParams.MetricInfo.Type +
    nameTemplatestring +

    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 action_name-response_code. +The template strings must conform to go’s text/template syntax. For the example of action_name-response_code, +we use the template: + {{.apiMethod}}-{{.responseCode}}

    + +

    If name_template is the empty string the Istio metric name will be used for statsd metric’s name.

    + +
    +
    +

    Params.MetricInfo.Type

    +
    +

    The type of metric.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    UNKNOWN +
    COUNTER +
    GAUGE +
    DISTRIBUTION +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/statsd.md b/_docs/reference/config/adapters/statsd.md deleted file mode 100644 index b9e5d32dfce3..000000000000 --- a/_docs/reference/config/adapters/statsd.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: statsd Config -overview: Generated documentation for Mixer's statsd Adapter Configuration Schema - -order: 60 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.statsd.config.Params) -(message) -* [Params.MetricInfo](#adapter.statsd.config.Params.MetricInfo) -(message) -* [Params.MetricInfo.Type](#adapter.statsd.config.Params.MetricInfo.Type) -(enum) - - -### Params - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    addressstringAddress of the statsd server, e.g. localhost:8125
    prefixstringMetric prefix, do not specify for no prefix
    flushDurationDurationFlushDuration 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.
    flushBytesint32Maximum 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.
    samplingRatefloatChance that any particular metric is sampled when incremented; can take the range [0, 1], defaults to 1 if unspecified.
    metricsrepeated map<string, MetricInfo>Map of metric name -> info. If a metric's name is not in the map then the metric will not be exported to statsd.
    - - -### MetricInfo -Describes how to represent this metric in statsd - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    typeType
    nameTemplatestring

    The template will be filled with values from the metric's labels and the resulting string will be used as the statsd metric name. This allows easier creation of statsd metrics like actionName-responseCode. The template strings must conform to go's text/template syntax. For the example of actionName-responseCode, we use the template: \{\{.apiMethod\}\}-\{\{.responseCode\}\}

    If nameTemplate is the empty string the Istio metric name will be used for statsd metric's name.

    - - -### Type -The type of metric. - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ValueDescription
    UNKNOWN
    COUNTER
    GAUGE
    DISTRIBUTION
    diff --git a/_docs/reference/config/adapters/stdio.html b/_docs/reference/config/adapters/stdio.html new file mode 100644 index 000000000000..7c12029c0de4 --- /dev/null +++ b/_docs/reference/config/adapters/stdio.html @@ -0,0 +1,212 @@ +--- +title: Stdio +overview: Adapter for outputting logs and metrics locally. +location: https://istio.io/docs/reference/config/adapters/stdio.html +layout: protoc-gen-docs +number_of_entries: 3 +--- +{% raw %} +

    The stdio adapter enables Istio to output logs and metrics to +the local machine. Logs and metrics can be directed to Mixer’s +standard output stream, standard error stream, or to any locally +reachable file. When outputting to files, you can enable file rotation +such that the adapter will automatically manage a set of file backups +as data is generated.

    + +

    Params

    +
    +

    Configuration format for the stdio adapter

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    logStreamParams.Stream +

    Selects which standard stream to write to for log entries. +STDERR is the default Stream.

    + +
    severityLevelsmap<string, Params.Level> +

    Maps from severity strings as specified in LogEntry instances to +the set of levels supported by this adapter. This defaults to a map of

    + +
    "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,
    +
    + +
    metricLevelParams.Level +

    The level to assign to metrics being output. Defaults to INFO.

    + +
    outputAsJsonbool +

    Whether to output a console-friendly or json-friendly format. Defaults to true.

    + +
    outputLevelParams.Level +

    The minimum level to output, anything less than this level is ignored. Defaults to INFO (everything).

    + +
    outputPathstring +

    The file system path when outputting to a file or rotating file.

    + +

    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.

    + +
    maxMegabytesBeforeRotationint32 +

    The maximum size in megabytes of a log file before it gets +rotated. It defaults to 100 megabytes.

    + +
    maxDaysBeforeRotationint32 +

    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.

    + +
    maxRotatedFilesint32 +

    The maximum number of old rotated log files to retain. The default +is to retain at most 1000 logs. 0 indicates no limit.

    + +
    +
    +

    Params.Level

    +
    +

    Importance level for individual items output by this adapter.

    + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    INFO +

    informational, warning, and error log messages are included

    + +
    WARNING +

    warning and error log messges are included

    + +
    ERROR +

    only error log messages are included

    + +
    +
    +

    Params.Stream

    +
    +

    Stream is used to select between different log output sinks.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    STDOUT +

    Output to the Mixer process’ standard output stream. This is the default value.

    + +
    STDERR +

    Output to the Mixer process’ standard error stream.

    + +
    FILE +

    Output to a specific file.

    + +
    ROTATED_FILE +

    Output to a specific rotating file, controlled by the various file rotation options.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/adapters/stdio.md b/_docs/reference/config/adapters/stdio.md deleted file mode 100644 index be09a7acabea..000000000000 --- a/_docs/reference/config/adapters/stdio.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: stdio Config -overview: Generated documentation for Mixer's stdio Adapter Configuration Schema - -order: 70 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.stdio.config.Params) -(message) -* [Params.Level](#adapter.stdio.config.Params.Level) -(enum) -* [Params.Stream](#adapter.stdio.config.Params.Stream) -(enum) - - -### Params - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    logStreamStreamSelects which standard stream to write to for log entries. STDERR is the default Stream.
    severityLevelsrepeated map<string, Level>Maps from severity strings as specified in LogEntry instances to the set of levels supported by this adapter.
    metricLevelLevelThe level to assign to metrics being output.
    outputAsJsonboolWhether to output a console-friendly or json-friendly format
    - - -### Level -Importance level for individual items output by this adapter. - - - - - - - - - - - - - - - - - - - - - - -
    ValueDescription
    INFO
    WARNING
    ERROR
    - - -### Stream -Stream is used to select between different log output sinks. - - - - - - - - - - - - - - - - - -
    ValueDescription
    STDOUT
    STDERR
    diff --git a/_docs/reference/config/adapters/svcctrl.md b/_docs/reference/config/adapters/svcctrl.md deleted file mode 100644 index 505941376169..000000000000 --- a/_docs/reference/config/adapters/svcctrl.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: svcctrl Config -overview: Generated documentation for Mixer's svcctrl Adapter Configuration Schema - -order: 80 - -layout: docs -type: markdown ---- - - - -### Index - -* [Params](#adapter.svcctrl.config.Params) -(message) - - -### Params - - - - - - - - - - - - - -
    FieldTypeDescription
    serviceNamestringFully qualified GCP service name.
    diff --git a/_docs/reference/config/istio.mesh.v1alpha1.html b/_docs/reference/config/istio.mesh.v1alpha1.html index a28ab9191c32..9f4cce7d681d 100644 --- a/_docs/reference/config/istio.mesh.v1alpha1.html +++ b/_docs/reference/config/istio.mesh.v1alpha1.html @@ -4,9 +4,10 @@ location: https://istio.io/docs/reference/config/istio.mesh.v1alpha1.html layout: protoc-gen-docs redirect_from: /docs/reference/config/service-mesh.html +number_of_entries: 5 --- -

    Enumerations

    -

    AuthenticationPolicy

    +{% raw %} +

    AuthenticationPolicy

    AuthenticationPolicy defines authentication policy. It can be set for different scopes (mesh, service …), and the most narrow scope with @@ -14,10 +15,13 @@

    AuthenticationPolicy

    Mesh policy cannot be INHERIT.

    + + + +
    Name Description
    NONE @@ -40,83 +44,23 @@

    AuthenticationPolicy

    -

    MeshConfig.AuthPolicy

    -
    -

    TODO AuthPolicy needs to be removed and merged with AuthPolicy defined above

    - - - - - - - - - - - - - - -
    NameDescription
    NONE -

    Do not encrypt Envoy to Envoy traffic.

    - -
    MUTUAL_TLS -

    Envoy to Envoy traffic is wrapped into mutual TLS connections.

    - -
    -
    -

    MeshConfig.IngressControllerMode

    -
    - - - - - - - - - - - - - - - - - -
    NameDescription
    OFF -

    Disables Istio ingress controller.

    - -
    DEFAULT -

    Istio ingress controller will act on ingress resources that do not -contain any annotation or whose annotations match the value -specified in the ingress_class parameter described earlier. Use this -mode if Istio ingress controller will be the default ingress -controller for the entire kubernetes cluster.

    - -
    STRICT -

    Istio ingress controller will only act on ingress resources whose -annotations match the value specified in the ingress_class parameter -described earlier. Use this mode if Istio ingress controller will be -a secondary ingress controller (e.g., in addition to a -cloud-provided ingress controller).

    - -
    -
    -

    Messages

    -

    MeshConfig

    +

    MeshConfig

    MeshConfig defines mesh-wide variables shared by all Envoy instances in the Istio service mesh.

    + + + @@ -256,18 +200,93 @@

    MeshConfig

    + +
    Field Type Description
    egressProxyAddress string
    +
    +

    MeshConfig.AuthPolicy

    +
    +

    TODO AuthPolicy needs to be removed and merged with AuthPolicy defined above

    + + + + + + + + + + + + + + + + + + +
    NameDescription
    NONE +

    Do not encrypt Envoy to Envoy traffic.

    + +
    MUTUAL_TLS +

    Envoy to Envoy traffic is wrapped into mutual TLS connections.

    + +
    +
    +

    MeshConfig.IngressControllerMode

    +
    + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    OFF +

    Disables Istio ingress controller.

    + +
    DEFAULT +

    Istio ingress controller will act on ingress resources that do not +contain any annotation or whose annotations match the value +specified in the ingress_class parameter described earlier. Use this +mode if Istio ingress controller will be the default ingress +controller for the entire kubernetes cluster.

    + +
    STRICT +

    Istio ingress controller will only act on ingress resources whose +annotations match the value specified in the ingress_class parameter +described earlier. Use this mode if Istio ingress controller will be +a secondary ingress controller (e.g., in addition to a +cloud-provided ingress controller).

    + +
    -

    ProxyConfig

    +

    ProxyConfig

    ProxyConfig defines variables for individual Envoy instances.

    + + + @@ -420,5 +439,7 @@

    ProxyConfig

    +
    Field Type Description
    configPath string
    +{% endraw %} diff --git a/_docs/reference/config/istio.mixer.v1.config.client.html b/_docs/reference/config/istio.mixer.v1.config.client.html index 8524c2d66ab6..02ba599608c1 100644 --- a/_docs/reference/config/istio.mixer.v1.config.client.html +++ b/_docs/reference/config/istio.mixer.v1.config.client.html @@ -3,33 +3,10 @@ overview: Configuration state for the Mixer client library location: https://istio.io/docs/reference/config/istio.mixer.v1.config.client.html layout: protoc-gen-docs +number_of_entries: 24 --- -

    Enumerations

    -

    TransportConfig.NetworkFailPolicy

    -
    - - - - - - - - - - - - - -
    NameDescription
    FAIL_OPEN -

    If network fails, request is passed to the backend.

    - -
    FAIL_CLOSE -

    If network fails, request is rejected.

    - -
    -
    -

    Messages

    -

    APIKey

    +{% raw %} +

    APIKey

    APIKey defines the explicit configuration for generating the request.api_key attribute from HTTP requests.

    @@ -38,11 +15,14 @@

    APIKey

    for a general overview of API keys as defined by OpenAPI.

    + + + @@ -90,18 +70,22 @@

    APIKey

    +
    Field Type Description
    query string (oneof)
    -

    AttributeMatch

    +

    AttributeMatch

    Specifies a match clause to match Istio attributes

    + + + @@ -119,18 +103,22 @@

    AttributeMatch

    +
    Field Type Description
    clause map<string, StringMatch>
    -

    EndUserAuthenticationPolicySpec

    +

    EndUserAuthenticationPolicySpec

    Determines how to apply auth policies for individual requests.

    + + + @@ -161,19 +149,23 @@

    EndUserAuthenticationPolicySpec

    +
    Field Type Description
    jwts JWT[]
    -

    EndUserAuthenticationPolicySpecBinding

    +

    EndUserAuthenticationPolicySpecBinding

    EndUserAuthenticationPolicySpecBinding defines the binding between EndUserAuthenticationPolicySpecs and one or more IstioService.

    + + + @@ -192,16 +184,20 @@

    EndUserAuthenticationPolicySpecB

    +
    Field Type Description
    services IstioService[]
    -

    EndUserAuthenticationPolicySpecReference

    +

    EndUserAuthenticationPolicySpecReference

    + + + @@ -222,9 +218,10 @@

    EndUserAuthenticationPolicySpe

    +
    Field Type Description
    name string
    -

    HTTPAPISpec

    +

    HTTPAPISpec

    HTTPAPISpec defines the canonical configuration for generating API-related attributes from HTTP requests based on the method and @@ -271,14 +268,17 @@

    HTTPAPISpec

    + + + - + +
    Field Type Description
    attributesistio.mixer.v1.Attributesistio.mixer.v1.Attributes

    List of attributes that are generated when any of the HTTP patterns match. This list typically includes the “api.service” @@ -310,9 +310,10 @@

    HTTPAPISpec

    -

    HTTPAPISpecBinding

    +

    HTTPAPISpecBinding

    HTTPAPISpecBinding defines the binding between HTTPAPISpecs and one or more IstioService. For example, the following establishes a binding @@ -333,11 +334,14 @@

    HTTPAPISpecBinding

    + + + @@ -356,9 +360,10 @@

    HTTPAPISpecBinding

    +
    Field Type Description
    services IstioService[]
    -

    HTTPAPISpecPattern

    +

    HTTPAPISpecPattern

    HTTPAPISpecPattern defines a single pattern to match against incoming HTTP requests. The per-pattern list of attributes is @@ -374,14 +379,17 @@

    HTTPAPISpecPattern

    + + + - + +
    Field Type Description
    attributesistio.mixer.v1.Attributesistio.mixer.v1.Attributes

    List of attributes that are generated if the HTTP request matches the specified httpmethod and uritemplate. This typically @@ -430,9 +438,10 @@

    HTTPAPISpecPattern

    -

    HTTPAPISpecReference

    +

    HTTPAPISpecReference

    HTTPAPISpecReference defines a reference to an HTTPAPISpec. This is typically used for establishing bindings between an HTTPAPISpec and an @@ -444,11 +453,14 @@

    HTTPAPISpecReference

    + + + @@ -467,18 +479,22 @@

    HTTPAPISpecReference

    +
    Field Type Description
    name string
    -

    HttpClientConfig

    +

    HttpClientConfig

    Defines the client config for HTTP.

    + + + @@ -508,7 +524,7 @@

    HttpClientConfig

    - + - + +
    Field Type Description
    transport TransportConfig
    mixerAttributesistio.mixer.v1.Attributesistio.mixer.v1.Attributes

    Default attributes to send to Mixer in both Check and Report. This typically includes “destination.ip” and @@ -518,27 +534,31 @@

    HttpClientConfig

    forwardAttributesistio.mixer.v1.Attributesistio.mixer.v1.Attributes

    Default attributes to forward to upstream. This typically includes the “source.ip” and “source.uid” attributes.

    -

    IstioService

    +

    IstioService

    IstioService identifies a service and optionally service version. The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix (e.g. on Kubernetes, “reviews” + “default” + “svc.cluster.local” -> “reviews.default.svc.cluster.local”).

    + + + @@ -581,9 +601,10 @@

    IstioService

    +
    Field Type Description
    name string
    -

    JWT

    +

    JWT

    JSON Web Token (JWT) token format for authentication as defined by https://tools.ietf.org/html/rfc7519. See OAuth @@ -601,11 +622,14 @@

    JWT

    + + + @@ -689,9 +713,10 @@

    JWT

    +
    Field Type Description
    issuer string
    -

    JWT.Location

    +

    JWT.Location

    Defines where to extract the JWT from an HTTP request.

    @@ -707,11 +732,14 @@

    JWT.Location

    + + + @@ -735,18 +763,22 @@

    JWT.Location

    +
    Field Type Description
    header string (oneof)
    -

    Quota

    +

    Quota

    Specifies a quota to use with quota name and amount.

    + + + @@ -763,19 +795,23 @@

    Quota

    +
    Field Type Description
    quota string
    -

    QuotaRule

    +

    QuotaRule

    Specifies a rule with list of matches and list of quotas. If any clause matched, the list of quotas will be used.

    + + + @@ -793,18 +829,22 @@

    QuotaRule

    +
    Field Type Description
    match AttributeMatch[]
    -

    QuotaSpec

    +

    QuotaSpec

    Determines the quotas used for individual requests.

    + + + @@ -813,19 +853,23 @@

    QuotaSpec

    +
    Field Type Description
    rules QuotaRule[]
    -

    QuotaSpecBinding

    +

    QuotaSpecBinding

    QuotaSpecBinding defines the binding between QuotaSpecs and one or more IstioService.

    + + + @@ -844,16 +888,20 @@

    QuotaSpecBinding

    +
    Field Type Description
    services IstioService[]
    -

    QuotaSpecBinding.QuotaSpecReference

    +

    QuotaSpecBinding.QuotaSpecReference

    + + + @@ -872,18 +920,22 @@

    QuotaSpecBinding.QuotaSpecReference

    +
    Field Type Description
    name string
    -

    ServiceConfig

    +

    ServiceConfig

    Defines the per-service client configuration.

    + + + @@ -902,7 +954,7 @@

    ServiceConfig

    - + +
    Field Type Description
    disableCheckCalls bool
    mixerAttributesistio.mixer.v1.Attributesistio.mixer.v1.Attributes

    Send these attributes to Mixer in both Check and Report. This typically includes the “destination.service” attribute.

    @@ -933,19 +985,23 @@

    ServiceConfig

    -

    StringMatch

    +

    StringMatch

    Describes how to match a given string in HTTP headers. Match is case-sensitive.

    + + + @@ -970,18 +1026,22 @@

    StringMatch

    +
    Field Type Description
    exact string (oneof)
    -

    TcpClientConfig

    +

    TcpClientConfig

    Defines the client config for TCP.

    + + + @@ -992,7 +1052,7 @@

    TcpClientConfig

    - + +
    Field Type Description
    transport TransportConfig
    mixerAttributesistio.mixer.v1.Attributesistio.mixer.v1.Attributes

    Default attributes to send to Mixer in both Check and Report. This typically includes “destination.ip” and @@ -1035,18 +1095,22 @@

    TcpClientConfig

    -

    TransportConfig

    +

    TransportConfig

    Defines the transport config on how to call Mixer.

    + + + @@ -1088,5 +1152,121 @@

    TransportConfig

    + + + + + + + + + + + +
    Field Type Description
    disableCheckCache bool
    checkClusterstring +

    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.

    + +

    NOTE: Any value other than the default “mixer_server” will require the +Istio Grafana dashboards to be reconfigured to use the new name.

    + +
    reportClusterstring +

    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.

    + +

    NOTE: Any value other than the default “mixer_server” will require the +Istio Grafana dashboards to be reconfigured to use the new name.

    + +
    +
    +

    TransportConfig.NetworkFailPolicy

    +
    + + + + + + + + + + + + + + + + + +
    NameDescription
    FAIL_OPEN +

    If network fails, request is passed to the backend.

    + +
    FAIL_CLOSE +

    If network fails, request is rejected.

    + +
    +
    +

    istio.mixer.v1.Attributes

    +
    +

    Attributes represents a set of typed name/value pairs. Many of Mixer’s +API either consume and/or return attributes.

    + +

    Istio uses attributes to control the runtime behavior of services running in the service mesh. +Attributes are named and typed pieces of metadata describing ingress and egress traffic and the +environment this traffic occurs in. An Istio attribute carries a specific piece +of information such as the error code of an API request, the latency of an API request, or the +original IP address of a TCP connection. For example:

    + +
    request.path: xyz/abc
    +request.size: 234
    +request.time: 12:34:56.789 04/17/2017
    +source.ip: 192.168.0.1
    +target.service: example
    +
    + +

    A given Istio deployment has a fixed vocabulary of attributes that it understands. +The specific vocabulary is determined by the set of attribute producers being used +in the deployment. The primary attribute producer in Istio is Envoy, although +specialized Mixer adapters and services can also generate attributes.

    + +

    The common baseline set of attributes available in most Istio deployments is defined +here.

    + +

    Attributes are strongly typed. The supported attribute types are defined by +ValueType. +Each type of value is encoded into one of the so-called transport types present +in this message.

    + +

    Defines a map of attributes in uncompressed format. +Following places may use this message: +1) Configure Istio/Proxy with static per-proxy attributes, such as source.uid. +2) Service IDL definition to extract api attributes for active requests. +3) Forward attributes from client proxy to server proxy for HTTP requests.

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    attributesmap<string, istio.mixer.v1.Attributes.AttributeValue> +

    A map of attribute name to its value.

    + +
    +{% endraw %} diff --git a/_docs/reference/config/istio.mixer.v1.config.html b/_docs/reference/config/istio.mixer.v1.config.html index 5c0d16f7246e..3600b6f9e2dc 100644 --- a/_docs/reference/config/istio.mixer.v1.config.html +++ b/_docs/reference/config/istio.mixer.v1.config.html @@ -4,7 +4,9 @@ location: https://istio.io/docs/reference/config/istio.mixer.v1.config.html layout: protoc-gen-docs redirect_from: /docs/reference/config/mixer/policy-and-telemetry-rules.html +number_of_entries: 7 --- +{% raw %}

    Action

    Action describes which Handler to invoke and what data to pass to it for processing.

    @@ -12,18 +14,20 @@

    Action

    The following example instructs Mixer to invoke ‘prometheus-handler’ handler and pass it the object constructed using the instance ‘RequestCountByService’

    -

    yaml - handler: prometheus-handler +

      handler: prometheus-handler
       instances:
       - RequestCountByService
    -

    +
    + + + @@ -44,6 +48,7 @@

    Action

    +
    Field Type Description
    handler string

    AttributeManifest

    @@ -52,11 +57,14 @@

    AttributeManifest

    of an Istio deployment.

    + + + @@ -96,6 +104,7 @@

    AttributeManifest

    +
    Field Type Description
    revision string

    AttributeManifest.AttributeInfo

    @@ -143,11 +152,14 @@

    HTTP Mapping

    encoding scheme will be decided later.

    + + + @@ -164,6 +176,7 @@

    HTTP Mapping

    +
    Field Type Description
    description string

    Handler

    @@ -174,18 +187,20 @@

    Handler

    In the following example we define a metrics handler using the Mixer’s prepackaged prometheus adapter. This handler doesn’t require any parameters.

    -

    yaml -name: prometheus-handler +

    name: prometheus-handler
     adapter: prometheus
     params:
    -

    +
    + + + @@ -213,6 +228,7 @@

    Handler

    +
    Field Type Description
    name string

    Instance

    @@ -228,22 +244,24 @@

    Instance

    Instances produced with this instance can be referenced by Actions using name ‘RequestCountByService’.

    -

    yaml -- name: RequestCountByService +

    - name: RequestCountByService
       template: istio.mixer.adapter.metric.Metric
       params:
         value: 1
         dimensions:
           source: source.service
           destination_ip: destination.ip
    -

    +
    + + + @@ -273,6 +291,7 @@

    Instance

    +
    Field Type Description
    name string

    Rule

    @@ -283,20 +302,22 @@

    Rule

    The following example instructs Mixer to invoke ‘prometheus-handler’ handler for all services and pass it the instance constructed using the ‘RequestCountByService’ instance.

    -

    yaml -- match: destination.service == "*" +

    - match: destination.service == "*"
       actions:
       - handler: prometheus-handler
         instances:
         - RequestCountByService
    -

    +
    + + + @@ -325,6 +346,7 @@

    Rule

    +
    Field Type Description
    match string

    google.protobuf.Struct

    @@ -339,11 +361,14 @@

    google.protobuf.Struct

    The JSON representation for Struct is JSON object.

    + + + @@ -352,5 +377,7 @@

    google.protobuf.Struct

    +
    Field Type Description
    fields map<string, google.protobuf.Value>
    +{% endraw %} diff --git a/_docs/reference/config/istio.rbac.v1alpha1.html b/_docs/reference/config/istio.rbac.v1alpha1.html index 2cdb933fc85d..3f3f555f5d0d 100644 --- a/_docs/reference/config/istio.rbac.v1alpha1.html +++ b/_docs/reference/config/istio.rbac.v1alpha1.html @@ -3,7 +3,9 @@ overview: Configuration affecting resource-based access control location: https://istio.io/docs/reference/config/istio.rbac.v1alpha1.html layout: protoc-gen-docs +number_of_entries: 6 --- +{% raw %}

    Istio RBAC (Role Based Access Control) defines ServiceRole and ServiceRoleBinding objects.

    @@ -93,11 +95,14 @@

    AccessRule

    AccessRule defines a permission to access a list of services.

    + + + @@ -144,6 +149,7 @@

    AccessRule

    +
    Field Type Description
    services string[]

    AccessRule.Constraint

    @@ -153,11 +159,14 @@

    AccessRule.Constraint

    (https://github.com/istio/istio/blob/master/mixer/template/authorization/template.proto).

    + + + @@ -178,6 +187,7 @@

    AccessRule.Constraint

    +
    Field Type Description
    key string

    RoleRef

    @@ -185,11 +195,14 @@

    RoleRef

    RoleRef refers to a role object.

    + + + @@ -209,6 +222,7 @@

    RoleRef

    +
    Field Type Description
    kind string

    ServiceRole

    @@ -218,11 +232,14 @@

    ServiceRole

    of the ServiceRole is specified in “metadata” section of the ServiceRole object.

    + + + @@ -231,6 +248,7 @@

    ServiceRole

    +
    Field Type Description
    rules AccessRule[]

    ServiceRoleBinding

    @@ -241,11 +259,14 @@

    ServiceRoleBinding

    object.

    + + + @@ -262,6 +283,7 @@

    ServiceRoleBinding

    +
    Field Type Description
    subjects Subject[]

    Subject

    @@ -272,11 +294,14 @@

    Subject

    (https://github.com/istio/istio/blob/master/mixer/template/authorization/template.proto).

    + + + @@ -304,5 +329,7 @@

    Subject

    +
    Field Type Description
    user string
    +{% endraw %} diff --git a/_docs/reference/config/istio.routing.v1alpha1.html b/_docs/reference/config/istio.routing.v1alpha1.html index e44b52fd9338..4c6e0beb1873 100644 --- a/_docs/reference/config/istio.routing.v1alpha1.html +++ b/_docs/reference/config/istio.routing.v1alpha1.html @@ -4,7 +4,9 @@ location: https://istio.io/docs/reference/config/istio.routing.v1alpha1.html layout: protoc-gen-docs redirect_from: /docs/reference/config/traffic-rules/routing-rules.html +number_of_entries: 28 --- +{% raw %}

    Configuration affecting traffic routing. Here are a few terms useful to define in the context of routing rules.

    @@ -35,45 +37,7 @@ the version is determined by Envoy, enabling the application code to decouple itself from the evolution of dependent services.

    -

    Enumerations

    -

    LoadBalancing.SimpleLBPolicy

    -
    -

    Load balancing algorithms supported by Envoy.

    - - - - - - - - - - - - - - - - - - -
    NameDescription
    ROUND_ROBIN -

    Simple round robin policy.

    - -
    LEAST_CONN -

    The least request load balancer uses an O(1) algorithm which selects -two random healthy hosts and picks the host which has fewer active -requests.

    - -
    RANDOM -

    The random load balancer selects a random healthy host. The random -load balancer generally performs better than round robin if no health -checking policy is configured.

    - -
    -
    -

    Messages

    -

    CircuitBreaker

    +

    CircuitBreaker

    Circuit breaker configuration for Envoy. The circuit breaker implementation is fine-grained in that it tracks the success/failure @@ -86,11 +50,14 @@

    CircuitBreaker

    for more details.

    + + + @@ -105,9 +72,10 @@

    CircuitBreaker

    +
    Field Type Description
    simpleCb CircuitBreaker.SimpleCircuitBreakerPolicy (oneof)
    -

    CircuitBreaker.SimpleCircuitBreakerPolicy

    +

    CircuitBreaker.SimpleCircuitBreakerPolicy

    A simple circuit breaker can be set based on a number of criteria such as connection and request limits. For example, the following destination @@ -152,11 +120,14 @@

    CircuitBreaker.SimpleCircuitB + + + @@ -235,9 +206,10 @@

    CircuitBreaker.SimpleCircuitB

    +
    Field Type Description
    maxConnections int32

    -

    CorsPolicy

    +

    CorsPolicy

    Describes the Cross-Origin Resource Sharing (CORS) policy, for a given service. Refer to @@ -270,11 +242,14 @@

    CorsPolicy

    + + + @@ -331,9 +306,10 @@

    CorsPolicy

    +
    Field Type Description
    allowOrigin string[]
    -

    DestinationPolicy

    +

    DestinationPolicy

    DestinationPolicy defines client/caller-side policies that determine how to handle traffic bound to a particular destination service. The policy @@ -384,11 +360,14 @@

    DestinationPolicy

    service version indicated in the destination policy.

    + + + @@ -431,9 +410,10 @@

    DestinationPolicy

    +
    Field Type Description
    destination IstioService
    -

    DestinationWeight

    +

    DestinationWeight

    Each routing rule is associated with one or more service versions (see glossary in beginning of document). Weights associated with the version @@ -458,11 +438,14 @@

    DestinationWeight

    + + + @@ -494,16 +477,20 @@

    DestinationWeight

    +
    Field Type Description
    destination IstioService
    -

    EgressRule

    +

    EgressRule

    Egress rules describe the properties of a service outside Istio. When transparent proxying -is used, egress rules signify a white listed set of domains that microserves in the mesh +is used, egress rules signify a white listed set of external services that microserves in the mesh are allowed to access. A subset of routing rules and all destination policies can be applied -on the service targeted by an egress rule. The destination of an egress rule is allowed to -contain wildcards (e.g., *.foo.com). Currently, only HTTP-based services can be expressed -through the egress rule. If TLS origination from the sidecar is desired, the protocol +on the service targeted by an egress rule. TCP services and HTTP-based services can be expressed +by an egress rule. The destination of an egress rule for HTTP-based services must be an IP or a domain name, +optionally with a wildcard prefix (e.g., *.foo.com). For TCP based services, the destination of an +egress rule must be an IP or a block of IPs in CIDR notation.

    + +

    If TLS origination from the sidecar is desired, the protocol associated with the service port must be marked as HTTPS, and the service is expected to be accessed over HTTP (e.g., http://gmail.com:443). The sidecar will automatically upgrade the connection to TLS when initiating a connection with the external service.

    @@ -523,25 +510,47 @@

    EgressRule

    protocol: https +

    The following egress rule describes the set of services accessed by a block of IPs

    + +
    kind: EgressRule
    +metadata:
    +  name: bar-egress-rule
    +spec:
    +  destination:
    +    service: 92.198.174.192/27
    +  ports:
    +    - port: 111
    +      protocol: tcp
    +
    + + + + @@ -564,18 +573,22 @@

    EgressRule

    +
    Field Type Description
    destination IstioService -

    REQUIRED: Hostname or a wildcard domain name associated with the external service. -ONLY the “service” field of destination will be taken into consideration. Name, +

    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.

    + +

    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 “.foo.com” or “-bar.foo.com”. The character ‘’ in a domain specification indicates a non-empty string. Hence, a wildcard domain of form “-bar.foo.com” will match “baz-bar.foo.com” but not “-bar.foo.com”.

    +

    The “service” field of “destination” for TCP services must be an IP or a block of IPs in CIDR notation.

    +
    -

    EgressRule.Port

    +

    EgressRule.Port

    Port describes the properties of a specific TCP port of an external service.

    + + + @@ -593,9 +606,10 @@

    EgressRule.Port

    +
    Field Type Description
    port int32
    -

    HTTPFaultInjection

    +

    HTTPFaultInjection

    HTTPFaultInjection can be used to specify one or more faults to inject while forwarding http requests to the destination specified in the route @@ -607,11 +621,14 @@

    HTTPFaultInjection

    both are specified simultaneously.

    + + + @@ -630,9 +647,10 @@

    HTTPFaultInjection

    +
    Field Type Description
    delay HTTPFaultInjection.Delay
    -

    HTTPFaultInjection.Abort

    +

    HTTPFaultInjection.Abort

    Abort specification is used to prematurely abort a request with a pre-specified error code. The following example will return an HTTP @@ -658,11 +676,14 @@

    HTTPFaultInjection.Abort

    not specified, all requests are aborted.

    + + + @@ -700,9 +721,10 @@

    HTTPFaultInjection.Abort

    +
    Field Type Description
    percent float
    -

    HTTPFaultInjection.Delay

    +

    HTTPFaultInjection.Delay

    Delay specification is used to inject latency into the request forwarding path. The following example will introduce a 5 second delay @@ -729,11 +751,14 @@

    HTTPFaultInjection.Delay

    unspecified, all request will be delayed.

    + + + @@ -769,9 +794,10 @@

    HTTPFaultInjection.Delay

    +
    Field Type Description
    percent float
    -

    HTTPRedirect

    +

    HTTPRedirect

    HTTPRedirect can be used to send a 302 redirect response to the caller, where the Authority/Host and the URI in the response can be swapped with @@ -795,11 +821,14 @@

    HTTPRedirect

    + + + @@ -819,9 +848,10 @@

    HTTPRedirect

    +
    Field Type Description
    uri string
    -

    HTTPRetry

    +

    HTTPRetry

    Describes the retry policy to use when a HTTP request fails. For example, the following rule sets the maximum number of retries to 3 when @@ -843,11 +873,14 @@

    HTTPRetry

    + + + @@ -862,16 +895,20 @@

    HTTPRetry

    +
    Field Type Description
    simpleRetry HTTPRetry.SimpleRetryPolicy (oneof)
    -

    HTTPRetry.SimpleRetryPolicy

    +

    HTTPRetry.SimpleRetryPolicy

    + + + @@ -899,9 +936,10 @@

    HTTPRetry.SimpleRetryPolicy

    +
    Field Type Description
    attempts int32
    -

    HTTPRewrite

    +

    HTTPRewrite

    HTTPRewrite can be used to rewrite specific parts of a HTTP request before forwarding the request to the destination. Rewrite primitive can @@ -928,11 +966,14 @@

    HTTPRewrite

    + + + @@ -951,9 +992,10 @@

    HTTPRewrite

    +
    Field Type Description
    uri string
    -

    HTTPTimeout

    +

    HTTPTimeout

    Describes HTTP request timeout. For example, the following rule sets a 10 second timeout for calls to the ratings:v1 service

    @@ -973,11 +1015,14 @@

    HTTPTimeout

    + + + @@ -992,16 +1037,20 @@

    HTTPTimeout

    +
    Field Type Description
    simpleTimeout HTTPTimeout.SimpleTimeoutPolicy (oneof)
    -

    HTTPTimeout.SimpleTimeoutPolicy

    +

    HTTPTimeout.SimpleTimeoutPolicy

    + + + @@ -1022,9 +1071,10 @@

    HTTPTimeout.SimpleTimeoutPolicy

    +
    Field Type Description
    timeout google.protobuf.Duration
    -

    IngressRule

    +

    IngressRule

    Ingress rules are routing rules applied to the ingress proxy pool. The ingress proxes serve as the receiving edge proxy for the entire mesh, but @@ -1040,11 +1090,14 @@

    IngressRule

    WARNING: This API is experimental and under active development

    + + + @@ -1109,20 +1162,24 @@

    IngressRule

    +
    Field Type Description
    port int32
    -

    IstioService

    +

    IstioService

    IstioService identifies a service and optionally service version. The FQDN of the service is composed from the name, namespace, and implementation-specific domain suffix (e.g. on Kubernetes, “reviews” + “default” + “svc.cluster.local” -> “reviews.default.svc.cluster.local”).

    + + + @@ -1165,9 +1222,10 @@

    IstioService

    +
    Field Type Description
    name string
    -

    L4FaultInjection

    +

    L4FaultInjection

    (– Faults can be injected into the connections from downstream by the Envoy, for testing the failure recovery capabilities of downstream @@ -1179,11 +1237,14 @@

    L4FaultInjection

    component. L4 fault injection is not supported at the moment. –)

    + + + @@ -1202,19 +1263,23 @@

    L4FaultInjection

    +
    Field Type Description
    throttle L4FaultInjection.Throttle
    -

    L4FaultInjection.Terminate

    +

    L4FaultInjection.Terminate

    Abruptly reset (terminate) the Tcp connection after it has been established, emulating remote server crash or link failure.

    + + + @@ -1232,18 +1297,22 @@

    L4FaultInjection.Terminate

    +
    Field Type Description
    percent float
    -

    L4FaultInjection.Throttle

    +

    L4FaultInjection.Throttle

    Bandwidth throttling for Tcp and Udp connections

    + + + @@ -1297,19 +1366,23 @@

    L4FaultInjection.Throttle

    +
    Field Type Description
    percent float
    -

    L4MatchAttributes

    +

    L4MatchAttributes

    (– L4 connection match attributes. Note that L4 connection matching support is incomplete. –)

    + + + @@ -1329,9 +1402,10 @@

    L4MatchAttributes

    +
    Field Type Description
    sourceSubnet string[]
    -

    LoadBalancing

    +

    LoadBalancing

    Load balancing policy to use when forwarding traffic. These policies directly correlate to load balancer @@ -1349,11 +1423,14 @@

    LoadBalancing

    + + + @@ -1370,9 +1447,50 @@

    LoadBalancing

    + +
    Field Type Description
    name LoadBalancing.SimpleLBPolicy (oneof)
    +
    +

    LoadBalancing.SimpleLBPolicy

    +
    +

    Load balancing algorithms supported by Envoy.

    + + + + + + + + + + + + + + + + + + + + + +
    NameDescription
    ROUND_ROBIN +

    Simple round robin policy.

    + +
    LEAST_CONN +

    The least request load balancer uses an O(1) algorithm which selects +two random healthy hosts and picks the host which has fewer active +requests.

    + +
    RANDOM +

    The random load balancer selects a random healthy host. The random +load balancer generally performs better than round robin if no health +checking policy is configured.

    + +
    -

    MatchCondition

    +

    MatchCondition

    Match condition specifies a set of criterion to be met in order for the route rule to be applied to the connection or HTTP request. The @@ -1406,11 +1524,14 @@

    MatchCondition

    request header must be specified.

    + + + @@ -1443,18 +1564,22 @@

    MatchCondition

    +
    Field Type Description
    source IstioService
    -

    MatchRequest

    +

    MatchRequest

    MatchRequest specifies the attributes of an HTTP request to be used for matching a request.

    + + + @@ -1481,9 +1606,10 @@

    MatchRequest

    +
    Field Type Description
    headers map<string, StringMatch>
    -

    RouteRule

    +

    RouteRule

    Route rule provides a custom routing policy based on the source and destination service versions and connection/request metadata. The rule @@ -1512,11 +1638,14 @@

    RouteRule

    + + + @@ -1659,18 +1788,22 @@

    RouteRule

    +
    Field Type Description
    destination IstioService
    -

    StringMatch

    +

    StringMatch

    Describes how to match a given string in HTTP headers. Match is case-sensitive.

    + + + @@ -1695,5 +1828,7 @@

    StringMatch

    +
    Field Type Description
    exact string (oneof)
    +{% endraw %} diff --git a/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html b/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html index 4d18620ac4af..3bea696e13f8 100644 --- a/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html +++ b/_docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html @@ -3,7 +3,9 @@ overview: Value types used with templates location: https://istio.io/docs/reference/config/mixer/istio.mixer.v1.config.descriptor.html layout: protoc-gen-docs +number_of_entries: 1 --- +{% raw %}

    ValueType

    ValueType describes the types that values in the Istio system can take. These @@ -12,10 +14,13 @@

    ValueType

    fields of other descriptors.

    + + + +
    Name Description
    VALUE_TYPE_UNSPECIFIED @@ -100,5 +105,7 @@

    ValueType

    +{% endraw %} diff --git a/_docs/reference/config/mixer/istio.mixer.v1.template.html b/_docs/reference/config/mixer/istio.mixer.v1.template.html index 7e3b78f15c8f..a9244a5f6ad9 100644 --- a/_docs/reference/config/mixer/istio.mixer.v1.template.html +++ b/_docs/reference/config/mixer/istio.mixer.v1.template.html @@ -3,20 +3,45 @@ overview: Definitions used when creating Mixer templates location: https://istio.io/docs/reference/config/mixer/istio.mixer.v1.template.html layout: protoc-gen-docs +number_of_entries: 8 --- +{% raw %}

    This proto describes the types that can be used inside Mixer templates. These message types are used to specify field datatype to express the equivalent ValueType for the expressions the field can be mapped to.

    -

    Enumerations

    -

    TemplateVariety

    +

    DNSName

    +
    +

    DNSName is used inside templates for fields that are of ValueType “DNS_NAME”

    + +
    +

    Duration

    +
    +

    Duration is used inside templates for fields that are of ValueType “DURATION”

    + +
    +

    EmailAddress

    +
    +

    EmailAddress is used inside templates for fields that are of ValueType “EMAIL_ADDRESS” +DO NOT USE !! Under Development

    + +
    +

    IPAddress

    +
    +

    IPAddress is used inside templates for fields that are of ValueType “IP_ADDRESS”

    + +
    +

    TemplateVariety

    Specifies the varity of the the Template.

    + + + +
    Name Description
    TEMPLATE_VARIETY_CHECK @@ -37,44 +62,24 @@

    TemplateVariety

    -

    Messages

    -

    DNSName

    -
    -

    DNSName is used inside templates for fields that are of ValueType “DNS_NAME”

    - -
    -

    Duration

    -
    -

    Duration is used inside templates for fields that are of ValueType “DURATION”

    - -
    -

    EmailAddress

    -
    -

    EmailAddress is used inside templates for fields that are of ValueType “EMAIL_ADDRESS” -DO NOT USE !! Under Development

    - -
    -

    IPAddress

    -
    -

    IPAddress is used inside templates for fields that are of ValueType “IP_ADDRESS”

    - -
    -

    TimeStamp

    +

    TimeStamp

    TimeStamp is used inside templates for fields that are of ValueType “TIMESTAMP”

    -

    Uri

    +

    Uri

    Uri is used inside templates for fields that are of ValueType “URI” DO NOT USE ! Under Development

    -

    Value

    +

    Value

    Value is used inside templates for fields that have dynamic types. The actual datatype of the field depends on the datatype of the expression used in the operator configuration.

    +{% endraw %} diff --git a/_docs/reference/config/template/apikey.html b/_docs/reference/config/template/apikey.html new file mode 100644 index 000000000000..43b14b3616b6 --- /dev/null +++ b/_docs/reference/config/template/apikey.html @@ -0,0 +1,82 @@ +--- +title: API Key +overview: A template that represents a single API key. +location: https://istio.io/docs/reference/config/template/apikey.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The apikey template represents a single API key, which is used for authorization checks.

    + +

    Template

    +
    +

    The apikey template represents a single API key, used to authorize API calls.

    + +

    Sample config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: apikey
    +metadata:
    +  name: validate-apikey
    +  namespace: istio-system
    +spec:
    +  api: api.service | ""
    +  api_version: api.version | ""
    +  api_operation: api.operation | ""
    +  api_key: api.key | ""
    +  timestamp: request.time
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    apistring +

    The API being called (api.service).

    + +
    apiVersionstring +

    The version of the API (api.version).

    + +
    apiOperationstring +

    The API operation is being called.

    + +
    apiKeystring +

    API key used in API call.

    + +
    timestampistio.mixer.v1.template.TimeStamp +

    Timestamp of API call.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/template/authorization.html b/_docs/reference/config/template/authorization.html new file mode 100644 index 000000000000..3a01cf1182fc --- /dev/null +++ b/_docs/reference/config/template/authorization.html @@ -0,0 +1,173 @@ +--- +title: Authorization +overview: A template used to represent an access control query. +location: https://istio.io/docs/reference/config/template/authorization.html +layout: protoc-gen-docs +number_of_entries: 3 +--- +{% raw %} +

    The authorization template defines parameters for performing policy +enforcement within Istio. It is primarily concerned with enabling Mixer

    + +

    Action

    +
    +

    An action defines “how a resource is accessed”.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    namespacestring +

    Namespace the target action is taking place in.

    + +
    servicestring +

    The Service the action is being taken on.

    + +
    methodstring +

    What action is being taken.

    + +
    pathstring +

    HTTP REST path within the service

    + +
    propertiesmap<string, istio.mixer.v1.template.Value> +

    Additional data about the action for use in policy.

    + +
    +
    +

    Subject

    +
    +

    A subject contains a list of attributes that identify +the caller identity.

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    userstring +

    The user name/ID that the subject represents.

    + +
    groupsstring +

    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.

    + +
    propertiesmap<string, istio.mixer.v1.template.Value> +

    Additional attributes about the subject.

    + +
    +
    +

    Template

    +
    +

    The authorization template defines parameters for performing policy +enforcement within Istio. It is primarily concerned with enabling Mixer +adapters to make decisions about who is allowed to do what. +In this template, the “who” is defined in a Subject message. The “what” is +defined in an Action message. During a Mixer Check call, these values +will be populated based on configuration from request attributes and +passed to individual authorization adapters to adjudicate.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: authorization
    +metadata:
    +  name: authinfo
    +  namespace: istio-system
    +spec:
    + subject:
    +   user: source.user | request.auth.token[user] | ""
    +   groups: request.auth.token[groups]
    +   properties:
    +    iss: request.auth.token["iss"]
    + action:
    +   namespace: target.namespace | "default"
    +   service: target.service | ""
    +   path: request.path | "/"
    +   method: request.method | "post"
    +   properties:
    +     version: destination.labels[version] | ""
    +
    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    subjectSubject +

    A subject contains a list of attributes that identify +the caller identity.

    + +
    actionAction +

    An action defines “how a resource is accessed”.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/template/checknothing.html b/_docs/reference/config/template/checknothing.html new file mode 100644 index 000000000000..29c0b1bdc453 --- /dev/null +++ b/_docs/reference/config/template/checknothing.html @@ -0,0 +1,29 @@ +--- +title: Check Nothing +overview: A template that carries no data, useful for testing. +location: https://istio.io/docs/reference/config/template/checknothing.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The checknothing template represents an empty block of data, which can useful +in different testing scenarios.

    + +

    Template

    +
    +

    CheckNothing represents an empty block of data that is used for Check-capable +adapters which don’t require any parameters. This is primarily intended for testing +scenarios.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: checknothing
    +metadata:
    +  name: denyrequest
    +  namespace: istio-system
    +spec:
    +
    + +
    +{% endraw %} diff --git a/_docs/reference/config/template/checknothing.md b/_docs/reference/config/template/checknothing.md deleted file mode 100644 index 8bd407502fde..000000000000 --- a/_docs/reference/config/template/checknothing.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: checknothing Config -overview: Generated documentation for Mixer's Template Configuration Schema - -order: 1150 - -layout: docs -type: markdown ---- - - -
    -### Index - -* [Template](#checknothing.Template) -(message) - - -### Template -CheckNothing represents an empty block of data that is used for Check-capable -adapters which don't require any parameters. This is primarily intended for testing -scenarios. - -Example config: - -``` -apiVersion: "config.istio.io/v1alpha2" -kind: checknothing -metadata: - name: denyrequest - namespace: istio-config-default -spec: -``` - -NOTE: _No fields in this message type.__ diff --git a/_docs/reference/config/template/kubernetes.html b/_docs/reference/config/template/kubernetes.html new file mode 100644 index 000000000000..15412afe690b --- /dev/null +++ b/_docs/reference/config/template/kubernetes.html @@ -0,0 +1,292 @@ +--- +title: Kubernetes +overview: A template that is used to control the production of Kubernetes-specific attributes. +location: https://istio.io/docs/reference/config/template/kubernetes.html +layout: protoc-gen-docs +number_of_entries: 2 +--- +{% raw %} +

    The kubernetes template holds data that controls the production of Kubernetes-specific +attributes.

    + +

    OutputTemplate

    +
    +

    OutputTemplate refers to the output from the adapter. It is used inside the attribute_binding section of the config +to assign values to the generated attributes using the $out.<field name of the OutputTemplate> syntax.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    sourcePodIpistio.mixer.v1.template.IPAddress +

    Refers to source pod ip address. attributebindings can refer to this field using $out.sourcepod_ip

    + +
    sourcePodNamestring +

    Refers to source pod name. attributebindings can refer to this field using $out.sourcepod_name

    + +
    sourceLabelsmap<string, string> +

    Refers to source pod labels. attributebindings can refer to this field using $out.sourcelabels

    + +
    sourceNamespacestring +

    Refers to source pod namespace. attributebindings can refer to this field using $out.sourcenamespace

    + +
    sourceServicestring +

    Refers to source service. attributebindings can refer to this field using $out.sourceservice

    + +
    sourceServiceAccountNamestring +

    Refers to source pod service account name. attributebindings can refer to this field using $out.sourceserviceaccountname

    + +
    sourceHostIpistio.mixer.v1.template.IPAddress +

    Refers to source pod host ip address. attributebindings can refer to this field using $out.sourcehost_ip

    + +
    destinationPodIpistio.mixer.v1.template.IPAddress +

    Refers to destination pod ip address. attributebindings can refer to this field using $out.destinationpod_ip

    + +
    destinationPodNamestring +

    Refers to destination pod name. attributebindings can refer to this field using $out.destinationpod_name

    + +
    destinationLabelsmap<string, string> +

    Refers to destination pod labels. attributebindings can refer to this field using $out.destinationlabels

    + +
    destinationNamespacestring +

    Refers to destination pod namespace. attributebindings can refer to this field using $out.destinationnamespace

    + +
    destinationServicestring +

    Refers to destination service. attributebindings can refer to this field using $out.destinationservice

    + +
    destinationServiceAccountNamestring +

    Refers to destination pod service account name. attributebindings can refer to this field using $out.destinationserviceaccountname

    + +
    destinationHostIpistio.mixer.v1.template.IPAddress +

    Refers to destination pod host ip address. attributebindings can refer to this field using $out.destinationhost_ip

    + +
    originPodIpistio.mixer.v1.template.IPAddress +

    Refers to origin pod ip address. attributebindings can refer to this field using $out.originpod_ip

    + +
    originPodNamestring +

    Refers to origin pod name. attributebindings can refer to this field using $out.originpod_name

    + +
    originLabelsmap<string, string> +

    Refers to origin pod labels. attributebindings can refer to this field using $out.originlabels

    + +
    originNamespacestring +

    Refers to origin pod namespace. attributebindings can refer to this field using $out.originnamespace

    + +
    originServicestring +

    Refers to origin service. attributebindings can refer to this field using $out.originservice

    + +
    originServiceAccountNamestring +

    Refers to origin pod service account name. attributebindings can refer to this field using $out.originserviceaccountname

    + +
    originHostIpistio.mixer.v1.template.IPAddress +

    Refers to origin pod host ip address. attributebindings can refer to this field using $out.originhost_ip

    + +
    +
    +

    Template

    +
    +

    The kubernetes template represents data used to generate kubernetes-derived attributes.

    + +

    The values provided controls the manner in which the kubernetesenv adapter discovers and +generates values related to pod information.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: kubernetes
    +metadata:
    +  name: attributes
    +  namespace: istio-system
    +spec:
    +  # Pass the required attribute data to the adapter
    +  source_uid: source.uid | ""
    +  source_ip: source.ip | ip("0.0.0.0") # default to unspecified ip addr
    +  destination_uid: destination.uid | ""
    +  destination_ip: destination.ip | ip("0.0.0.0") # default to unspecified ip addr
    +  attribute_bindings:
    +    # Fill the new attributes from the adapter produced output.
    +    # $out refers to an instance of OutputTemplate message
    +    source.ip: $out.source_pod_ip
    +    source.labels: $out.source_labels
    +    source.namespace: $out.source_namespace
    +    source.service: $out.source_service
    +    source.serviceAccount: $out.source_service_account_name
    +    destination.ip: $out.destination_pod_ip
    +    destination.labels: $out.destination_labels
    +    destination.namespace: $out.destination_mamespace
    +    destination.service: $out.destination_service
    +    destination.serviceAccount: $out.destination_service_account_name
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    sourceUidstring +

    Source pod’s uid. Must be of the form: “kubernetes://pod.namespace”

    + +
    sourceIpistio.mixer.v1.template.IPAddress +

    Source pod’s ip.

    + +
    destinationUidstring +

    Destination pod’s uid. Must be of the form: “kubernetes://pod.namespace”

    + +
    destinationIpistio.mixer.v1.template.IPAddress +

    Destination pod’s ip.

    + +
    originUidstring +

    Origin pod’s uid. Must be of the form: “kubernetes://pod.namespace”

    + +
    originIpistio.mixer.v1.template.IPAddress +

    Origin pod’s ip.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/template/listentry.html b/_docs/reference/config/template/listentry.html new file mode 100644 index 000000000000..48273c26266c --- /dev/null +++ b/_docs/reference/config/template/listentry.html @@ -0,0 +1,52 @@ +--- +title: List Entry +overview: A template designed to let you perform list checking operations. +location: https://istio.io/docs/reference/config/template/listentry.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The listentry template is designed to let you perform list check operations +with the list adapter.

    + +

    Template

    +
    +

    The listentry template is used to verify the presence/absence of a string +within a list.

    + +

    When writing the configuration, the value for the fields associated with this template can either be a +literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value, +then the expression’s inferred type must match the datatype of the field.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: listentry
    +metadata:
    +  name: appversion
    +  namespace: istio-system
    +spec:
    +  value: source.labels["version"]
    +
    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    valuestring +

    Specifies the entry to verify in the list.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/template/listentry.md b/_docs/reference/config/template/listentry.md deleted file mode 100644 index f29f2acd3455..000000000000 --- a/_docs/reference/config/template/listentry.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: listentry Config -overview: Generated documentation for Mixer's Template Configuration Schema - -order: 1160 - -layout: docs -type: markdown ---- -{% include home.html %} - - -### Index - -* [Template](#listentry.Template) -(message) - - -### Template -ListEntry is used to verify the presence/absence of a string -within a list. - -When writing the configuration, the value for the fields associated with this template can either be a -literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType, -then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field. - -Example config: - -``` -apiVersion: "config.istio.io/v1alpha2" -kind: listentry -metadata: - name: appversion - namespace: istio-config-default -spec: - value: source.labels["version"] -``` - - - - - - - - - - - - - -
    FieldTypeDescription
    valuestringSpecifies the entry to verify in the list.
    diff --git a/_docs/reference/config/template/logentry.html b/_docs/reference/config/template/logentry.html new file mode 100644 index 000000000000..e957043301bd --- /dev/null +++ b/_docs/reference/config/template/logentry.html @@ -0,0 +1,99 @@ +--- +title: Log Entry +overview: A template that represents a single runtime log entry. +location: https://istio.io/docs/reference/config/template/logentry.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The logentry template represents an individual entry within a log.

    + +

    Template

    +
    +

    The logentry template represents an individual entry within a log.

    + +

    When writing the configuration, the value for the fields associated with this template can either be a +literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value, +then the expression’s inferred type must match the datatype of the field.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: logentry
    +metadata:
    +  name: accesslog
    +  namespace: istio-system
    +spec:
    +  severity: '"Default"'
    +  timestamp: request.time
    +  variables:
    +    sourceIp: source.ip | ip("0.0.0.0")
    +    destinationIp: destination.ip | ip("0.0.0.0")
    +    sourceUser: source.user | ""
    +    method: request.method | ""
    +    url: request.path | ""
    +    protocol: request.scheme | "http"
    +    responseCode: response.code | 0
    +    responseSize: response.size | 0
    +    requestSize: request.size | 0
    +    latency: response.duration | "0ms"
    +  monitored_resource_type: '"UNSPECIFIED"'
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    variablesmap<string, istio.mixer.v1.template.Value> +

    Variables that are delivered for each log entry.

    + +
    timestampistio.mixer.v1.template.TimeStamp +

    Timestamp is the time value for the log entry

    + +
    severitystring +

    Severity indicates the importance of the log entry.

    + +
    monitoredResourceTypestring +

    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.

    + +
    monitoredResourceDimensionsmap<string, istio.mixer.v1.template.Value> +

    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.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/template/logentry.md b/_docs/reference/config/template/logentry.md deleted file mode 100644 index 5495a45e014d..000000000000 --- a/_docs/reference/config/template/logentry.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: logentry Config -overview: Generated documentation for Mixer's Template Configuration Schema - -order: 1170 - -layout: docs -type: markdown ---- -{% include home.html %} - - -## Package logentry - - -### Index - -* [Template](#logentry.Template) -(message) - - -### Template -LogEntry represents an individual entry within a log. - -When writing the configuration, the value for the fields associated with this template can either be a -literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType, -then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field. - -Example config: - -``` -apiVersion: "config.istio.io/v1alpha2" -kind: logentry -metadata: - name: accesslog - namespace: istio-config-default -spec: - severity: '"Default"' - timestamp: request.time - variables: - sourceIp: source.ip | ip("0.0.0.0") - destinationIp: destination.ip | ip("0.0.0.0") - sourceUser: source.user | "" - method: request.method | "" - url: request.path | "" - protocol: request.scheme | "http" - responseCode: response.code | 0 - responseSize: response.size | 0 - requestSize: request.size | 0 - latency: response.duration | "0ms" - monitoredResourceType: '"UNSPECIFIED"' -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    variablesrepeated map<string, ValueType>Variables that are delivered for each log entry.
    timestampTimestampTimestamp is the time value for the log entry
    severitystringSeverity indicates the importance of the log entry.
    monitoredResourceTypestringOptional. 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.
    monitoredResourceDimensionsrepeated map<string, ValueType>Optional. A set of expressions that will form the dimensions of the monitored resource this log entry is being recorded on. If the logging backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.
    diff --git a/_docs/reference/config/template/metric.html b/_docs/reference/config/template/metric.html new file mode 100644 index 000000000000..8e32c331b112 --- /dev/null +++ b/_docs/reference/config/template/metric.html @@ -0,0 +1,86 @@ +--- +title: Metric +overview: A template that represents a single runtime metric. +location: https://istio.io/docs/reference/config/template/metric.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The metric template is designed to let you describe runtime metric to dispatch to +monitoring backends.

    + +

    Template

    +
    +

    The metric template represents a single piece of data to report.

    + +

    When writing the configuration, the value for the fields associated with this template can either be a +literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value, +then the expression’s inferred type must match the datatype of the field.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: metric
    +metadata:
    +  name: requestsize
    +  namespace: istio-system
    +spec:
    +  value: request.size | 0
    +  dimensions:
    +    source_service: source.service | "unknown"
    +    source_version: source.labels["version"] | "unknown"
    +    destination_service: destination.service | "unknown"
    +    destination_version: destination.labels["version"] | "unknown"
    +    response_code: response.code | 200
    +  monitored_resource_type: '"UNSPECIFIED"'
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    valueistio.mixer.v1.template.Value +

    The value being reported.

    + +
    dimensionsmap<string, istio.mixer.v1.template.Value> +

    The unique identity of the particular metric to report.

    + +
    monitoredResourceTypestring +

    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.

    + +
    monitoredResourceDimensionsmap<string, istio.mixer.v1.template.Value> +

    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.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/template/metric.md b/_docs/reference/config/template/metric.md deleted file mode 100644 index 47920d448644..000000000000 --- a/_docs/reference/config/template/metric.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: metric Config -overview: Generated documentation for Mixer's Template Configuration Schema - -order: 1180 - -layout: docs -type: markdown ---- -{% include home.html %} - - -## Package metric - - -### Index - -* [Template](#metric.Template) -(message) - - -### Template -Metric represents a single piece of data to report. - -When writing the configuration, the value for the fields associated with this template can either be a -literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType, -then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field. - -Example config: - -``` -apiVersion: "config.istio.io/v1alpha2" -kind: metric -metadata: - name: requestsize - namespace: istio-config-default -spec: - value: request.size | 0 - dimensions: - sourceService: source.service | "unknown" - sourceVersion: source.labels["version"] | "unknown" - destinationService: destination.service | "unknown" - destinationVersion: destination.labels["version"] | "unknown" - responseCode: response.code | 200 - monitoredResourceType: '"UNSPECIFIED"' -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldTypeDescription
    valueValueTypeThe value being reported.
    dimensionsrepeated map<string, ValueType>The unique identity of the particular metric to report.
    monitoredResourceTypestringOptional. 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.
    monitoredResourceDimensionsrepeated map<string, ValueType>Optional. A set of expressions that will form the dimensions of the monitored resource this metric is being reported on. If the metric backend supports monitored resources, these fields are used to populate that resource. Otherwise these fields will be ignored by the adapter.
    diff --git a/_docs/reference/config/template/quota.html b/_docs/reference/config/template/quota.html new file mode 100644 index 000000000000..ca023ab08a73 --- /dev/null +++ b/_docs/reference/config/template/quota.html @@ -0,0 +1,54 @@ +--- +title: Quota +overview: A template that represents a quota allocation request +location: https://istio.io/docs/reference/config/template/quota.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The quota template represents an item for which to check quota.

    + +

    Template

    +
    +

    The quota template represents a piece of data to check Quota for.

    + +

    When writing the configuration, the value for the fields associated with this template can either be a +literal or an expression. Please note that if the datatype of a field is not istio.mixer.v1.template.Value, +then the expression’s inferred type must match the datatype of the field.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: quota
    +metadata:
    +  name: requestcount
    +  namespace: istio-system
    +spec:
    +  dimensions:
    +    source: source.labels["app"] | source.service | "unknown"
    +    sourceVersion: source.labels["version"] | "unknown"
    +    destination: destination.labels["app"] | destination.service | "unknown"
    +    destinationVersion: destination.labels["version"] | "unknown"
    +
    + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    dimensionsmap<string, istio.mixer.v1.template.Value> +

    The unique identity of the particular quota to manipulate.

    + +
    +
    +{% endraw %} diff --git a/_docs/reference/config/template/quota.md b/_docs/reference/config/template/quota.md deleted file mode 100644 index e8468c49e3a4..000000000000 --- a/_docs/reference/config/template/quota.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: quota Config -overview: Generated documentation for Mixer's Template Configuration Schema - -order: 1190 - -layout: docs -type: markdown ---- -{% include home.html %} - - -## Package quota - - -### Index - -* [Template](#quota.Template) -(message) - - -### Template -Quota represents a piece of data to check Quota for. - -When writing the configuration, the value for the fields associated with this template can either be a -literal or an [expression]({{home}}/docs/reference/config/mixer/expression-language.html). Please note that if the datatype of a field is not istio.mixer.v1.config.descriptor.ValueType, -then the expression's [inferred type]({{home}}/docs/reference/config/mixer/expression-language.html#type-checking) must match the datatype of the field. - -Example config: - -``` -apiVersion: "config.istio.io/v1alpha2" -kind: quota -metadata: - name: requestcount - namespace: istio-config-default -spec: - dimensions: - source: source.labels["app"] | source.service | "unknown" - sourceVersion: source.labels["version"] | "unknown" - destination: destination.labels["app"] | destination.service | "unknown" - destinationVersion: destination.labels["version"] | "unknown" -``` - - - - - - - - - - - - - -
    FieldTypeDescription
    dimensionsrepeated map<string, ValueType>The unique identity of the particular quota to manipulate.
    diff --git a/_docs/reference/config/template/reportnothing.html b/_docs/reference/config/template/reportnothing.html new file mode 100644 index 000000000000..09a536bd275c --- /dev/null +++ b/_docs/reference/config/template/reportnothing.html @@ -0,0 +1,29 @@ +--- +title: Report Nothing +overview: A template that carries no data, useful for testing. +location: https://istio.io/docs/reference/config/template/reportnothing.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% raw %} +

    The reportnothing template represents an empty block of data, which can useful +in different testing scenarios.

    + +

    Template

    +
    +

    ReportNothing represents an empty block of data that is used for Report-capable +adapters which don’t require any parameters. This is primarily intended for testing +scenarios.

    + +

    Example config:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: reportnothing
    +metadata:
    +  name: reportrequest
    +  namespace: istio-system
    +spec:
    +
    + +
    +{% endraw %} diff --git a/_docs/reference/config/template/reportnothing.md b/_docs/reference/config/template/reportnothing.md deleted file mode 100644 index 482a66001c3b..000000000000 --- a/_docs/reference/config/template/reportnothing.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: reportnothing Config -overview: Generated documentation for Mixer's Template Configuration Schema - -order: 1200 - -layout: docs -type: markdown ---- - - - -### Index - -* [Template](#reportnothing.Template) -(message) - - -### Template -ReportNothing represents an empty block of data that is used for Report-capable -adapters which don't require any parameters. This is primarily intended for testing -scenarios. - -Example config: - -``` -apiVersion: "config.istio.io/v1alpha2" -kind: reportnothing -metadata: - name: reportrequest - namespace: istio-config-default -spec: -``` - -NOTE: _No fields in this message type.__ diff --git a/_docs/reference/config/template/servicecontrolreport.html b/_docs/reference/config/template/servicecontrolreport.html new file mode 100644 index 000000000000..883c5dad2562 --- /dev/null +++ b/_docs/reference/config/template/servicecontrolreport.html @@ -0,0 +1,135 @@ +--- +title: Service Control Report +overview: A template used by the Google Service Control adapter. +location: https://istio.io/docs/reference/config/template/servicecontrolreport.html +layout: protoc-gen-docs +number_of_entries: 1 +--- +{% include home.html %} + +

    The servicecontrolreport template is used by the Google + Service + Control +adapter.

    +{% raw %} + +

    Template

    +
    +

    A template used by Google Service Control (servicecontrol) adapter. The adapter +generates metrics and logentry for each request based on the data point +defined by this template.

    + +

    Config example:

    + +
    apiVersion: "config.istio.io/v1alpha2"
    +kind: servicecontrolreport
    +metadata:
    +  name: report
    +  namespace: istio-system
    +spec:
    +  api_version : api.version | ""
    +  api_operation : api.operation | ""
    +  api_protocol : api.protocol | ""
    +  api_service : api.service | ""
    +  api_key : api.key | ""
    +  request_time : request.time
    +  request_method : request.method
    +  request_path : request.path
    +  request_bytes: request.size
    +  response_time : response.time
    +  response_code : response.code | 520
    +  response_bytes : response.size | 0
    +  response_latency : response.duration | "0ms"
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    apiVersionstring +
    apiOperationstring +
    apiProtocolstring +
    apiServicestring +
    apiKeystring +
    requestTimeistio.mixer.v1.template.TimeStamp +
    requestMethodstring +
    requestPathstring +
    requestBytesint64 +
    responseTimeistio.mixer.v1.template.TimeStamp +
    responseCodeint64 +
    responseBytesint64 +
    responseLatencyistio.mixer.v1.template.Duration +
    +
    +{% endraw %} diff --git a/_layouts/docs.html b/_layouts/docs.html index 7ad97693bbd6..a77b40cfd127 100644 --- a/_layouts/docs.html +++ b/_layouts/docs.html @@ -7,7 +7,7 @@ {% include sidebar.html docs=site.docs %} - {% if page.toc != false %} + {% if page.toc != false and page.number_of_entries != 1 %}
    {% else %}
    @@ -24,7 +24,7 @@

    {{page.title}}

    - {% if page.toc != false %} + {% if page.toc != false and page.number_of_entries != 1 %}