Expand description
A staged facade that drives the whole startup sequence of a remote agent.
RemoteAgent walks through the stages in stage, each of which hands control back to the binary at the point
where it has work of its own to do:
RemoteAgent::startregisters with the Datadog Agent, waits for the initial configuration, and reloads logging to match it. In theStartedstage, the binary can check its configuration before anything else starts.RemoteAgent::initializecreates the registries and the environment provider, which opens the connections for the workload provider. In theInitializedstage, the binary builds its topology and its control plane supervisor, and adds the supervisor fromRemoteAgent::create_remote_agent_supervisorto its control plane. The binary can also subscribe to Remote Configuration products throughRemoteAgent::remote_config_client.RemoteAgent::runcreates the internal supervisor around the binary’s control plane, validates the memory bounds of everything registered so far, and runs the supervision tree until the process is asked to shut down.
The crate documentation shows the resulting supervision tree.
Re-exports§
pub use self::stage::Initialized;pub use self::stage::Started;pub use self::stage::Unstarted;
Modules§
- stage
- The stages of the remote agent startup sequence.
Structs§
- Remote
Agent - The remote agent startup sequence.
Traits§
- Authoritative
Configuration - A remote agent’s authoritative configuration, available once the configuration authority is selected.
- Local
Configuration - A remote agent’s local configuration, loaded before it connects to the Datadog Agent.
- Remote
Agent Specification - The types that make up a remote agent.