Skip to content

Add a separate mTLS port for pilot and mixer #370

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

Merged
merged 3 commits into from
Feb 12, 2018
Merged

Conversation

wattli
Copy link
Contributor

@wattli wattli commented Feb 9, 2018

App Envoy talks with pilot/mixer based on when auth is enabled during the app is brought up. However, if auth is disabled and then enabled at runtime, app envoy will not able to take to pilot. This allows pilot/mixer to expose two ports and fix the bug.

@wattli wattli requested a review from costinm February 9, 2018 06:23
@googlebot googlebot added the cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA. label Feb 9, 2018

// Address of the discovery service exposing xDS with mTLS (e.g.
// _istio-pilot:15005_).
string discovery_mtls_address = 17;
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: create a common message called ServerAddress, which should have two strings: secure, insecure
Then do ServerAddress pilot, ServerAddress mixer_check, ServerAddress mixer_report
(for backward compatibility, mark the current discovery_address as deprecated).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done, thanks

@@ -41,6 +41,15 @@ enum AuthenticationPolicy {
INHERIT = 1000;
}

// ServerAddress defines the address of servers like mixer, pilot, etc.
Copy link
Contributor

Choose a reason for hiding this comment

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

defines => specifies

Please be more clear what address means. For example, is it an address of a specific server node? Is it a load balanced address like a DNS name? Is it an address of an HTTP server or gRPC server?

If we need to add deadline, retry hint, and other settings, is ServerAddress still the right term? Envoy uses GrpcService to specify equivalent concept.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Comment is updated. It's only for mixer and pilot and this name is suggested by @rshriram , i think it makes sense.

string mutual_tls = 1;

// The address for plain text server, e.g., (_istio-pilot:15005_)
string plain_text = 2;
Copy link
Contributor

Choose a reason for hiding this comment

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

Are the two address both required or only one is required?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

comment updated, at least one needs to be specified.

@@ -74,7 +83,7 @@ message ProxyConfig {
// MUST BE greater than _drain_duration_ parameter.
google.protobuf.Duration parent_shutdown_duration = 5;

// Address of the discovery service exposing xDS (e.g. _istio-pilot:8080_).
// Deprecated, use server_address instread.
Copy link
Contributor

Choose a reason for hiding this comment

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

If you mark a feature is deprecated, please try to give a deadline for this to be removed. Otherwise it would sit here forever.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's a good point, i think the idea to put a 'Deprecated' here is to prevent people adding new code to use it. And for clean up, i am not sure the general process of Istio api. (As you can see there are other deprecated fields in this file)

Copy link
Contributor

@rkpagadala rkpagadala left a comment

Choose a reason for hiding this comment

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

/lgtm
Thanks for doing this.

//
// NOTE: Omitting mixerCheckServer while specifying mixerReportServer is
// equivalent to setting disablePolicyChecks to true.
// Deprecated, use mixer_check instread.
Copy link
Contributor

Choose a reason for hiding this comment

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

typo: instead

// mixerCheckServer and mixerReportServer, it is possible to have one set
// of mixer servers handle policy check calls, while another set of mixer
// servers handle telemetry calls.
// Deprecated, use mixer_report instread.
Copy link
Contributor

Choose a reason for hiding this comment

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

same here

@wattli wattli merged commit 01426cd into istio:master Feb 12, 2018
ayj pushed a commit to ayj/api that referenced this pull request Feb 14, 2018
* Address comment

* Address comment

* Fix typo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants