Skip to content

Commit f76d025

Browse files
Split ProxyConnectionSettings into its own PR
1 parent 5d6c717 commit f76d025

File tree

2 files changed

+80
-0
lines changed

2 files changed

+80
-0
lines changed

proto/opamp.proto

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,10 @@ message OpAMPConnectionSettings {
327327
// Optional connection specific TLS settings.
328328
// Status: [Development]
329329
TLSConnectionSettings tls = 5;
330+
331+
// Optional connection specific proxy settings.
332+
// Status: [Development]
333+
ProxyConnectionSettings proxy = 6;
330334
}
331335

332336
// The TelemetryConnectionSettings message is a collection of fields which comprise an
@@ -357,6 +361,10 @@ message TelemetryConnectionSettings {
357361
// Optional connection specific TLS settings.
358362
// Status: [Development]
359363
TLSConnectionSettings tls = 4;
364+
365+
// Optional connection specific proxy settings.
366+
// Status: [Development]
367+
ProxyConnectionSettings proxy = 5;
360368
}
361369

362370
// The OtherConnectionSettings message is a collection of fields which comprise an
@@ -406,6 +414,10 @@ message OtherConnectionSettings {
406414
// Optional connection specific TLS settings.
407415
// Status: [Development]
408416
TLSConnectionSettings tls = 5;
417+
418+
// Optional connection specific proxy settings.
419+
// Status: [Development]
420+
ProxyConnectionSettings proxy = 6;
409421
}
410422

411423

@@ -432,6 +444,30 @@ message TLSConnectionSettings {
432444
repeated string cipher_suites = 6;
433445
}
434446

447+
// Status: [Development]
448+
message ProxyConnectionSettings {
449+
// A URL, host:port or some other destination specifier.
450+
string destination_endpoint = 1;
451+
452+
// Optional headers to send to proxies during CONNECT requests.
453+
// These headers can be ignored for non-HTTP based proxies.
454+
// For example:
455+
// key="Authorization", Value="Basic YWxhZGRpbjpvcGVuc2VzYW1l".
456+
Headers connect_headers = 2;
457+
458+
// The Agent should use the offered certificate to connect to the destination
459+
// from now on. If the Agent is able to validate and connect using the offered
460+
// certificate the Agent SHOULD forget any previous client certificates
461+
// for this connection.
462+
// This field is optional: if omitted the client SHOULD NOT use a client-side certificate.
463+
// This field can be used to perform a client certificate revocation/rotation.
464+
TLSCertificate certificate = 3;
465+
466+
// Optional connection specific TLS settings.
467+
// Status: [Development]
468+
TLSConnectionSettings tls = 4;
469+
}
470+
435471
// Status: [Beta]
436472
message Headers {
437473
repeated Header headers = 1;

specification.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,22 @@ Status: [Beta]
115115
- [OpAMPConnectionSettings.certificate](#opampconnectionsettingscertificate)
116116
- [OpAMPConnectionSettings.heartbeat_interval_seconds](#opampconnectionsettingsheartbeat_interval_seconds)
117117
- [OpAMPConnectionSettings.tls](#opampconnectionsettingstls)
118+
- [OpAMPConnectionSettings.proxy](#opampconnectionsettingsproxy)
118119
+ [TelemetryConnectionSettings](#telemetryconnectionsettings)
119120
- [TelemetryConnectionSettings.destination_endpoint](#telemetryconnectionsettingsdestination_endpoint)
120121
- [TelemetryConnectionSettings.headers](#telemetryconnectionsettingsheaders)
121122
- [TelemetryConnectionSettings.certificate](#telemetryconnectionsettingscertificate)
122123
- [TelemetryConnectionSettings.tls](#telemetryconnectionsettingstls)
124+
- [TelemetryConnectionSettings.proxy](#telemetryconnectionsettingsproxy)
123125
+ [OtherConnectionSettings](#otherconnectionsettings)
124126
- [OtherConnectionSettings.destination_endpoint](#otherconnectionsettingsdestination_endpoint)
125127
- [OtherConnectionSettings.headers](#otherconnectionsettingsheaders)
126128
- [OtherConnectionSettings.certificate](#otherconnectionsettingscertificate)
127129
- [OtherConnectionSettings.other_settings](#otherconnectionsettingsother_settings)
128130
- [OtherConnectionSettings.tls](#otherconnectionsettingstls)
131+
- [OtherConnectionSettings.proxy](#otherconnectionsettingsproxy)
129132
+ [TLSConnectionSettings Message](#tlsconnectionsettings-message)
133+
+ [ProxyConnectionSettings Message](#proxyconnectionsettings-message)
130134
+ [Headers Message](#headers-message)
131135
+ [TLSCertificate Message](#tlscertificate-message)
132136
- [TLSCertificate.cert](#tlscertificatecert)
@@ -1909,6 +1913,7 @@ message OpAMPConnectionSettings {
19091913
TLSCertificate certificate = 3;
19101914
uint64 heartbeat_interval_seconds = 4;
19111915
TLSConnectionSettings tls = 5;
1916+
ProxyConnectionSettings proxy = 6;
19121917
}
19131918
```
19141919

@@ -1990,6 +1995,12 @@ Status: [Development]
19901995

19911996
Optional OpAMP specific TLS settings.
19921997

1998+
##### OpAMPConnectionSettings.proxy
1999+
2000+
Status: [Development]
2001+
2002+
Optional OpAMP specific proxy settings.
2003+
19932004
#### TelemetryConnectionSettings
19942005

19952006
The TelemetryConnectionSettings message is a collection of fields which comprise an
@@ -2002,6 +2013,7 @@ message TelemetryConnectionSettings {
20022013
Headers headers = 2;
20032014
TLSCertificate certificate = 3;
20042015
TLSConnectionSettings tls = 4;
2016+
ProxyConnectionSettings proxy = 5;
20052017
}
20062018
```
20072019

@@ -2034,6 +2046,12 @@ Status: [Development]
20342046

20352047
Optional telemetry specific TLS settings.
20362048

2049+
##### TelemetryConnectionSettings.proxy
2050+
2051+
Status: [Development]
2052+
2053+
Optional telemetry specific proxy settings.
2054+
20372055
#### OtherConnectionSettings
20382056

20392057
The OtherConnectionSettings message is a collection of fields which comprise an
@@ -2064,6 +2082,7 @@ message OtherConnectionSettings {
20642082
TLSCertificate certificate = 3;
20652083
map<string, string> other_settings = 4;
20662084
TLSConnectionSettings tls = 5;
2085+
ProxyConnectionSettings proxy = 6;
20672086
}
20682087
```
20692088

@@ -2099,6 +2118,12 @@ Status: [Development]
20992118

21002119
Optional connection specific TLS settings.
21012120

2121+
##### OtherConnectionSettings.proxy
2122+
2123+
Status: [Development]
2124+
2125+
Optional connection specific proxy settings.
2126+
21022127
#### TLSConnectionSettings Message
21032128

21042129
Status: [Development]
@@ -2119,6 +2144,25 @@ message TLSConnectionSettings {
21192144
}
21202145
```
21212146

2147+
#### ProxyConnectionSettings Message
2148+
2149+
Status: [Development]
2150+
2151+
The message carries optional proxy settings that are used to configure a
2152+
client's connection. If the Agent is able to validate the connection settings,
2153+
the Agent SHOULD forget any previous proxy settings. If this message is not
2154+
included, the client SHOULD use the agent's default proxy settings for the
2155+
connection.
2156+
2157+
```protobuf
2158+
message ProxyConnectionSettings {
2159+
string destination_endpoint = 1;
2160+
Headers connect_headers = 2;
2161+
TLSCertificate certificate = 3;
2162+
TLSConnectionSettings tls = 4;
2163+
}
2164+
```
2165+
21222166
#### Headers Message
21232167

21242168
```protobuf

0 commit comments

Comments
 (0)