-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Add a blog post about Mixer adapters. #700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Jenkins job istio.github.io/presubmit passed |
1 similar comment
Jenkins job istio.github.io/presubmit passed |
_posts/2017-11-03-adapter-model.md
Outdated
|
||
In addition to insulating application-level code from the details of infrastructure backends, Mixer provides an intermediation model that allows operators to inject and control policies between application code and backends. Operators can control which data is reported to which backend, which backend to consult for authorization, and much more. | ||
|
||
Given that individual infrastructure backends each have different interfaces and operational models, Mixer needs custom code to deal with each and we call these custom bundles of code *[adapter*s](https://github.com/istio/istio/blob/master/mixer/doc/dev/adapters.md). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like the '*'s surrounding adapter aren't doing what is intended. Here and elsewhere (templates, instances, rules), should this be: [*adapter*s]
(instead of *[adapter*s]
) ?
Ugh, those are markdown conversion errors. They're fixed now. Good catch. PTAL. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small markdown issue (at least in github's view mode).
_posts/2017-11-03-adapter-model.md
Outdated
## Instances: Attribute Mapping | ||
|
||
You control which data is delivered to individual adapters by creating [*instances*](https://istio.io/docs/concepts/policy-and-control/mixer-config | ||
.html#instances). Instances control how Mixer uses the [attributes](https://istio.io/docs/concepts/policy-and-control/attributes.html) delivered by the proxy into individual bundles of data that can be routed to different adapters. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think the line break here (between mixer-config
and .html
) screws up the markdown for the link.
Fixed. Thanks.
…On Fri, Nov 3, 2017 at 10:12 AM, Douglas Reid ***@***.***> wrote:
***@***.**** commented on this pull request.
One small markdown issue (at least in github's view mode).
------------------------------
In _posts/2017-11-03-adapter-model.md
<#700 (comment)>:
> +You configure each adapter by creating [*handlers*](https://istio.io/docs/concepts/policy-and-control/mixer-config.html#handlers) for them. A handler is a
+configuration resource which represents a fully configured adapter ready for use. There can be any number of handlers for a single adapter, making it possible to reuse an adapter in different scenarios.
+
+## Templates: Adapter Input Schema
+
+Mixer is typically invoked twice for every incoming request to a mesh service, once for precondition checks and once for telemetry reporting. For every such call, Mixer invokes one or more adapters. Different adapters need different pieces of data as input in order to do their work. A logging adapter needs a log entry, a metric adapter needs a metric, an authorization adapter needs credentials, etc.
+Mixer [*templates*](https://istio.io/docs/reference/config/mixer/template/) are used to describe the exact data that an adapter consumes at request time.
+
+Each template is specified as a [protobuf](https://developers.google.com/protocol-buffers/) message. A single template describes a bundle of data that is delivered to one or more adapters at runtime. Any given adapter can be designed to support any number of templates, the specific templates the adapter supports is determined by the adapter developer.
+
+[metric](https://istio.io/docs/reference/config/mixer/template/metric.html) and [logentry](https://istio.io/docs/reference/config/mixer/template/logentry.html) are two of the most essential templates used within Istio. They represent respectively the payload to report a single metric and a single log entry to appropriate backends.
+
+## Instances: Attribute Mapping
+
+You control which data is delivered to individual adapters by creating [*instances*](https://istio.io/docs/concepts/policy-and-control/mixer-config
+.html#instances <https://istio.io/docs/concepts/policy-and-control/mixer-config+.html#instances>). Instances control how Mixer uses the [attributes](https://istio.io/docs/concepts/policy-and-control/attributes.html) delivered by the proxy into individual bundles of data that can be routed to different adapters.
i think the line break here (between mixer-config and .html) screws up
the markdown for the link.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#700 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AVucHVwuMtkinwp6yu1y79nahZuFpwdVks5sy0lhgaJpZM4QRE3j>
.
|
Jenkins job istio.github.io/presubmit passed |
No description provided.