signoz/pkg/query-service/agentConf/agent_features.go
Raj Kamal Singh 546d98ca9c
feat: agentConf.manager as opamp conf provider (#3747)
* chore: add integration test for log pipelines being recommended to agents on connection

* chore: agentConf.Manager as AgentConfigProvider

* feat: logparsingpipelines as an AgentFeature

* chore: some cleanup

* feat: update agentConf init in ee query-service

* chore: more cleanup and move opamp/logspipeline -> logparsingpipeline/collector_config.go

* chore: some more cleanup

* chore: set agent.RemoteConfig after broadcasting conf to all agents

* chore: add test scenario for post remote conf application
2023-10-15 21:04:19 +05:30

26 lines
767 B
Go

package agentConf
import "go.signoz.io/signoz/pkg/query-service/model"
// Interface for features implemented via agent config.
// Eg: ingestion side signal pre-processing features like log processing pipelines etc
type AgentFeature interface {
// Must be unique across `AgentFeature`s
AgentFeatureType() AgentFeatureType
// Recommend config for an agent based on its `currentConfYaml` and
// `configVersion` for the feature's settings
RecommendAgentConfig(
currentConfYaml []byte,
configVersion *ConfigVersion,
) (
recommendedConfYaml []byte,
// stored as agent_config_versions.last_config in current agentConf model
// TODO(Raj): maybe refactor agentConf further and clean this up
serializedSettingsUsed string,
apiErr *model.ApiError,
)
}