Skip to content

Introduce the Identity service#25

Merged
olix0r merged 5 commits intomasterfrom
ver/identity
Mar 15, 2019
Merged

Introduce the Identity service#25
olix0r merged 5 commits intomasterfrom
ver/identity

Conversation

@olix0r
Copy link
Member

@olix0r olix0r commented Feb 13, 2019

In order to support provisioning of short-lived identity certificates at
runtime, the io.linkerd.proxy.identity.Identity gRPC service provides
an API that proxies may use to submit Certificate Signing Requests to a
new linkerd-identity controller.

In order to support provisioning of short-lived identity certificates at
runtime, the `io.linkerd.proxy.identity.Identity` gRPC service provides
an API that proxies may use to submit Certificate Signing Requests to a
new linkerd-identity controller.
@olix0r olix0r self-assigned this Feb 13, 2019
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Feb 14, 2019
Up until now, the proxy-api controller service has been the sole service
that the proxy communicates with, implementing the majoriry of the API
defined in the `linkerd2-proxy-api` repo. But this is about to change:
linkerd/linkerd2-proxy-api#25 introduces a new Identity service; and
this service must be served outside of the existing proxy-api service
in the linkerd-controller deployment (so that it may run under a
distinct service account).

With this change, the "proxy-api" name becomes less descriptive. It's no
longer "the service that serves the API for the proxy," it's "the
service that serves the Destination API to the proxy." Therefore, it
seems best to bite the bullet and rename this to be the "destination"
service (i.e. because it only serves the
`io.linkerd.proxy.destination.Destination` service).
klingerf pushed a commit to linkerd/linkerd2 that referenced this pull request Feb 15, 2019
Up until now, the proxy-api controller service has been the sole service
that the proxy communicates with, implementing the majoriry of the API
defined in the `linkerd2-proxy-api` repo. But this is about to change:
linkerd/linkerd2-proxy-api#25 introduces a new Identity service; and
this service must be served outside of the existing proxy-api service
in the linkerd-controller deployment (so that it may run under a
distinct service account).

With this change, the "proxy-api" name becomes less descriptive. It's no
longer "the service that serves the API for the proxy," it's "the
service that serves the Destination API to the proxy." Therefore, it
seems best to bite the bullet and rename this to be the "destination"
service (i.e. because it only serves the
`io.linkerd.proxy.destination.Destination` service).
olix0r added a commit to linkerd/linkerd2 that referenced this pull request Feb 15, 2019
Up until now, the proxy-api controller service has been the sole service
that the proxy communicates with, implementing the majoriry of the API
defined in the `linkerd2-proxy-api` repo. But this is about to change:
linkerd/linkerd2-proxy-api#25 introduces a new Identity service; and
this service must be served outside of the existing proxy-api service
in the linkerd-controller deployment (so that it may run under a
distinct service account).

With this change, the "proxy-api" name becomes less descriptive. It's no
longer "the service that serves the API for the proxy," it's "the
service that serves the Destination API to the proxy." Therefore, it
seems best to bite the bullet and rename this to be the "destination"
service (i.e. because it only serves the
`io.linkerd.proxy.destination.Destination` service).

Co-authored-by: Kevin Lingerfelt <[email protected]>
Signed-off-by: Kevin Lingerfelt <[email protected]>
Copy link
Contributor

@klingerf klingerf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⭐️ Looks good to me.

@olix0r
Copy link
Member Author

olix0r commented Mar 15, 2019

@adleong @klingerf FYI, i brought in two more small changes into this branch:

  1. K8sPodIdentity is deprecated/removed and replaced with DnsLikeIdentity. This is safe, because old controllers can't give new proxies identity, and vice versa. We've reserved the fields so they cannot be reused.
  2. The destination service's proxy_id is now called context_token, because the value doesn't really identify a proxy (and will diverge substantially from the other ID field). Looking forward, the injector will encode values like ns:emojivoto. The destination service will support reading both old-style and new-style values. It is safe to rename this field without changing the index, since we only rely on the binary API.

@olix0r olix0r changed the title rfc: Introduce the Identity service Introduce the Identity service Mar 15, 2019
@olix0r
Copy link
Member Author

olix0r commented Mar 15, 2019

CI failures are benign (but we need to check in Cargo.lock when we get it working again)

Copy link
Contributor

@klingerf klingerf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⭐️ Update seems good to me, but I haven't reviewed it in the context of its implementation.

@olix0r olix0r merged commit e6d3bcd into master Mar 15, 2019
@olix0r olix0r deleted the ver/identity branch March 15, 2019 02:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants