-
Notifications
You must be signed in to change notification settings - Fork 69
/
startsettings.go
56 lines (41 loc) · 1.86 KB
/
startsettings.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package types
import (
"crypto/tls"
"net/http"
"github.com/open-telemetry/opamp-go/protobufs"
)
// StartSettings defines the parameters for starting the OpAMP Client.
type StartSettings struct {
// Connection parameters.
// Server URL. MUST be set.
OpAMPServerURL string
// Optional additional HTTP headers to send with all HTTP requests.
Header http.Header
// Optional function that can be used to modify the HTTP headers
// before each HTTP request.
// Can modify and return the argument or return the argument without modifying.
HeaderFunc func(http.Header) http.Header
// Optional TLS config for HTTP connection.
TLSConfig *tls.Config
// Agent information.
InstanceUid InstanceUid
// Callbacks that the client will call after Start() returns nil.
Callbacks Callbacks
// Previously saved state. These will be reported to the Server immediately
// after the connection is established.
// The remote config status. If nil is passed it will force
// the Server to send a remote config back.
RemoteConfigStatus *protobufs.RemoteConfigStatus
LastConnectionSettingsHash []byte
// PackagesStateProvider provides access to the local state of packages.
// If nil then ReportsPackageStatuses and AcceptsPackages capabilities will be disabled,
// i.e. package status reporting and syncing from the Server will be disabled.
PackagesStateProvider PackagesStateProvider
// Defines the capabilities of the Agent. AgentCapabilities_ReportsStatus bit does not need to
// be set in this field, it will be set automatically since it is required by OpAMP protocol.
Capabilities protobufs.AgentCapabilities
// EnableCompression can be set to true to enable the compression. Note that for WebSocket transport
// the compression is only effectively enabled if the Server also supports compression.
// The data will be compressed in both directions.
EnableCompression bool
}