Documentation
¶
Overview ¶
Package server implements a dummy http Datadog intake, meant to be used with integration and e2e tests. It runs an catch-all http server that stores submitted payloads into a dictionary of api.Payloads, indexed by the route It implements 3 testing endpoints:
- /fakeintake/payloads/<payload_route> returns any received payloads on the specified route as [api.Payload]s
- /fakeintake/health returns current fakeintake server health
- /fakeintake/routestats returns stats for collected payloads, by route
- /fakeintake/flushPayloads returns all stored payloads and clear them up
Package server implements a dummy http Datadog intake, meant to be used with integration and e2e tests. It runs an catch-all http server that stores submitted payloads into a dictionary of api.Payloads, indexed by the route It implements 3 testing endpoints:
- /fakeintake/payloads/<payload_route> returns any received payloads on the specified route as [api.Payload]s
- /fakeintake/health returns current fakeintake server health
- /fakeintake/routestats returns stats for collected payloads, by route
- /fakeintake/flushPayloads returns all stored payloads and clear them up
Index ¶
- type Option
- func WithAddress(addr string) Option
- func WithClock(clock clock.Clock) Option
- func WithDDDevForward() Option
- func WithPort(port int) Option
- func WithReadyChannel(ready chan bool) Option
- func WithRemoteConfig(orgUUID string) Option
- func WithRemoteConfigInitialState(path string) Option
- func WithRemoteConfigKeyData(hexSeed string) Option
- func WithRemoteConfigKeyPath(path string) Option
- func WithRemoteConfigVersion(v uint64) Option
- func WithRetention(retention time.Duration) Option
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶ added in v0.54.0
type Option func(*Server)
Option is a function that modifies a Server
func WithAddress ¶ added in v0.53.0
WithAddress changes the server host:port. If host is empty, it will bind to 0.0.0.0 If the port is empty or 0, a port number is automatically chosen
func WithDDDevForward ¶ added in v0.57.0
func WithDDDevForward() Option
WithDDDevForward enable forwarding payload to dddev
func WithPort ¶
WithPort changes the server port. If the port is 0, a port number is automatically chosen
func WithReadyChannel ¶
WithReadyChannel assign a boolean channel to get notified when the server is ready
func WithRemoteConfig ¶ added in v0.80.0
WithRemoteConfig enables fakeintake's Remote Config endpoints. The server loads or generates a persistent ed25519 signing key under ~/.fakeintake/signing.key and prints the resulting datadog.yaml snippet.
orgUUID and apiKey are advisory: orgUUID is returned by /api/v0.1/org; apiKey is logged on mismatch but never enforced. Pass empty strings for defaults ("42" / "test-api-key").
func WithRemoteConfigInitialState ¶ added in v0.80.0
WithRemoteConfigInitialState preloads one config from a YAML file.
func WithRemoteConfigKeyData ¶ added in v0.81.0
WithRemoteConfigKeyData supplies the ed25519 signing key as a hex-encoded 32-byte seed string. When set, the key is never written to disk and WithRemoteConfigKeyPath is ignored. Use this for ephemeral environments (e.g. ECS Fargate) where a fixed, pre-known key is required so the agent's config_root/director_root can be set at provisioning time.
func WithRemoteConfigKeyPath ¶ added in v0.80.0
WithRemoteConfigKeyPath overrides the on-disk path for the ed25519 signing key seed. Empty falls back to ~/.fakeintake/signing.key.
func WithRemoteConfigVersion ¶ added in v0.80.0
WithRemoteConfigVersion seeds the version counter (default 1). Used to keep the agent's remote-config.db in sync across restarts.
func WithRetention ¶
WithRetention changes the retention time of payloads in the store
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is a struct implementing a fakeintake server
func InitialiseForTests ¶ added in v0.51.0
InitialiseForTests starts a server with a mock clock and waits for it to be ready. It returns the mock clock and the server. Use defer server.Stop() to stop the server after calling this function.
func NewServer ¶
NewServer creates a new fakeintake server and starts it on localhost:port options accept WithPort and WithReadyChan. Call Server.Start() to start the server in a separate go-routine If the port is 0, a port number is automatically chosen
Directories
¶
| Path | Synopsis |
|---|---|
|
Package rcstore implements the TUF metadata signing used by fakeintake's Remote Config endpoints.
|
Package rcstore implements the TUF metadata signing used by fakeintake's Remote Config endpoints. |
|
Package serverstore implements storing logic for fakeintake server Stores raw payloads and try parsing known payloads dumping them to json
|
Package serverstore implements storing logic for fakeintake server Stores raw payloads and try parsing known payloads dumping them to json |