--- title: Mixer overview: Generated documentation for Mixer's Configuration Schema order: 1190 layout: docs type: markdown --- ### Index * [Adapter](#istio.mixer.v1.config.Adapter) (message) * [Aspect](#istio.mixer.v1.config.Aspect) (message) * [AspectRule](#istio.mixer.v1.config.AspectRule) (message) * [AttributeManifest](#istio.mixer.v1.config.AttributeManifest) (message) * [AttributeManifest.AttributeInfo](#istio.mixer.v1.config.AttributeManifest.AttributeInfo) (message) * [DnsName](#istio.mixer.v1.config.DnsName) (message) * [EmailAddress](#istio.mixer.v1.config.EmailAddress) (message) * [GlobalConfig](#istio.mixer.v1.config.GlobalConfig) (message) (deprecated) * [IpAddress](#istio.mixer.v1.config.IpAddress) (message) * [ServiceConfig](#istio.mixer.v1.config.ServiceConfig) (message) (deprecated) * [Uri](#istio.mixer.v1.config.Uri) (message) ### Adapter Adapter allows the operator to configure a specific adapter implementation. Each adapter implementation defines its own `params` proto. Note that unlike [Aspect](#istio.mixer.v1.config.Aspect), the type of `params` varies with `impl` and not with `kind`. In the following example we define a `metrics` adapter using the Mixer's prepackaged prometheus adapter. This adapter doesn't require any parameters. ```yaml kind: metrics name: prometheus-adapter impl: prometheus params: ```
| Field | Type | Description |
|---|---|---|
name |
string | Required, must be unique per kind. Used by Aspect to refer to this adapter. The name "default" is special: when an Aspect does not specify a name, the Adapter named "default" of the same kind is used to execute the intention described by the AspectRules. |
kind |
string | Required. The aspect this implementation with these params will implement; a single adapter implementation may implement many aspects, but an Adapter entry is required per kind. |
impl |
string | Required. The name of a specific adapter implementation. An adapter's implementation name is typically a constant in its code. |
params |
Struct | Optional, depends on adapter implementation. Struct representation of a proto defined by the implementation; this varies depending on impl. |
| Field | Type | Description |
|---|---|---|
kind |
string | Required. The kind of aspect this intent is targeting. |
adapter |
string | Optional. The name of the adapter this Aspect targets. If no name is provided, Mixer will use the adapter of the target kind named "default". |
params |
Struct | Required. Struct representation of a proto defined by each aspect kind. |
| Field | Type | Description |
|---|---|---|
selector |
string | Required. Selector is an attribute based predicate. When Mixer receives a request it evaluates all selectors in scope and executes the rules for all selectors that evaluated to true. A few example selectors:
|
aspects[] |
repeated Aspect | The aspects that apply when selector evaluates to true. |
rules[] |
repeated AspectRule | Nested aspect rules; their selectors are evaluated if this selector predicate evaluates to true. |
| Field | Type | Description |
|---|---|---|
revision |
string | Optional. The revision of this document. Assigned by server. |
name |
string | Required. Name of the component producing these attributes. This can be the proxy (with the canonical name "istio-proxy") or the name of an attributes kind adapter in Mixer. |
attributes |
repeated map<string, AttributeInfo> | The set of attributes this Istio component will be responsible for producing at runtime. We map from attribute name to the attribute's specification. The name of an attribute, which is how attributes are referred to in aspect configuration, must conform to: Where Attribute names must be unique within a single Istio deployment. The set of canonical attributes are described at https://istio.io/docs/reference/attribute-vocabulary.html. Attributes not in that list should be named with a component-specific suffix such as request.count-my.component |
| Field | Type | Description |
|---|---|---|
description |
string | Optional. A human-readable description of the attribute's purpose. |
valueType |
ValueType | Required. The type of data carried by this attribute. |
| Field | Type | Description |
|---|---|---|
value |
string |
| Field | Type | Description |
|---|---|---|
value |
string |
| Field | Type | Description |
|---|---|---|
revision |
string | Optional. |
adapters[] |
repeated Adapter | |
manifests[] |
repeated AttributeManifest | |
logs[] |
repeated LogEntryDescriptor | |
metrics[] |
repeated MetricDescriptor | |
monitoredResources[] |
repeated MonitoredResourceDescriptor | |
principals[] |
repeated PrincipalDescriptor | |
quotas[] |
repeated QuotaDescriptor |
| Field | Type | Description |
|---|---|---|
value |
bytes |
| Field | Type | Description |
|---|---|---|
subject |
string | Optional. Subject is unique for a config type. 2 config with the same subject will overwrite each other |
revision |
string | Optional. revision of this config. This is assigned by the server |
rules[] |
repeated AspectRule |
| Field | Type | Description |
|---|---|---|
value |
string |
| Field | Type | Description |
|---|---|---|
name |
string | Required. The name of this descriptor. |
displayName |
string | Optional. A concise name for the log entry type, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count". |
description |
string | Optional. A description of the log entry type, which can be used in documentation. |
payloadFormat |
PayloadFormat | Required. Format of the value of the payload attribute. |
logTemplate |
string | Required. The template that will be populated with labels at runtime to generate a log message; the labels describe the parameters for this template. The template strings must conform to go's text/template syntax. |
labels |
repeated map<string, ValueType> | Labels describe the parameters of this log's template string. The log definition allows the user to map attribute expressions to actual values for these labels at run time; the result of the evaluation must be of the type described by the kind for each label. |
| Value | Description |
|---|---|
| PAYLOADFORMATUNSPECIFIED | Invalid, default value. |
| TEXT | Indicates a payload format of raw text. |
| JSON | Indicates that the payload is a serialized JSON object. |
| Field | Type | Description |
|---|---|---|
name |
string | Required. The name of this descriptor. This is used to refer to this descriptor in other contexts. |
displayName |
string | Optional. A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count". |
description |
string | Optional. A description of the metric, which should be used as the documentation for the metric. |
kind |
MetricKind | Required. Whether the metric records instantaneous values, changes to a value, etc. |
value |
ValueType | Required. The type of data this metric records. |
labels |
repeated map<string, ValueType> | Labels that dimension the data recorded by this metric. The metric definition allows the user to map attribute expressions to actual values for these labels at run time; the result of the evaluation must be of the type described by the kind for each label. |
buckets |
BucketsDefinition | For metrics with a metric kind of DISTRIBUTION, this provides a mechanism for configuring the buckets that will be used to store the aggregated values. This field must be provided for metrics declared to be of type DISTRIBUTION. This field will be ignored for non-distribution metric kinds. |
| Field | Type | Description |
|---|---|---|
linearBuckets |
Linear (oneof ) | The linear buckets. |
exponentialBuckets |
Exponential (oneof ) | The exponential buckets. |
explicitBuckets |
Explicit (oneof ) | The explicit buckets. |
| Field | Type | Description |
|---|---|---|
bounds[] |
repeated double | The values must be monotonically increasing. |
| Field | Type | Description |
|---|---|---|
numFiniteBuckets |
int32 | Must be greater than 0. |
growthFactor |
double | Must be greater than 1. |
scale |
double | Must be greater than 0. |
| Field | Type | Description |
|---|---|---|
numFiniteBuckets |
int32 | Must be greater than 0. |
width |
double | Must be greater than 0. |
offset |
double | Lower bound of the first bucket. |
| Field | Type | Description |
|---|---|---|
name |
string | Required. The name of this descriptor. |
description |
string | Optional. A detailed description of the monitored resource descriptor that might be used in documentation. |
labels |
repeated map<string, ValueType> | Labels represent the dimensions that uniquely identify this monitored resource. At runtime expressions will be evaluated to provide values for each label. Label names are mapped to expressions as part of aspect configuration. |
| Field | Type | Description |
|---|---|---|
name |
string | Required. The name of this descriptor. |
labels |
repeated map<string, ValueType> | Labels represent the dimensions that uniquely identify this security principal. At runtime expressions will be evaluated to provide values for each label. Label names are mapped to expressions as part of aspect configuration. |
| Field | Type | Description |
|---|---|---|
name |
string | Required. The name of this descriptor. |
displayName |
string | Optional. A concise name for the quota which can be displayed in user interfaces. |
description |
string | Optional. A description of the quota which can be used in documentation. |
labels |
repeated map<string, ValueType> | The set of labels that are necessary to describe a specific value cell for a quota of this type. |
rateLimit |
bool | Indicates whether the quota represents a rate limit or represents a resource quota. |