syntax = "proto3";

// If you make any changes make sure you run: make regenerate-proto

package gitlab.agent.agentwcfg;

option go_package = "gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/agentwcfg";

enum log_level_enum {
  info = 0; // default value must be 0
  debug = 1;
  warn = 2;
  error = 3;
}

message Logging {
  log_level_enum level = 1;
  optional log_level_enum grpc_level = 2; // optional to be able to tell when not set and use a different default value.
}

message GoogleProfiler {
  bool enabled = 1;
  string project_id = 2;
  string credentials_file = 3;
  bool debug_logging = 4;
}

message Observability {
  Logging logging = 1;
  GoogleProfiler google_profiler = 2;
}

// AgentConfiguration represents configuration for agentw.
message AgentConfiguration {
  // GitLab-wide unique id of the agent for the given agent_type.
  int64 agent_id = 1;
  // Configuration related to all things observability. This is about the agent itself.
  Observability observability = 2;
}
