-
Notifications
You must be signed in to change notification settings - Fork 45
Add TLS settings to all connection settings #205
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
Add TLS settings to all connection settings #205
Conversation
|
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.
Thanks for the draft @michel-laterman
I left some comments, and I would like @andykellr to also review.
e79ec75
to
b8770b8
Compare
b8770b8
to
7849fe0
Compare
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 would advise to break this down into 2 PRs: one that adds TLSConnectionSettings
, the other that adds ProxyConnectionSettings
.
If there are known uses cases for other_settings
that should likely be the 3rd PR where we can discuss it.
I'll recreate the ProxySettings in another pr |
fed1177
to
05f2846
Compare
@michel-laterman we had a discussion with other OpAMP approvers/maintainers and decided to follow the Otel spec's requirements for making new proposals, namely to ask for prototypes that demonstrate the new capabilities. We will be formalizing the requirements in this PR: #207 I think it is important for this particular proposal to show how the TLS settings will be used. It is not a trivial change, so a working code would help understand it better. |
@tigrannajaryan, I have a WIP demo for offering the TLS settings: open-telemetry/opamp-go#338 I have yet to add a demo for Agent-initiated CA trust Flow. |
To give a rough recap on my question about initial CA distribution during today's opamp sig meeting. The current spec as written uses an implicit workflow where the client will connect with The idea I have for changing this is to make it explicit behaviour. We add a new attribute to |
…emetry#206) Add a separate `Downloading` `PackageStatusEnum` so an agent can use a distinguish between downloading and installing a new package. Add a `download_details` attribute that may optionally be used with the new `Downloading` status to give a user additional details about the package download: download rate, and percentage download. - Closes open-telemetry#204
…y#201) This PR adds a new ComponentDetails type that allows agents to communicate metadata relating to the components available in the agent.
As discussed with OpAMP approvers/maintainers this adds the requirement to have working prototypes for specification proposals.
8d2b26c
to
1af8ba5
Compare
I went ahead and made the intial CA distribution require a explicit signal from a client. |
Can you describe the use of the The example implementation in opamp-go uses a sync.Once called |
specification.md
Outdated
The `opamp` field is set to indicate a request for OpAMP connection settings. | ||
If this field is unset then the ConnectionSettingsRequest message is empty and is | ||
not actionable for the Server. | ||
The `settings_request` field is set to indicate a request for all offered |
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.
"for all" or specifically "for TLSConnectionSettings"? What does "all" mean in this context?
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.
All settings for OpAMP connection (this may include the hosts, and things like the heartbeat)
@andykellr
Good point, I'll remove the use of |
Notes from the SIG meeting, we're splitting this PR into:
|
The message carries optional TLS settings that are used to configure a client's | ||
connection. If the Agent is able to validate the connection settings, the Agent | ||
SHOULD forget any previous TLS settings. If this message is not included, the | ||
client SHOULD use the agent's default TLS settings for the connection. |
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.
@tigrannajaryan @andykellr, I've added a description on how TLS settings should function, and have changed the demo (open-telemetry/opamp-go#338) to reflect this.
The goal is that when TLSConnectionSettings
is present, it can form the TLS config (excluding client certificate).
If no TLS settings are sent with a connection offering, the agent's defaults should be used.
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'll let @tigrannajaryan merge when he has a chance to review.
Thanks for you patience @michel-laterman |
Add new
TLSConnectionSettings
across all connection settings a server can offer.