diff --git a/BUILD.bazel b/BUILD.bazel index e16939a85e1e..c40882562fef 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -46,59 +46,18 @@ exports_files(["go.mod"]) # TODO(agent-build): remove below `gazelle:exclude` directives (automatically updates @bazelify_go_work//:go.work) # gazelle:exclude cmd/agent/subcommands/*.go -# gazelle:exclude cmd/agent/subcommands/check # gazelle:exclude cmd/agent/subcommands/processchecks -# gazelle:exclude cmd/agent/subcommands/run/*.go -# gazelle:exclude cmd/agent/windows/service # gazelle:exclude cmd/cluster-agent/*.go -# gazelle:exclude cmd/cluster-agent/api/*.go # gazelle:exclude cmd/cluster-agent/custommetrics # gazelle:exclude cmd/cluster-agent/subcommands/*.go # gazelle:exclude cmd/cluster-agent/subcommands/autoscalerlist -# gazelle:exclude cmd/cluster-agent/subcommands/check # gazelle:exclude cmd/cluster-agent/subcommands/start # gazelle:exclude cmd/cluster-agent-cloudfoundry/*go # gazelle:exclude cmd/cluster-agent-cloudfoundry/subcommands/*.go -# gazelle:exclude cmd/cluster-agent-cloudfoundry/subcommands/run -# gazelle:exclude cmd/iot-agent -# gazelle:exclude cmd/process-agent/command -# gazelle:exclude cmd/process-agent/subcommands # gazelle:exclude cmd/serverless-init/*.go -# gazelle:exclude cmd/serverless-init/mode -# gazelle:exclude comp/collector/bundle.go -# gazelle:exclude comp/collector/collector/fx -# gazelle:exclude comp/core/gui/fx -# gazelle:exclude comp/core/gui/impl # gazelle:exclude comp/metadata/clusteragent/fx # gazelle:exclude comp/metadata/clusteragent/impl -# gazelle:exclude comp/process/agent/*.go -# gazelle:exclude comp/process/agent/fx -# gazelle:exclude comp/process/agent/impl -# gazelle:exclude comp/process/runner/fx -# gazelle:exclude comp/process/runner/impl -# gazelle:exclude comp/process/submitter -# gazelle:exclude pkg/cli/subcommands/autoscalerlist -# gazelle:exclude pkg/cli/subcommands/check -# gazelle:exclude pkg/cli/subcommands/processchecks -# gazelle:exclude pkg/clusteragent/admission/*.go -# gazelle:exclude pkg/clusteragent/autoscaling/externalmetrics/*.go -# gazelle:exclude pkg/collector/corechecks/cluster/ksm/*.go -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/*.go -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/collectors -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/discovery -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/processors/*.go -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/processors/common -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/processors/ecs -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/processors/k8s/*.go -# gazelle:exclude pkg/collector/corechecks/cluster/orchestrator/transformers/k8s -# gazelle:exclude pkg/collector/corechecks/containers/kubelet/*.go -# gazelle:exclude pkg/collector/corechecks/containers/kubelet/provider # gazelle:exclude pkg/collector/corechecks/gpu/integrationtests -# gazelle:exclude pkg/collector/corechecks/network-devices/versa/*.go -# gazelle:exclude pkg/collector/corechecks/oracle/*.go -# gazelle:exclude pkg/collector/corechecks/orchestrator/ecs -# gazelle:exclude pkg/collector/corechecks/orchestrator/pod -# gazelle:exclude pkg/commonchecks # rc_tester_v1 imports gopkg.in/DataDog/dd-trace-go.v1, which is not part of the # Bazel go_deps graph (progs is a separate module outside go.work). Keep this # binary out of Bazel, consistent with testprogs binaries relying on the diff --git a/bazel/rules/go_godror/BUILD.bazel b/bazel/rules/go_godror/BUILD.bazel new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/bazel/rules/go_godror/cdeps-attr.patch b/bazel/rules/go_godror/cdeps-attr.patch new file mode 100644 index 000000000000..cf2d9913dcf2 --- /dev/null +++ b/bazel/rules/go_godror/cdeps-attr.patch @@ -0,0 +1,10 @@ +--- a/BUILD.bazel ++++ b/BUILD.bazel +@@ -69,6 +69,7 @@ + "vector.go", + "version.go", + ], ++ cdeps = ["//odpi"], + cgo = True, + clinkopts = select({ + "@io_bazel_rules_go//go/platform:android": [ diff --git a/bazel/rules/go_godror/odpi-build-file.patch b/bazel/rules/go_godror/odpi-build-file.patch new file mode 100644 index 000000000000..272767d48daa --- /dev/null +++ b/bazel/rules/go_godror/odpi-build-file.patch @@ -0,0 +1,20 @@ +--- /dev/null ++++ b/odpi/BUILD.bazel +@@ -0,0 +1,17 @@ ++load("@rules_cc//cc:defs.bzl", "cc_library") ++ ++cc_library( ++ name = "odpi", ++ textual_hdrs = glob([ ++ "embed/*.c", ++ "include/*.h", ++ "src/*.c", ++ "src/*.h", ++ ]), ++ includes = [ ++ "embed", ++ "include", ++ "src", ++ ], ++ visibility = ["//:__pkg__"], ++) diff --git a/cmd/agent/subcommands/check/BUILD.bazel b/cmd/agent/subcommands/check/BUILD.bazel new file mode 100644 index 000000000000..5b501f73d42c --- /dev/null +++ b/cmd/agent/subcommands/check/BUILD.bazel @@ -0,0 +1,19 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "check", + srcs = ["command.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/agent/subcommands/check", + visibility = ["//visibility:public"], + deps = [ + "//cmd/agent/command", + "//comp/core/tagger/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadmeta/collectors/catalog-core", + "//comp/core/workloadmeta/def", + "//pkg/cli/subcommands/check", + "//pkg/process/util/containers", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) diff --git a/cmd/agent/subcommands/run/BUILD.bazel b/cmd/agent/subcommands/run/BUILD.bazel index 671482569336..27eca9137e36 100644 --- a/cmd/agent/subcommands/run/BUILD.bazel +++ b/cmd/agent/subcommands/run/BUILD.bazel @@ -1,3 +1,309 @@ -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") # gazelle:dd_agent_go_test on + +go_library( + name = "run", + srcs = [ + "command.go", + "command_notwin.go", + "command_snmptraps.go", + "command_windows.go", + "dependent_services_nix.go", + "dependent_services_windows.go", + "metriclookback.go", + "metriclookback_nopython.go", + ], + importpath = "github.com/DataDog/datadog-agent/cmd/agent/subcommands/run", + visibility = ["//visibility:public"], + deps = [ + "//cmd/agent/command", + "//cmd/agent/common", + "//cmd/agent/common/misconfig", + "//cmd/agent/common/signals", + "//cmd/agent/subcommands/run/internal/clcrunnerapi", + "//cmd/agent/subcommands/run/internal/settings", + "//comp/agent", + "//comp/agent/autoexit/def", + "//comp/agent/cloudfoundrycontainer/def", + "//comp/agent/expvarserver/def", + "//comp/agent/jmxlogger/def", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/aggregator/demultiplexerendpoint/fx", + "//comp/anomalydetection/logssource/fx", + "//comp/anomalydetection/observer/fx", + "//comp/anomalydetection/recorder/fx-noop", + "//comp/anomalydetection/reporter/fx", + "//comp/api/api/apiimpl", + "//comp/api/api/def", + "//comp/api/commonendpoints/fx", + "//comp/api/grpcserver/fx-agent", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/connectivitychecker/fx", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/agenttelemetry/fx", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/autodiscovery/providers", + "//comp/core/autodiscovery/providers/datastreams", + "//comp/core/autodiscovery/providers/networkpath", + "//comp/core/config", + "//comp/core/configfilesdiscovery/fx", + "//comp/core/configstream/fx", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/flare", + "//comp/core/flare/types", + "//comp/core/fxinstrumentation/fx", + "//comp/core/gui/def", + "//comp/core/gui/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/hostname/hostnameinterface/def", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/lsof/fx", + "//comp/core/pid/def", + "//comp/core/pid/impl", + "//comp/core/profiler/fx", + "//comp/core/remoteagentregistry/fx", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/status/statusimpl", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/impl", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-dual", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/collectors/catalog-core", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/defaults", + "//comp/core/workloadmeta/fx", + "//comp/dataobs/queryactions/fx", + "//comp/dogstatsd", + "//comp/dogstatsd/http/def", + "//comp/dogstatsd/http/fx", + "//comp/dogstatsd/replay/def", + "//comp/dogstatsd/server/def", + "//comp/dogstatsd/serverDebug/def", + "//comp/dogstatsd/statsd/def", + "//comp/dogstatsd/statsd/fx", + "//comp/filterlist/fx", + "//comp/fleetstatus/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatform/impl", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/healthplatform/store/def", + "//comp/host-profiler/flare/fx", + "//comp/languagedetection/client/def", + "//comp/languagedetection/client/fx", + "//comp/logonduration/fx", + "//comp/logs", + "//comp/logs/adscheduler/fx", + "//comp/logs/agent/def", + "//comp/logs/integrations/def", + "//comp/metadata", + "//comp/metadata/haagent/def", + "//comp/metadata/host/def", + "//comp/metadata/inventoryagent/def", + "//comp/metadata/inventorychecks/def", + "//comp/metadata/inventoryhost/def", + "//comp/metadata/packagesigning/def", + "//comp/metadata/runner/def", + "//comp/metadata/securityagent/def", + "//comp/metadata/systemprobe/def", + "//comp/metriclookback/def", + "//comp/metriclookback/fx", + "//comp/ndmtmp", + "//comp/netflow", + "//comp/netflow/server/def", + "//comp/networkconfigmanagement/def", + "//comp/networkconfigmanagement/fx", + "//comp/networkpath", + "//comp/networkpath/traceroute/def", + "//comp/networkpath/traceroute/fx-remote", + "//comp/otelcol", + "//comp/otelcol/collector/def", + "//comp/otelcol/logsagentpipeline/def", + "//comp/otelcol/status/fx", + "//comp/privateactionrunner/status/statusimpl", + "//comp/process", + "//comp/process/agent/def", + "//comp/process/status/fx", + "//comp/rdnsquerier/fx", + "//comp/remote-config", + "//comp/remote-config/rcclient/def", + "//comp/remote-config/rcprotocoltest/fx", + "//comp/remote-config/rcservice/fx", + "//comp/remote-config/rcservicemrf/fx", + "//comp/remote-config/rctelemetryreporter/fx", + "//comp/serializer/metricscompression/fx", + "//comp/snmpscan/fx", + "//comp/snmpscanmanager/def", + "//comp/snmpscanmanager/fx", + "//comp/snmptraps", + "//comp/snmptraps/server/def", + "//comp/syntheticstestscheduler/fx", + "//comp/trace-telemetry/fx", + "//comp/trace/status/fx", + "//comp/updater/daemonchecker/fx", + "//comp/updater/ssistatus/fx", + "//comp/workloadselection/fx", + "//pkg/aggregator", + "//pkg/aggregator/sender", + "//pkg/collector", + "//pkg/collector/check", + "//pkg/collector/corechecks/net", + "//pkg/collector/corechecks/snmp/status", + "//pkg/collector/python", + "//pkg/commonchecks", + "//pkg/config/remote/data", + "//pkg/config/settings", + "//pkg/config/utils", + "//pkg/diagnose/connectivity", + "//pkg/diagnose/firewallscanner", + "//pkg/diagnose/ports", + "//pkg/jmxfetch", + "//pkg/process/util/containers", + "//pkg/procmgr/coat", + "//pkg/runtime", + "//pkg/sbom/collectors/host", + "//pkg/serializer", + "//pkg/status/clusteragent", + "//pkg/status/endpoints", + "//pkg/status/health", + "//pkg/status/httpproxy", + "//pkg/status/jmx", + "//pkg/status/systemprobe", + "//pkg/util/common", + "//pkg/util/coredump", + "//pkg/util/defaultpaths", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "//pkg/util/fxutil/logging", + "//pkg/util/installinfo", + "//pkg/util/kubernetes/apiserver/leaderelection", + "//pkg/util/log", + "//pkg/util/log/errortracking", + "//pkg/util/log/setup", + "//pkg/util/option", + "//pkg/version", + "@com_github_datadog_datadog_go_v5//statsd", + "@com_github_datadog_dd_trace_go_v2//profiler", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ] + select({ + "@rules_go//go/platform:aix": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:android": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:darwin": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:dragonfly": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:freebsd": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:illumos": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:ios": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:js": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:linux": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:netbsd": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:openbsd": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:osx": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:plan9": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:qnx": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:solaris": [ + "//comp/softwareinventory/fx", + "//pkg/config/model", + ], + "@rules_go//go/platform:windows": [ + "//comp/checks/agentcrashdetect/def", + "//comp/checks/agentcrashdetect/fx", + "//comp/checks/windowseventlog/def", + "//comp/checks/windowseventlog/fx", + "//comp/checks/winregistry/def", + "//comp/checks/winregistry/fx", + "//comp/etw/fx", + "//comp/notableevents/fx", + "//comp/publishermetadatacache/fx", + "//comp/softwareinventory/fx", + "//comp/trace/config/def", + "//comp/trace/config/fx", + "//comp/trace/etwtracer/def", + "//comp/trace/etwtracer/fx", + "//pkg/config/model", + "//pkg/util/winutil", + ], + "//conditions:default": [], + }), +) + +dd_agent_go_test( + name = "run_test", + srcs = [ + "command_test.go", + "command_windows_test.go", + ], + embed = [":run"], + deps = [ + "//cmd/agent/command", + "//comp/core", + "//comp/core/pid/impl", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], +) diff --git a/cmd/agent/windows/service/BUILD.bazel b/cmd/agent/windows/service/BUILD.bazel new file mode 100644 index 000000000000..88fe37eb5d28 --- /dev/null +++ b/cmd/agent/windows/service/BUILD.bazel @@ -0,0 +1,16 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "service", + srcs = ["service.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/agent/windows/service", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:windows": [ + "//cmd/agent/common", + "//cmd/agent/subcommands/run", + "//pkg/util/winutil/servicemain", + ], + "//conditions:default": [], + }), +) diff --git a/cmd/cluster-agent-cloudfoundry/subcommands/run/BUILD.bazel b/cmd/cluster-agent-cloudfoundry/subcommands/run/BUILD.bazel new file mode 100644 index 000000000000..adb73f5021fc --- /dev/null +++ b/cmd/cluster-agent-cloudfoundry/subcommands/run/BUILD.bazel @@ -0,0 +1,1146 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "run", + srcs = ["command.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/cluster-agent-cloudfoundry/subcommands/run", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:android": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:ios": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:js": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:linux": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:osx": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:plan9": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:qnx": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/agent/common", + "//cmd/cluster-agent-cloudfoundry/command", + "//cmd/cluster-agent/api", + "//cmd/cluster-agent/api/v1:api", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/collector/collector/def", + "//comp/collector/collector/impl", + "//comp/core", + "//comp/core/agenttelemetry/def", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/diagnose/fx", + "//comp/core/healthprobe/def", + "//comp/core/healthprobe/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/secrets/def", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/fx", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/core/workloadmeta/init", + "//comp/filterlist/fx", + "//comp/forwarder", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/logs/integrations/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//comp/metadata/clusterchecks/fx", + "//comp/metadata/runner/fx", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/clusteragent", + "//pkg/clusteragent/clusterchecks", + "//pkg/collector", + "//pkg/process/util/containers", + "//pkg/serializer", + "//pkg/status/health", + "//pkg/util/cloudproviders/cloudfoundry", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@//comp/metadata/clusteragent/fx", + "@com_github_cloudfoundry_community_go_cfclient_v2//:go-cfclient", + "@com_github_spf13_cobra//:cobra", + "@org_cloudfoundry_code_bbs//:bbs", + "@org_uber_go_fx//:fx", + ], + "//conditions:default": [], + }), +) + +go_test( + name = "run_test", + srcs = ["command_test.go"], + embed = [":run"], + gotags = ["test"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:android": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:ios": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:js": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:linux": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:osx": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:plan9": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:qnx": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/cluster-agent-cloudfoundry/command", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], + "//conditions:default": [], + }), +) diff --git a/cmd/cluster-agent/BUILD.bazel b/cmd/cluster-agent/BUILD.bazel index 671482569336..059e3dda45a6 100644 --- a/cmd/cluster-agent/BUILD.bazel +++ b/cmd/cluster-agent/BUILD.bazel @@ -1,3 +1 @@ -# gazelle:ignore - # gazelle:dd_agent_go_test on diff --git a/cmd/cluster-agent/api/BUILD.bazel b/cmd/cluster-agent/api/BUILD.bazel new file mode 100644 index 000000000000..9824f126e268 --- /dev/null +++ b/cmd/cluster-agent/api/BUILD.bazel @@ -0,0 +1,57 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "api", + srcs = [ + "grpc.go", + "grpc_kubemetadata.go", + "grpc_kubemetadata_nocompile.go", + "listener.go", + "server.go", + ], + importpath = "github.com/DataDog/datadog-agent/cmd/cluster-agent/api", + visibility = ["//visibility:public"], + deps = [ + "//cmd/cluster-agent/api/agent", + "//cmd/cluster-agent/api/v1:api", + "//cmd/cluster-agent/api/v1/languagedetection", + "//cmd/cluster-agent/api/v2/series", + "//comp/api/grpcserver/helpers", + "//comp/core/autodiscovery/def", + "//comp/core/config", + "//comp/core/diagnose/def", + "//comp/core/ipc/def", + "//comp/core/settings/def", + "//comp/core/status", + "//comp/core/tagger/def", + "//comp/core/tagger/server", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//comp/metadata/clusteragent/def", + "//comp/metadata/clusterchecks/def", + "//pkg/api/middleware", + "//pkg/api/util", + "//pkg/config/setup", + "//pkg/proto/pbgo/core", + "//pkg/util/grpc", + "//pkg/util/kubernetes/apiserver/controllers", + "//pkg/util/log", + "//pkg/util/log/setup", + "@com_github_grpc_ecosystem_go_grpc_middleware_v2//interceptors/auth", + "@org_golang_google_grpc//:grpc", + ], +) + +dd_agent_go_test( + name = "api_test", + srcs = ["server_test.go"], + embed = [":api"], + deps = [ + "//comp/core/ipc/mock", + "//pkg/api/util", + "//pkg/config/mock", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/cmd/cluster-agent/subcommands/check/BUILD.bazel b/cmd/cluster-agent/subcommands/check/BUILD.bazel new file mode 100644 index 000000000000..16a0e4ff23c0 --- /dev/null +++ b/cmd/cluster-agent/subcommands/check/BUILD.bazel @@ -0,0 +1,176 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "check", + srcs = ["command.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/cluster-agent/subcommands/check", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:android": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:ios": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:js": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:linux": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:osx": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:plan9": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:qnx": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/cluster-agent/command", + "//comp/core/workloadmeta/collectors/catalog-clusteragent", + "//pkg/cli/subcommands/check", + "//pkg/clusteragent/autoscaling/autoscalinggate", + "//pkg/config/setup", + "//pkg/util/common", + "//pkg/util/kubernetes/apiserver/leaderelection", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], + "//conditions:default": [], + }), +) diff --git a/cmd/iot-agent/BUILD.bazel b/cmd/iot-agent/BUILD.bazel new file mode 100644 index 000000000000..4b628eda8a41 --- /dev/null +++ b/cmd/iot-agent/BUILD.bazel @@ -0,0 +1,95 @@ +load("@rules_go//go:def.bzl", "go_binary", "go_library") + +go_library( + name = "iot-agent_lib", + srcs = [ + "docs.go", + "main.go", + ], + importpath = "github.com/DataDog/datadog-agent/cmd/iot-agent", + visibility = ["//visibility:private"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:android": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:ios": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:js": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:linux": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:osx": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:plan9": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:qnx": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/agent/command", + "//cmd/iot-agent/subcommands", + "//pkg/util/flavor", + ], + "//conditions:default": [], + }), +) + +go_binary( + name = "iot-agent", + embed = [":iot-agent_lib"], + visibility = ["//visibility:public"], +) diff --git a/cmd/iot-agent/subcommands/BUILD.bazel b/cmd/iot-agent/subcommands/BUILD.bazel new file mode 100644 index 000000000000..5827298ceea5 --- /dev/null +++ b/cmd/iot-agent/subcommands/BUILD.bazel @@ -0,0 +1,506 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "subcommands", + srcs = ["subcommands.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/iot-agent/subcommands", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:android": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:ios": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:js": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:linux": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:osx": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:plan9": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:qnx": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/agent/command", + "//cmd/agent/subcommands/analyzelogs", + "//cmd/agent/subcommands/check", + "//cmd/agent/subcommands/config", + "//cmd/agent/subcommands/configcheck", + "//cmd/agent/subcommands/controlsvc", + "//cmd/agent/subcommands/coverage", + "//cmd/agent/subcommands/diagnose", + "//cmd/agent/subcommands/dogstatsd", + "//cmd/agent/subcommands/dogstatsdcapture", + "//cmd/agent/subcommands/dogstatsdreplay", + "//cmd/agent/subcommands/dogstatsdstats", + "//cmd/agent/subcommands/flare", + "//cmd/agent/subcommands/health", + "//cmd/agent/subcommands/hostname", + "//cmd/agent/subcommands/import", + "//cmd/agent/subcommands/integrations", + "//cmd/agent/subcommands/jmx", + "//cmd/agent/subcommands/launchgui", + "//cmd/agent/subcommands/remoteconfig", + "//cmd/agent/subcommands/run", + "//cmd/agent/subcommands/secret", + "//cmd/agent/subcommands/secrethelper", + "//cmd/agent/subcommands/snmp", + "//cmd/agent/subcommands/status", + "//cmd/agent/subcommands/stop", + "//cmd/agent/subcommands/streamep", + "//cmd/agent/subcommands/streamlogs", + "//cmd/agent/subcommands/taggerlist", + "//cmd/agent/subcommands/version", + "//cmd/agent/subcommands/workloadlist", + ], + "//conditions:default": [], + }), +) diff --git a/cmd/process-agent/command/BUILD.bazel b/cmd/process-agent/command/BUILD.bazel new file mode 100644 index 000000000000..f54e82900374 --- /dev/null +++ b/cmd/process-agent/command/BUILD.bazel @@ -0,0 +1,102 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "command", + srcs = [ + "command.go", + "deprecated.go", + "main.go", + "main_common.go", + "main_windows.go", + ], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/command", + visibility = ["//visibility:public"], + deps = [ + "//cmd/agent/common/misconfig", + "//cmd/process-agent/flags", + "//comp/agent/autoexit/def", + "//comp/agent/autoexit/fx", + "//comp/core", + "//comp/core/config", + "//comp/core/configstreamconsumer/def", + "//comp/core/configstreamconsumer/fx", + "//comp/core/configsync/def", + "//comp/core/configsync/fx", + "//comp/core/fxinstrumentation/fx", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/pid/def", + "//comp/core/pid/impl", + "//comp/core/remoteagent/fx-process", + "//comp/core/settings/def", + "//comp/core/settings/fx", + "//comp/core/status", + "//comp/core/status/statusimpl", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/impl", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-remote", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx-remote", + "//comp/core/workloadmeta/collectors/catalog-remote", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/dogstatsd/statsd/def", + "//comp/dogstatsd/statsd/fx", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/metadata/host/impl/utils", + "//comp/networkpath", + "//comp/networkpath/traceroute/fx-remote", + "//comp/process", + "//comp/process/agent/def", + "//comp/process/apiserver/def", + "//comp/process/expvars/def", + "//comp/process/hostinfo/def", + "//comp/process/profiler/def", + "//comp/process/status/fx", + "//comp/process/types", + "//comp/rdnsquerier/fx", + "//comp/remote-config", + "//comp/remote-config/rcclient/def", + "//pkg/collector/python", + "//pkg/config/env", + "//pkg/config/settings", + "//pkg/config/utils", + "//pkg/process/metadata/workloadmeta/collector", + "//pkg/process/util", + "//pkg/process/util/containers", + "//pkg/process/util/coreagent", + "//pkg/util/cli", + "//pkg/util/coredump", + "//pkg/util/defaultpaths", + "//pkg/util/filesystem", + "//pkg/util/fxutil", + "//pkg/util/log", + "//pkg/util/log/setup", + "//pkg/version", + "@com_github_datadog_datadog_go_v5//statsd", + "@com_github_fatih_color//:color", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ] + select({ + "@rules_go//go/platform:windows": [ + "//pkg/util/winutil", + "//pkg/util/winutil/messagestrings", + "//pkg/util/winutil/servicemain", + "@org_golang_x_sys//windows/svc", + ], + "//conditions:default": [], + }), +) + +go_test( + name = "command_test", + srcs = ["deprecated_test.go"], + embed = [":command"], + gotags = ["test"], + deps = ["@com_github_stretchr_testify//assert"], +) diff --git a/cmd/process-agent/subcommands/BUILD.bazel b/cmd/process-agent/subcommands/BUILD.bazel new file mode 100644 index 000000000000..e66b71d338f1 --- /dev/null +++ b/cmd/process-agent/subcommands/BUILD.bazel @@ -0,0 +1,18 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "subcommands", + srcs = ["subcommands.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//cmd/process-agent/subcommands/check", + "//cmd/process-agent/subcommands/config", + "//cmd/process-agent/subcommands/coverage", + "//cmd/process-agent/subcommands/status", + "//cmd/process-agent/subcommands/taggerlist", + "//cmd/process-agent/subcommands/version", + "//cmd/process-agent/subcommands/workloadlist", + ], +) diff --git a/cmd/process-agent/subcommands/check/BUILD.bazel b/cmd/process-agent/subcommands/check/BUILD.bazel new file mode 100644 index 000000000000..53c9a4906d25 --- /dev/null +++ b/cmd/process-agent/subcommands/check/BUILD.bazel @@ -0,0 +1,50 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "check", + srcs = ["check.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands/check", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/fx", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-remote", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx-remote", + "//comp/core/workloadmeta/collectors/catalog-remote", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/networkpath/npcollector/fx", + "//comp/networkpath/traceroute/fx-remote", + "//comp/process", + "//comp/rdnsquerier/fx", + "//pkg/cli/subcommands/processchecks", + "//pkg/process/util/containers", + "@com_github_datadog_datadog_go_v5//statsd", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "check_test", + srcs = ["check_test.go"], + embed = [":check"], + gotags = ["test"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//pkg/cli/subcommands/processchecks", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//require", + ], +) diff --git a/cmd/process-agent/subcommands/config/BUILD.bazel b/cmd/process-agent/subcommands/config/BUILD.bazel new file mode 100644 index 000000000000..d09591e371ee --- /dev/null +++ b/cmd/process-agent/subcommands/config/BUILD.bazel @@ -0,0 +1,35 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "config", + srcs = ["config.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands/config", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/ipc/httphelpers", + "//comp/process", + "//pkg/config/fetcher", + "//pkg/config/settings", + "//pkg/config/settings/http", + "//pkg/config/setup", + "//pkg/util/fxutil", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "config_test", + srcs = ["config_test.go"], + embed = [":config"], + gotags = ["test"], + deps = [ + "//cmd/process-agent/command", + "//pkg/util/fxutil", + ], +) diff --git a/cmd/process-agent/subcommands/coverage/BUILD.bazel b/cmd/process-agent/subcommands/coverage/BUILD.bazel new file mode 100644 index 000000000000..64537d53af6e --- /dev/null +++ b/cmd/process-agent/subcommands/coverage/BUILD.bazel @@ -0,0 +1,35 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "coverage", + srcs = [ + "command.go", + "command_nocoverage.go", + ], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands/coverage", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/process", + "//pkg/config/setup", + "//pkg/util/fxutil", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "coverage_test", + srcs = ["command_test.go"], + embed = [":coverage"], + gotags = ["test"], + deps = [ + "//cmd/process-agent/command", + "//pkg/util/fxutil", + ], +) diff --git a/cmd/process-agent/subcommands/status/BUILD.bazel b/cmd/process-agent/subcommands/status/BUILD.bazel new file mode 100644 index 000000000000..154446537d09 --- /dev/null +++ b/cmd/process-agent/subcommands/status/BUILD.bazel @@ -0,0 +1,45 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "status", + srcs = ["status.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands/status", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/ipc/httphelpers", + "//comp/core/log/def", + "//comp/core/status", + "//comp/process", + "//pkg/collector/python", + "//pkg/config/setup", + "//pkg/process/util/status", + "//pkg/template/text", + "//pkg/util/fxutil", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "status_test", + srcs = ["status_test.go"], + embed = [":status"], + gotags = ["test"], + deps = [ + "//cmd/process-agent/command", + "//comp/core/ipc/mock", + "//comp/metadata/host/impl/utils", + "//pkg/config/mock", + "//pkg/config/setup", + "//pkg/process/util/status", + "//pkg/trace/log", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/cmd/process-agent/subcommands/taggerlist/BUILD.bazel b/cmd/process-agent/subcommands/taggerlist/BUILD.bazel new file mode 100644 index 000000000000..5e86519aded4 --- /dev/null +++ b/cmd/process-agent/subcommands/taggerlist/BUILD.bazel @@ -0,0 +1,33 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "taggerlist", + srcs = ["tagger_list.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands/taggerlist", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/tagger/api", + "//pkg/config/setup", + "//pkg/util/fxutil", + "@com_github_fatih_color//:color", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "taggerlist_test", + srcs = ["tagger_list_test.go"], + embed = [":taggerlist"], + gotags = ["test"], + deps = [ + "//cmd/process-agent/command", + "//pkg/util/fxutil", + ], +) diff --git a/cmd/process-agent/subcommands/version/BUILD.bazel b/cmd/process-agent/subcommands/version/BUILD.bazel new file mode 100644 index 000000000000..871e5f820577 --- /dev/null +++ b/cmd/process-agent/subcommands/version/BUILD.bazel @@ -0,0 +1,13 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "version", + srcs = ["version.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands/version", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//pkg/cli/subcommands/version", + "@com_github_spf13_cobra//:cobra", + ], +) diff --git a/cmd/process-agent/subcommands/workloadlist/BUILD.bazel b/cmd/process-agent/subcommands/workloadlist/BUILD.bazel new file mode 100644 index 000000000000..23c3a10f7a7d --- /dev/null +++ b/cmd/process-agent/subcommands/workloadlist/BUILD.bazel @@ -0,0 +1,34 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "workloadlist", + srcs = ["command.go"], + importpath = "github.com/DataDog/datadog-agent/cmd/process-agent/subcommands/workloadlist", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/ipc/httphelpers", + "//comp/core/log/def", + "//comp/core/workloadmeta/def", + "//pkg/config/setup", + "//pkg/util/fxutil", + "@com_github_fatih_color//:color", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "workloadlist_test", + srcs = ["command_test.go"], + embed = [":workloadlist"], + gotags = ["test"], + deps = [ + "//cmd/process-agent/command", + "//pkg/util/fxutil", + ], +) diff --git a/cmd/serverless-init/BUILD.bazel b/cmd/serverless-init/BUILD.bazel index 671482569336..059e3dda45a6 100644 --- a/cmd/serverless-init/BUILD.bazel +++ b/cmd/serverless-init/BUILD.bazel @@ -1,3 +1 @@ -# gazelle:ignore - # gazelle:dd_agent_go_test on diff --git a/cmd/serverless-init/mode/BUILD.bazel b/cmd/serverless-init/mode/BUILD.bazel new file mode 100644 index 000000000000..c018e1af31d2 --- /dev/null +++ b/cmd/serverless-init/mode/BUILD.bazel @@ -0,0 +1,175 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "mode", + srcs = [ + "initcontainer_mode.go", + "mode.go", + "sidecarcontainer_mode.go", + ], + importpath = "github.com/DataDog/datadog-agent/cmd/serverless-init/mode", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:android": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:ios": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:js": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:linux": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:osx": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:plan9": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:qnx": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/serverless-init/log", + "//pkg/util/log", + "@com_github_spf13_afero//:afero", + ], + "//conditions:default": [], + }), +) + +dd_agent_go_test( + name = "mode_test", + srcs = ["initcontainer_mode_test.go"], + embed = [":mode"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:android": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:ios": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:js": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:linux": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:osx": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:plan9": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:qnx": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/serverless-init/log", + "@com_github_spf13_afero//:afero", + "@com_github_stretchr_testify//assert", + ], + "//conditions:default": [], + }), +) diff --git a/cmd/system-probe/BUILD.bazel b/cmd/system-probe/BUILD.bazel index 9968c4af55f8..751d4f938460 100644 --- a/cmd/system-probe/BUILD.bazel +++ b/cmd/system-probe/BUILD.bazel @@ -1 +1,96 @@ -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_binary", "go_library") + +#gazelle:dd_linux_bpf on + +go_library( + name = "system-probe_lib", + srcs = [ + "main.go", + "main_windows.go", + ], + importpath = "github.com/DataDog/datadog-agent/cmd/system-probe", + visibility = ["//visibility:private"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:android": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:darwin": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:dragonfly": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:freebsd": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:illumos": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:ios": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:linux": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:netbsd": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:openbsd": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:solaris": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:windows": [ + "//cmd/internal/runcmd", + "//cmd/system-probe/command", + "//cmd/system-probe/subcommands", + "//cmd/system-probe/windows/service", + "//pkg/util/log", + "//pkg/util/winutil/servicemain", + ], + "//conditions:default": [], + }), +) + +go_binary( + name = "system-probe", + embed = [":system-probe_lib"], + visibility = ["//visibility:public"], +) diff --git a/cmd/system-probe/modules/BUILD.bazel b/cmd/system-probe/modules/BUILD.bazel index 1da0e1a83535..eb9e4edd9c4a 100644 --- a/cmd/system-probe/modules/BUILD.bazel +++ b/cmd/system-probe/modules/BUILD.bazel @@ -1,4 +1,8 @@ -load("@rules_go//go:def.bzl", "go_library", "go_test") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +# gazelle:dd_agent_go_test on + +load("@rules_go//go:def.bzl", "go_library") go_library( name = "modules", @@ -39,6 +43,7 @@ go_library( "usm_endpoints_windows.go", ], importpath = "github.com/DataDog/datadog-agent/cmd/system-probe/modules", + tags = ["manual"], visibility = ["//visibility:public"], deps = [ "//pkg/system-probe/api/module", @@ -242,7 +247,7 @@ go_library( }), ) -go_test( +dd_agent_go_test( name = "modules_test", srcs = [ "compliance_test.go", @@ -253,7 +258,7 @@ go_test( "traceroute_test.go", ], embed = [":modules"], - gotags = ["test"], + target_compatible_with = ["@platforms//os:linux"], deps = select({ "@rules_go//go/platform:android": [ "//pkg/compliance/dbconfig", diff --git a/cmd/system-probe/subcommands/ebpf/BUILD.bazel b/cmd/system-probe/subcommands/ebpf/BUILD.bazel index f50fa92a2c34..16637406714a 100644 --- a/cmd/system-probe/subcommands/ebpf/BUILD.bazel +++ b/cmd/system-probe/subcommands/ebpf/BUILD.bazel @@ -9,6 +9,7 @@ go_library( "command_unsupported.go", ], importpath = "github.com/DataDog/datadog-agent/cmd/system-probe/subcommands/ebpf", + tags = ["manual"], visibility = ["//visibility:public"], deps = [ "//cmd/system-probe/command", @@ -38,7 +39,12 @@ go_test( "command_linux_test.go", ], embed = [":ebpf"], - gotags = ["test"], + gotags = [ + "test", + "linux_bpf", + ], + tags = ["manual"], + target_compatible_with = ["@platforms//os:linux"], deps = [ "//pkg/ebpf", "//pkg/ebpf/bytecode", diff --git a/cmd/system-probe/subcommands/usm/BUILD.bazel b/cmd/system-probe/subcommands/usm/BUILD.bazel index 2651d57a1d3f..6eb80f71fabe 100644 --- a/cmd/system-probe/subcommands/usm/BUILD.bazel +++ b/cmd/system-probe/subcommands/usm/BUILD.bazel @@ -17,6 +17,7 @@ go_library( "sysinfo_windows.go", ], importpath = "github.com/DataDog/datadog-agent/cmd/system-probe/subcommands/usm", + tags = ["manual"], visibility = ["//visibility:public"], deps = [ "//cmd/system-probe/command", @@ -64,7 +65,11 @@ go_test( "sysinfo_linux_test.go", ], embed = [":usm"], - gotags = ["test"], + gotags = [ + "test", + "linux_bpf", + ], + target_compatible_with = ["@platforms//os:linux"], deps = [ "//cmd/system-probe/command", "//pkg/util/fxutil", diff --git a/comp/anomalydetection/logssource/fx/BUILD.bazel b/comp/anomalydetection/logssource/fx/BUILD.bazel index 52038ebced02..fed27a4f4288 100644 --- a/comp/anomalydetection/logssource/fx/BUILD.bazel +++ b/comp/anomalydetection/logssource/fx/BUILD.bazel @@ -1,15 +1,16 @@ -# gazelle:ignore load("@rules_go//go:def.bzl", "go_library") -# Only the noop variant is built here. fx.go imports logssource/impl which -# depends on pkg/logs/launchers → comp/logs-library/pipeline (not yet in -# Bazel). impl/ has no BUILD.bazel yet. go_library( name = "fx", - srcs = ["fx_noop.go"], + srcs = [ + "fx.go", + "fx_noop.go", + ], importpath = "github.com/DataDog/datadog-agent/comp/anomalydetection/logssource/fx", visibility = ["//visibility:public"], deps = [ + "//comp/anomalydetection/logssource/def", + "//comp/anomalydetection/logssource/impl", "//pkg/util/fxutil", "@org_uber_go_fx//:fx", ], diff --git a/comp/collector/BUILD.bazel b/comp/collector/BUILD.bazel index 733ef95eebba..76828a0261f5 100644 --- a/comp/collector/BUILD.bazel +++ b/comp/collector/BUILD.bazel @@ -1 +1,14 @@ +load("@rules_go//go:def.bzl", "go_library") + #gazelle:dd_agent_go_test on + +go_library( + name = "collector", + srcs = ["bundle.go"], + importpath = "github.com/DataDog/datadog-agent/comp/collector", + visibility = ["//visibility:public"], + deps = [ + "//comp/collector/collector/impl", + "//pkg/util/fxutil", + ], +) diff --git a/comp/collector/collector/fx/BUILD.bazel b/comp/collector/collector/fx/BUILD.bazel new file mode 100644 index 000000000000..70eb867ec2c1 --- /dev/null +++ b/comp/collector/collector/fx/BUILD.bazel @@ -0,0 +1,12 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "fx", + srcs = ["fx.go"], + importpath = "github.com/DataDog/datadog-agent/comp/collector/collector/fx", + visibility = ["//visibility:public"], + deps = [ + "//comp/collector/collector/impl", + "//pkg/util/fxutil", + ], +) diff --git a/comp/core/gui/fx/BUILD.bazel b/comp/core/gui/fx/BUILD.bazel new file mode 100644 index 000000000000..5b6abd10fcda --- /dev/null +++ b/comp/core/gui/fx/BUILD.bazel @@ -0,0 +1,12 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "fx", + srcs = ["fx.go"], + importpath = "github.com/DataDog/datadog-agent/comp/core/gui/fx", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/gui/impl", + "//pkg/util/fxutil", + ], +) diff --git a/comp/core/gui/impl/BUILD.bazel b/comp/core/gui/impl/BUILD.bazel new file mode 100644 index 000000000000..a5b9f4d7adfa --- /dev/null +++ b/comp/core/gui/impl/BUILD.bazel @@ -0,0 +1,92 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "impl", + srcs = [ + "agent.go", + "auth.go", + "checks.go", + "checks_nopy.go", + "checks_python.go", + "gui.go", + "platform_darwin.go", + "platform_nix.go", + "platform_windows.go", + "render.go", + ], + embedsrcs = [ + "views/templates/index.tmpl", + "views/templates/runningChecks.tmpl", + ], + importpath = "github.com/DataDog/datadog-agent/comp/core/gui/impl", + visibility = ["//visibility:public"], + deps = [ + "//comp/api/api/def", + "//comp/core/autodiscovery/impl", + "//comp/core/autodiscovery/integration", + "//comp/core/config", + "//comp/core/flare", + "//comp/core/flare/helpers", + "//comp/core/gui/def", + "//comp/core/hostname/hostnameinterface/def", + "//comp/core/ipc/def", + "//comp/core/log/def", + "//comp/core/status", + "//comp/core/sysprobeconfig/def", + "//comp/def", + "//pkg/api/security", + "//pkg/collector", + "//pkg/collector/check/stats", + "//pkg/collector/corechecks", + "//pkg/collector/python", + "//pkg/config/model", + "//pkg/config/setup", + "//pkg/template/html", + "//pkg/util/defaultpaths", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/util/system", + "//pkg/version", + "@com_github_cyphar_filepath_securejoin//:filepath-securejoin", + "@in_yaml_go_yaml_v2//:yaml", + ] + select({ + "@rules_go//go/platform:darwin": [ + "//pkg/system-probe/api/client", + ], + "@rules_go//go/platform:ios": [ + "//pkg/system-probe/api/client", + ], + "@rules_go//go/platform:windows": [ + "//pkg/util/executable", + ], + "//conditions:default": [], + }), +) + +dd_agent_go_test( + name = "impl_test", + srcs = [ + "agent_test.go", + "auth_test.go", + "checks_test.go", + "platform_darwin_test.go", + "platform_nix_test.go", + "platform_windows_test.go", + ], + data = glob(["testdata/**"]), + embed = [":impl"], + deps = [ + "//comp/core/config", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ] + select({ + "@rules_go//go/platform:darwin": [ + "//comp/core/sysprobeconfig/mock", + ], + "@rules_go//go/platform:ios": [ + "//comp/core/sysprobeconfig/mock", + ], + "//conditions:default": [], + }), +) diff --git a/comp/metadata/BUILD.bazel b/comp/metadata/BUILD.bazel index 671482569336..ab00c1c74558 100644 --- a/comp/metadata/BUILD.bazel +++ b/comp/metadata/BUILD.bazel @@ -1,3 +1,48 @@ -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") # gazelle:dd_agent_go_test on + +go_library( + name = "metadata", + srcs = ["bundle.go"], + importpath = "github.com/DataDog/datadog-agent/comp/metadata", + visibility = ["//visibility:public"], + deps = [ + "//comp/metadata/haagent/fx", + "//comp/metadata/host/fx", + "//comp/metadata/hostgpu/fx", + "//comp/metadata/hostsysteminfo/fx", + "//comp/metadata/inventoryagent/fx", + "//comp/metadata/inventorychecks/fx", + "//comp/metadata/inventoryhost/fx", + "//comp/metadata/packagesigning/fx", + "//comp/metadata/resources/fx", + "//comp/metadata/runner/fx", + "//comp/metadata/securityagent/fx", + "//comp/metadata/systemprobe/fx", + "//pkg/util/fxutil", + ], +) + +dd_agent_go_test( + name = "metadata_test", + srcs = ["bundle_test.go"], + embed = [":metadata"], + deps = [ + "//comp/collector/collector/mock", + "//comp/core", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/haagent/mock", + "//comp/logs/agent/def", + "//comp/metadata/runner/def", + "//pkg/serializer", + "//pkg/util/fxutil", + "//pkg/util/option", + "@org_uber_go_fx//:fx", + ], +) diff --git a/comp/netflow/BUILD.bazel b/comp/netflow/BUILD.bazel index e1efd167d3b6..896d9d155281 100644 --- a/comp/netflow/BUILD.bazel +++ b/comp/netflow/BUILD.bazel @@ -1,2 +1,15 @@ -# Stub: intermediate package not yet migrated to Bazel. -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library") + +#gazelle:dd_agent_go_test on + +go_library( + name = "netflow", + srcs = ["bundle.go"], + importpath = "github.com/DataDog/datadog-agent/comp/netflow", + visibility = ["//visibility:public"], + deps = [ + "//comp/netflow/config/fx", + "//comp/netflow/server/fx", + "//pkg/util/fxutil", + ], +) diff --git a/comp/otelcol/BUILD.bazel b/comp/otelcol/BUILD.bazel index e1efd167d3b6..dd9738d57769 100644 --- a/comp/otelcol/BUILD.bazel +++ b/comp/otelcol/BUILD.bazel @@ -1,2 +1,14 @@ -# Stub: intermediate package not yet migrated to Bazel. -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library") + +#gazelle:dd_agent_go_test on + +go_library( + name = "otelcol", + srcs = ["bundle.go"], + importpath = "github.com/DataDog/datadog-agent/comp/otelcol", + visibility = ["//visibility:public"], + deps = [ + "//comp/otelcol/collector/fx-pipeline", + "//pkg/util/fxutil", + ], +) diff --git a/comp/process/BUILD.bazel b/comp/process/BUILD.bazel index 671482569336..6a7b8db1e219 100644 --- a/comp/process/BUILD.bazel +++ b/comp/process/BUILD.bazel @@ -1,3 +1,78 @@ -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") # gazelle:dd_agent_go_test on + +go_library( + name = "process", + srcs = ["bundle.go"], + importpath = "github.com/DataDog/datadog-agent/comp/process", + visibility = ["//visibility:public"], + deps = [ + "//comp/forwarder/connectionsforwarder/fx", + "//comp/process/agent/fx", + "//comp/process/apiserver/fx", + "//comp/process/connectionscheck/fx", + "//comp/process/containercheck/fx", + "//comp/process/expvars/fx", + "//comp/process/forwarders/fx", + "//comp/process/gpusubscriber/fx", + "//comp/process/hostinfo/fx", + "//comp/process/processcheck/fx", + "//comp/process/processdiscoverycheck/fx", + "//comp/process/profiler/fx", + "//comp/process/rtcontainercheck/fx", + "//comp/process/runner/fx", + "//comp/process/submitter/fx", + "//comp/serializer/logscompression/fx", + "//pkg/util/fxutil", + ], +) + +dd_agent_go_test( + name = "process_test", + srcs = ["bundle_test.go"], + embed = [":process"], + deps = [ + "//comp/core", + "//comp/core/config", + "//comp/core/delegatedauth/def", + "//comp/core/delegatedauth/mock", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/mock", + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/secrets/def", + "//comp/core/secrets/mock", + "//comp/core/settings/mock", + "//comp/core/status", + "//comp/core/status/statusimpl", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/telemetry/mock", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/networkpath/npcollector/fx", + "//comp/networkpath/npcollector/mock", + "//comp/networkpath/traceroute/fx-remote", + "//comp/process/runner/def", + "//comp/process/status/fx", + "//comp/process/types", + "//comp/rdnsquerier/fx-mock", + "//pkg/collector/python", + "//pkg/process/util/containers", + "//pkg/util/fxutil", + "@com_github_datadog_datadog_go_v5//statsd", + "@com_github_stretchr_testify//require", + "@org_uber_go_fx//:fx", + ], +) diff --git a/comp/process/agent/BUILD.bazel b/comp/process/agent/BUILD.bazel new file mode 100644 index 000000000000..8fcc808d49dd --- /dev/null +++ b/comp/process/agent/BUILD.bazel @@ -0,0 +1,116 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "agent", + srcs = [ + "agent_aix.go", + "agent_fallback.go", + "agent_linux.go", + ], + importpath = "github.com/DataDog/datadog-agent/comp/process/agent", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/config/setup", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:android": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/config/setup", + "//pkg/process/checks", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:darwin": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:dragonfly": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:freebsd": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:illumos": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:ios": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:js": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:linux": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/config/setup", + "//pkg/process/checks", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:netbsd": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:openbsd": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:osx": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:plan9": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:qnx": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:solaris": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "@rules_go//go/platform:windows": [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/process/types", + "//pkg/util/flavor", + ], + "//conditions:default": [], + }), +) diff --git a/comp/process/agent/fx/BUILD.bazel b/comp/process/agent/fx/BUILD.bazel new file mode 100644 index 000000000000..a11140166e3f --- /dev/null +++ b/comp/process/agent/fx/BUILD.bazel @@ -0,0 +1,12 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "fx", + srcs = ["fx.go"], + importpath = "github.com/DataDog/datadog-agent/comp/process/agent/fx", + visibility = ["//visibility:public"], + deps = [ + "//comp/process/agent/impl", + "//pkg/util/fxutil", + ], +) diff --git a/comp/process/agent/impl/BUILD.bazel b/comp/process/agent/impl/BUILD.bazel new file mode 100644 index 000000000000..37455117fbc0 --- /dev/null +++ b/comp/process/agent/impl/BUILD.bazel @@ -0,0 +1,327 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "impl", + srcs = [ + "agent.go", + "agent_fallback.go", + "agent_linux.go", + "flare.go", + "status.go", + ], + embedsrcs = ["status_templates/processcomponent.tmpl"], + importpath = "github.com/DataDog/datadog-agent/comp/process/agent/impl", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/flare/types", + "//comp/core/hostname/hostnameinterface/def", + "//comp/core/log/def", + "//comp/core/status", + "//comp/core/sysprobeconfig/def", + "//comp/def", + "//comp/process/agent", + "//comp/process/agent/def", + "//comp/process/expvars/impl", + "//comp/process/hostinfo/def", + "//comp/process/runner/def", + "//comp/process/submitter/def", + "//comp/process/types", + "//pkg/config/setup", + "//pkg/process/checks", + "//pkg/process/util/status", + "//pkg/util/flavor", + ], +) + +dd_agent_go_test( + name = "impl_test", + srcs = [ + "agent_linux_test.go", + "agent_test.go", + "flare_test.go", + "status_test.go", + ], + embed = [":impl"], + embedsrcs = [ + "fixtures/expvar_response.tmpl", + "fixtures/text_error_response.tmpl", + ], + deps = [ + "//comp/core/config", + "//comp/core/flare/helpers", + "//comp/core/hostname/hostnameimpl", + "//pkg/process/checks", + "//pkg/process/checks/mocks", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ] + select({ + "@rules_go//go/platform:android": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/status", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/telemetry/def", + "//comp/core/telemetry/mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//mock", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:darwin": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:dragonfly": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:freebsd": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:illumos": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:ios": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:js": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:linux": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/status", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/telemetry/def", + "//comp/core/telemetry/mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//mock", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:netbsd": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:openbsd": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:osx": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:plan9": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:qnx": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:solaris": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "@rules_go//go/platform:windows": [ + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/dogstatsd/statsd/impl", + "//comp/process/agent/def", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/fx", + "//comp/process/submitter/mock", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], + "//conditions:default": [], + }), +) diff --git a/comp/process/runner/fx/BUILD.bazel b/comp/process/runner/fx/BUILD.bazel new file mode 100644 index 000000000000..a42ff8e9206c --- /dev/null +++ b/comp/process/runner/fx/BUILD.bazel @@ -0,0 +1,12 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "fx", + srcs = ["fx.go"], + importpath = "github.com/DataDog/datadog-agent/comp/process/runner/fx", + visibility = ["//visibility:public"], + deps = [ + "//comp/process/runner/impl", + "//pkg/util/fxutil", + ], +) diff --git a/comp/process/runner/impl/BUILD.bazel b/comp/process/runner/impl/BUILD.bazel new file mode 100644 index 000000000000..11d7f77a5d48 --- /dev/null +++ b/comp/process/runner/impl/BUILD.bazel @@ -0,0 +1,51 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "impl", + srcs = ["runner.go"], + importpath = "github.com/DataDog/datadog-agent/comp/process/runner/impl", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/core/sysprobeconfig/def", + "//comp/core/tagger/def", + "//comp/def", + "//comp/process/agent", + "//comp/process/hostinfo/def", + "//comp/process/runner/def", + "//comp/process/submitter/def", + "//comp/process/types", + "//pkg/process/checks", + "//pkg/process/runner", + ], +) + +dd_agent_go_test( + name = "impl_test", + srcs = ["runner_test.go"], + embed = [":impl"], + deps = [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx", + "//comp/process/containercheck/impl", + "//comp/process/hostinfo/mock", + "//comp/process/processcheck/impl", + "//comp/process/runner/def", + "//comp/process/submitter/mock", + "//comp/process/types", + "//pkg/util/fxutil", + "//pkg/util/testutil/flake", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//assert", + "@org_uber_go_fx//:fx", + ], +) diff --git a/comp/process/submitter/def/BUILD.bazel b/comp/process/submitter/def/BUILD.bazel new file mode 100644 index 000000000000..e00c9c3c7446 --- /dev/null +++ b/comp/process/submitter/def/BUILD.bazel @@ -0,0 +1,9 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "def", + srcs = ["component.go"], + importpath = "github.com/DataDog/datadog-agent/comp/process/submitter/def", + visibility = ["//visibility:public"], + deps = ["//pkg/process/runner"], +) diff --git a/comp/process/submitter/fx/BUILD.bazel b/comp/process/submitter/fx/BUILD.bazel new file mode 100644 index 000000000000..e4b96f911814 --- /dev/null +++ b/comp/process/submitter/fx/BUILD.bazel @@ -0,0 +1,12 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "fx", + srcs = ["fx.go"], + importpath = "github.com/DataDog/datadog-agent/comp/process/submitter/fx", + visibility = ["//visibility:public"], + deps = [ + "//comp/process/submitter/impl", + "//pkg/util/fxutil", + ], +) diff --git a/comp/process/submitter/impl/BUILD.bazel b/comp/process/submitter/impl/BUILD.bazel new file mode 100644 index 000000000000..5548f3ea4084 --- /dev/null +++ b/comp/process/submitter/impl/BUILD.bazel @@ -0,0 +1,44 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "impl", + srcs = [ + "submitter.go", + "submitter_mock.go", + ], + importpath = "github.com/DataDog/datadog-agent/comp/process/submitter/impl", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/core/sysprobeconfig/def", + "//comp/def", + "//comp/process/agent", + "//comp/process/forwarders/def", + "//comp/process/hostinfo/def", + "//comp/process/submitter/def", + "//comp/process/types", + "//pkg/process/runner", + "//pkg/process/runner/mocks", + "@com_github_datadog_datadog_go_v5//statsd", + "@com_github_stretchr_testify//mock", + ], +) + +dd_agent_go_test( + name = "impl_test", + srcs = ["submitter_test.go"], + embed = [":impl"], + deps = [ + "//comp/core", + "//comp/forwarder/connectionsforwarder/def", + "//comp/forwarder/connectionsforwarder/mock", + "//comp/process/forwarders/mock", + "//comp/process/hostinfo/mock", + "//comp/process/submitter/def", + "//pkg/util/fxutil", + "@com_github_datadog_datadog_go_v5//statsd", + "@org_uber_go_fx//:fx", + ], +) diff --git a/comp/process/submitter/mock/BUILD.bazel b/comp/process/submitter/mock/BUILD.bazel new file mode 100644 index 000000000000..74857161e9ed --- /dev/null +++ b/comp/process/submitter/mock/BUILD.bazel @@ -0,0 +1,14 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "mock", + srcs = ["mock.go"], + importpath = "github.com/DataDog/datadog-agent/comp/process/submitter/mock", + visibility = ["//visibility:public"], + deps = [ + "//comp/process/submitter/def", + "//comp/process/submitter/impl", + "//pkg/util/fxutil", + "@org_uber_go_fx//:fx", + ], +) diff --git a/deps/go.MODULE.bazel b/deps/go.MODULE.bazel index aa5942cd44b4..f892192c63a1 100644 --- a/deps/go.MODULE.bazel +++ b/deps/go.MODULE.bazel @@ -587,6 +587,20 @@ go_deps.module_override( path = "github.com/coreos/go-systemd/v22", ) +# godror vendors the ODPI-C library (odpi/include, odpi/src, odpi/embed) as +# plain Go source-tree files with no buildable .go files under the default +# build tags, so Gazelle never generates a BUILD.bazel for those directories +# and the cgo compile's "#cgo CFLAGS: -Iodpi/..." directives find nothing in +# the sandbox. Patch in a cc_library exposing the vendored sources via cdeps. +go_deps.module_override( + patch_strip = 1, + patches = [ + "//bazel/rules/go_godror:odpi-build-file.patch", + "//bazel/rules/go_godror:cdeps-attr.patch", + ], + path = "github.com/godror/godror", +) + inject_repo(go_deps, "systemd") use_repo_rule("//bazel/rules/go_fast:repo.bzl", "go_fast")(name = "go_fast") diff --git a/pkg/cli/subcommands/autoscalerlist/BUILD.bazel b/pkg/cli/subcommands/autoscalerlist/BUILD.bazel new file mode 100644 index 000000000000..3e91e7ad6fd2 --- /dev/null +++ b/pkg/cli/subcommands/autoscalerlist/BUILD.bazel @@ -0,0 +1,36 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "autoscalerlist", + srcs = ["command.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/cli/subcommands/autoscalerlist", + visibility = ["//visibility:public"], + deps = [ + "//comp/core", + "//comp/core/config", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/ipc/httphelpers", + "//comp/core/log/def", + "//pkg/clusteragent/autoscaling/workload", + "//pkg/clusteragent/autoscaling/workload/loadstore", + "//pkg/config/setup", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "@com_github_fatih_color//:color", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "autoscalerlist_test", + srcs = ["command_test.go"], + embed = [":autoscalerlist"], + gotags = ["test"], + deps = [ + "//comp/core", + "//pkg/util/fxutil", + "@com_github_spf13_cobra//:cobra", + ], +) diff --git a/pkg/cli/subcommands/check/BUILD.bazel b/pkg/cli/subcommands/check/BUILD.bazel new file mode 100644 index 000000000000..d82348ba3559 --- /dev/null +++ b/pkg/cli/subcommands/check/BUILD.bazel @@ -0,0 +1,118 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "check", + srcs = [ + "command.go", + "command_notwindows.go", + "command_windows.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/cli/subcommands/check", + visibility = ["//visibility:public"], + deps = [ + "//cmd/agent/common", + "//comp/agent/jmxlogger/def", + "//comp/agent/jmxlogger/fx", + "//comp/aggregator/demultiplexer/def", + "//comp/aggregator/demultiplexer/impl", + "//comp/api/api/apiimpl", + "//comp/api/api/def", + "//comp/api/grpcserver/fx-none", + "//comp/collector/collector/def", + "//comp/collector/collector/noop-impl", + "//comp/core", + "//comp/core/autodiscovery/def", + "//comp/core/autodiscovery/fx", + "//comp/core/autodiscovery/impl", + "//comp/core/autodiscovery/integration", + "//comp/core/autodiscovery/providers", + "//comp/core/config", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/log/def", + "//comp/core/status", + "//comp/core/status/statusimpl", + "//comp/core/sysprobeconfig/impl", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-dual", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/defaults", + "//comp/core/workloadmeta/fx", + "//comp/filterlist/fx", + "//comp/forwarder/defaultforwarder/noop-impl", + "//comp/forwarder/eventplatform/def", + "//comp/forwarder/eventplatform/fx", + "//comp/forwarder/eventplatformreceiver/impl", + "//comp/forwarder/orchestrator/def", + "//comp/forwarder/orchestrator/fx", + "//comp/haagent/fx", + "//comp/healthplatform", + "//comp/healthplatform/store/def", + "//comp/logs/agent/def", + "//comp/logs/integrations/def", + "//comp/metadata/inventorychecks/def", + "//comp/metadata/inventorychecks/fx", + "//comp/networkconfigmanagement/def", + "//comp/networkpath/traceroute/def", + "//comp/networkpath/traceroute/fx-remote", + "//comp/serializer/logscompression/fx", + "//comp/serializer/metricscompression/fx", + "//pkg/aggregator", + "//pkg/cli/standalone", + "//pkg/collector", + "//pkg/collector/check", + "//pkg/collector/check/stats", + "//pkg/collector/python", + "//pkg/collector/sharedlibrary/sharedlibraryimpl", + "//pkg/commonchecks", + "//pkg/config/model", + "//pkg/serializer", + "//pkg/status/collector", + "//pkg/util/defaultpaths", + "//pkg/util/fxutil", + "//pkg/util/option", + "//pkg/util/scrubber", + "@com_github_fatih_color//:color", + "@com_github_spf13_cobra//:cobra", + "@in_yaml_go_yaml_v2//:yaml", + "@org_uber_go_fx//:fx", + ] + select({ + "@rules_go//go/platform:windows": [ + "//comp/checks/windowseventlog/def", + "//comp/checks/windowseventlog/fx", + "//comp/checks/winregistry/def", + "//comp/checks/winregistry/fx", + "//comp/publishermetadatacache/fx", + ], + "//conditions:default": [], + }), +) + +go_test( + name = "check_test", + srcs = ["command_test.go"], + embed = [":check"], + gotags = ["test"], + deps = [ + "//comp/core", + "//comp/core/autodiscovery/integration", + "//comp/core/autodiscovery/mock", + "//comp/core/autodiscovery/scheduler", + "//comp/core/secrets/def", + "//comp/core/secrets/mock", + "//comp/core/tagger/fx-mock", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/collectors/catalog-core", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//pkg/util/fxutil", + "@com_github_spf13_cobra//:cobra", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/cli/subcommands/processchecks/BUILD.bazel b/pkg/cli/subcommands/processchecks/BUILD.bazel new file mode 100644 index 000000000000..dced9738776c --- /dev/null +++ b/pkg/cli/subcommands/processchecks/BUILD.bazel @@ -0,0 +1,61 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "processchecks", + srcs = ["command.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/cli/subcommands/processchecks", + visibility = ["//visibility:public"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/log/def", + "//comp/core/sysprobeconfig/def", + "//comp/core/tagger/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadmeta/def", + "//comp/metadata/host/impl/utils", + "//comp/networkpath/npcollector/def", + "//comp/process/hostinfo/def", + "//comp/process/types", + "//pkg/process/checks", + "//pkg/system-probe/config", + "//pkg/util/fxutil", + "//pkg/version", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_fatih_color//:color", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_fx//:fx", + ], +) + +go_test( + name = "processchecks_test", + srcs = ["command_test.go"], + embed = [":processchecks"], + gotags = ["test"], + deps = [ + "//cmd/process-agent/command", + "//comp/core", + "//comp/core/config", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/fx", + "//comp/core/ipc/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/networkpath/npcollector/mock", + "//comp/process", + "//comp/rdnsquerier/fx-mock", + "//pkg/process/util/containers", + "//pkg/util/fxutil", + "@com_github_datadog_datadog_go_v5//statsd", + "@com_github_spf13_cobra//:cobra", + "@com_github_stretchr_testify//require", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/clusteragent/admission/BUILD.bazel b/pkg/clusteragent/admission/BUILD.bazel new file mode 100644 index 000000000000..7e06d7e7e054 --- /dev/null +++ b/pkg/clusteragent/admission/BUILD.bazel @@ -0,0 +1,61 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "admission", + srcs = [ + "api_discovery.go", + "doc.go", + "start.go", + "status.go", + "status_no_apiserver.go", + "util.go", + ], + embedsrcs = ["status_templates/admissionwebhook.tmpl"], + importpath = "github.com/DataDog/datadog-agent/pkg/clusteragent/admission", + visibility = ["//visibility:public"], + deps = [ + "//comp/aggregator/demultiplexer/def", + "//comp/core/config", + "//comp/core/status", + "//comp/core/workloadfilter/def", + "//comp/core/workloadmeta/def", + "//comp/healthplatform/store/def", + "//pkg/clusteragent/admission/controllers/secret", + "//pkg/clusteragent/admission/controllers/webhook", + "//pkg/clusteragent/admission/mutate/autoinstrumentation/libraryinjection", + "//pkg/clusteragent/admission/probe", + "//pkg/clusteragent/autoscaling/cluster/spot", + "//pkg/clusteragent/autoscaling/workload", + "//pkg/clusteragent/instrumentation", + "//pkg/config/setup", + "//pkg/errors", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/kubernetes/apiserver/common", + "//pkg/util/kubernetes/apiserver/common/namespace", + "//pkg/util/kubernetes/certificate", + "//pkg/util/log", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/version", + "@io_k8s_client_go//discovery", + "@io_k8s_client_go//dynamic/dynamicinformer", + "@io_k8s_client_go//informers", + "@io_k8s_client_go//kubernetes", + "@io_k8s_client_go//tools/cache", + "@org_golang_x_mod//semver", + ], +) + +dd_agent_go_test( + name = "admission_test", + srcs = ["util_test.go"], + embed = [":admission"], + flavors = [ + "base", + "fips", + ], + deps = [ + "@com_github_stretchr_testify//assert", + "@io_k8s_apimachinery//pkg/version", + ], +) diff --git a/pkg/clusteragent/autoscaling/externalmetrics/BUILD.bazel b/pkg/clusteragent/autoscaling/externalmetrics/BUILD.bazel new file mode 100644 index 000000000000..592071d5081d --- /dev/null +++ b/pkg/clusteragent/autoscaling/externalmetrics/BUILD.bazel @@ -0,0 +1,101 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "externalmetrics", + srcs = [ + "autoscaler_watcher.go", + "datadogmetric_controller.go", + "doc.go", + "errors.go", + "metrics_retriever.go", + "provider.go", + "store.go", + "telemetry.go", + "utils.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/clusteragent/autoscaling/externalmetrics", + visibility = ["//visibility:public"], + deps = [ + "//comp/autoscaling/datadogclient/def", + "//comp/core/telemetry/def", + "//comp/core/telemetry/impl", + "//pkg/clusteragent/autoscaling/externalmetrics/model", + "//pkg/clusteragent/autoscaling/store", + "//pkg/config/setup", + "//pkg/util/backoff", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/kubernetes/apiserver/common/namespace", + "//pkg/util/kubernetes/apiserver/controllers", + "//pkg/util/kubernetes/apiserver/leaderelection", + "//pkg/util/kubernetes/apiserver/leaderelection/metrics", + "//pkg/util/kubernetes/autoscalers", + "//pkg/util/log", + "@com_github_datadog_datadog_operator_api//datadoghq/v1alpha1", + "@com_github_datadog_watermarkpodautoscaler_apis//datadoghq/v1alpha1", + "@com_github_prometheus_client_golang//prometheus", + "@io_k8s_api//autoscaling/v2:autoscaling", + "@io_k8s_api//autoscaling/v2beta1", + "@io_k8s_api//autoscaling/v2beta2", + "@io_k8s_api//core/v1:core", + "@io_k8s_apimachinery//pkg/api/errors", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/labels", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_apimachinery//pkg/runtime/schema", + "@io_k8s_client_go//dynamic", + "@io_k8s_client_go//dynamic/dynamicinformer", + "@io_k8s_client_go//informers", + "@io_k8s_client_go//kubernetes", + "@io_k8s_client_go//tools/cache", + "@io_k8s_client_go//util/workqueue", + "@io_k8s_metrics//pkg/apis/external_metrics", + "@io_k8s_sigs_custom_metrics_apiserver//pkg/provider", + "@io_k8s_sigs_custom_metrics_apiserver//pkg/provider/defaults", + ], +) + +dd_agent_go_test( + name = "externalmetrics_test", + srcs = [ + "autoscaler_watcher_test.go", + "datadogmetric_controller_test.go", + "metrics_retriever_backoff_test.go", + "metrics_retriever_test.go", + "provider_test.go", + "utils_for_test.go", + "utils_test.go", + ], + embed = [":externalmetrics"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//pkg/clusteragent/autoscaling", + "//pkg/clusteragent/autoscaling/custommetrics", + "//pkg/clusteragent/autoscaling/externalmetrics/model", + "//pkg/util/kubernetes", + "//pkg/util/kubernetes/autoscalers", + "@com_github_datadog_datadog_operator_api//datadoghq/v1alpha1", + "@com_github_datadog_watermarkpodautoscaler_apis//datadoghq/v1alpha1", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@io_k8s_api//autoscaling/v2beta1", + "@io_k8s_api//core/v1:core", + "@io_k8s_apimachinery//pkg/api/resource", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/labels", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_client_go//dynamic/dynamicinformer", + "@io_k8s_client_go//dynamic/fake", + "@io_k8s_client_go//informers", + "@io_k8s_client_go//kubernetes/fake", + "@io_k8s_client_go//kubernetes/scheme", + "@io_k8s_client_go//testing", + "@io_k8s_metrics//pkg/apis/external_metrics", + "@io_k8s_sigs_custom_metrics_apiserver//pkg/provider", + ], +) diff --git a/pkg/collector/corechecks/cluster/ksm/BUILD.bazel b/pkg/collector/corechecks/cluster/ksm/BUILD.bazel new file mode 100644 index 000000000000..442aedd03780 --- /dev/null +++ b/pkg/collector/corechecks/cluster/ksm/BUILD.bazel @@ -0,0 +1,91 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "ksm", + srcs = [ + "kubernetes_state.go", + "kubernetes_state_aggregators.go", + "kubernetes_state_defaults.go", + "kubernetes_state_label_joins.go", + "kubernetes_state_telemetry.go", + "kubernetes_state_transformers.go", + "stub.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/ksm", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/def", + "//comp/core/tagger/kubetags", + "//comp/core/tagger/tags", + "//comp/core/tagger/types", + "//comp/core/workloadmeta/collectors/util", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/cluster", + "//pkg/collector/corechecks/cluster/ksm/customresources", + "//pkg/config/model", + "//pkg/config/setup", + "//pkg/config/utils", + "//pkg/kubestatemetrics/builder", + "//pkg/kubestatemetrics/store", + "//pkg/metrics/servicecheck", + "//pkg/util/flavor", + "//pkg/util/hostname", + "//pkg/util/kubernetes", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/kubernetes/clustername", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/util/retry", + "@com_github_samber_lo//:lo", + "@in_yaml_go_yaml_v2//:yaml", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_client_go//discovery", + "@io_k8s_client_go//tools/cache", + "@io_k8s_kube_state_metrics_v2//pkg/allowdenylist", + "@io_k8s_kube_state_metrics_v2//pkg/customresource", + "@io_k8s_kube_state_metrics_v2//pkg/customresourcestate", + "@io_k8s_kube_state_metrics_v2//pkg/discovery", + "@io_k8s_kube_state_metrics_v2//pkg/options", + ], +) + +dd_agent_go_test( + name = "ksm_test", + srcs = [ + "kubernetes_state_aggregators_test.go", + "kubernetes_state_label_joins_test.go", + "kubernetes_state_telemetry_test.go", + "kubernetes_state_test.go", + "kubernetes_state_transformers_test.go", + ], + embed = [":ksm"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//comp/core/tagger/fx-mock", + "//pkg/aggregator/mocksender", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/cluster/ksm/customresources", + "//pkg/config/mock", + "//pkg/kubestatemetrics/store", + "//pkg/metrics/servicecheck", + "//pkg/util/kubernetes/apiserver", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_client_go//discovery/fake", + "@io_k8s_client_go//kubernetes/fake", + "@io_k8s_kube_state_metrics_v2//pkg/allowdenylist", + "@io_k8s_kube_state_metrics_v2//pkg/customresourcestate", + "@io_k8s_kube_state_metrics_v2//pkg/options", + "@io_k8s_kube_state_metrics_v2//pkg/util", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/BUILD.bazel new file mode 100644 index 000000000000..7c290c0fb599 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/BUILD.bazel @@ -0,0 +1,115 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "orchestrator", + srcs = [ + "collector_bundle.go", + "manifest_buffer.go", + "orchestrator.go", + "stub.go", + "terminated_resource_bundle.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/autodiscovery/integration", + "//comp/core/config", + "//comp/core/tagger/def", + "//comp/core/tagger/types", + "//comp/core/telemetry/impl", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/cluster", + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/inventory", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/k8s", + "//pkg/collector/corechecks/cluster/orchestrator/discovery", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processors/common", + "//pkg/collector/corechecks/cluster/orchestrator/util", + "//pkg/config/setup", + "//pkg/orchestrator", + "//pkg/orchestrator/config", + "//pkg/orchestrator/model", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/kubernetes/clustername", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@com_github_datadog_agent_payload_v5//process", + "@in_yaml_go_yaml_v2//:yaml", + "@io_k8s_apiextensions_apiserver//pkg/client/informers/externalversions", + "@io_k8s_apimachinery//pkg/api/errors", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/fields", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_apimachinery//pkg/runtime/schema", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/client/informers/externalversions", + "@io_k8s_client_go//dynamic/dynamicinformer", + "@io_k8s_client_go//informers", + "@io_k8s_client_go//tools/cache", + "@org_uber_go_atomic//:atomic", + ], +) + +dd_agent_go_test( + name = "orchestrator_test", + srcs = [ + "collector_bundler_test.go", + "manifest_buffer_test.go", + "orchestrator_test.go", + "terminated_resource_bundle_test.go", + ], + embed = [":orchestrator"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/inventory", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/k8s", + "//pkg/collector/corechecks/cluster/orchestrator/discovery", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/config/env", + "//pkg/config/mock", + "//pkg/config/setup", + "//pkg/orchestrator", + "//pkg/orchestrator/config", + "//pkg/orchestrator/model", + "//pkg/util/fxutil", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/kubernetes/clustername", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//mock", + "@com_github_stretchr_testify//require", + "@io_k8s_api//apps/v1:apps", + "@io_k8s_api//core/v1:core", + "@io_k8s_apiextensions_apiserver//pkg/client/clientset/clientset/fake", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_apimachinery//pkg/runtime/schema", + "@io_k8s_apimachinery//pkg/types", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/client/clientset/versioned/fake", + "@io_k8s_client_go//dynamic/fake", + "@io_k8s_client_go//kubernetes/fake", + "@io_k8s_client_go//kubernetes/scheme", + "@io_k8s_client_go//tools/cache", + "@org_uber_go_atomic//:atomic", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/collectors/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/collectors/BUILD.bazel new file mode 100644 index 000000000000..0d042822dd12 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/collectors/BUILD.bazel @@ -0,0 +1,28 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "collectors", + srcs = [ + "collector.go", + "errors.go", + "k8scollector.go", + "stub.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/collectors", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/workloadmeta/def", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/orchestrator/config", + "//pkg/orchestrator/model", + "//pkg/util/kubernetes/apiserver", + "@com_github_benbjohnson_clock//:clock", + "@com_github_datadog_agent_payload_v5//process", + "@io_k8s_apiextensions_apiserver//pkg/client/informers/externalversions", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/client/informers/externalversions", + "@io_k8s_client_go//dynamic/dynamicinformer", + "@io_k8s_client_go//informers", + "@io_k8s_client_go//tools/cache", + "@org_uber_go_atomic//:atomic", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/collectors/ecs/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/collectors/ecs/BUILD.bazel new file mode 100644 index 000000000000..6b00f9bf9ee5 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/collectors/ecs/BUILD.bazel @@ -0,0 +1,19 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "ecs", + srcs = ["task.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/collectors/ecs", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/tagger/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processors/ecs", + "//pkg/collector/corechecks/cluster/orchestrator/transformers/ecs", + "//pkg/orchestrator", + "//pkg/util/log", + "@com_github_benbjohnson_clock//:clock", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/collectors/inventory/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/collectors/inventory/BUILD.bazel new file mode 100644 index 000000000000..1b71c05105f6 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/collectors/inventory/BUILD.bazel @@ -0,0 +1,16 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "inventory", + srcs = ["inventory.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/collectors/inventory", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/tagger/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/k8s", + "//pkg/orchestrator", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/collectors/k8s/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/collectors/k8s/BUILD.bazel new file mode 100644 index 000000000000..3c673e89d99a --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/collectors/k8s/BUILD.bazel @@ -0,0 +1,189 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "k8s", + srcs = [ + "cluster.go", + "clusterrole.go", + "clusterrolebinding.go", + "configmap.go", + "cr.go", + "crd.go", + "cronjob.go", + "cronjob_v1.go", + "cronjob_v1beta1.go", + "daemonset.go", + "deployment.go", + "generic.go", + "helpers.go", + "horizontalpodautoscaler.go", + "ingress.go", + "job.go", + "limitrange.go", + "namespace.go", + "networkpolicy.go", + "node.go", + "persistentvolume.go", + "persistentvolumeclaim.go", + "pod_deletion_watcher.go", + "pod_terminated.go", + "pod_terminated_improved.go", + "pod_unassigned.go", + "poddisruptionbudget.go", + "replicaset.go", + "role.go", + "rolebinding.go", + "service.go", + "serviceaccount.go", + "statefulset.go", + "storageclass.go", + "verticalpodautoscaler.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/collectors/k8s", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/tagger/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processors/k8s", + "//pkg/collector/corechecks/cluster/orchestrator/util", + "//pkg/config/setup", + "//pkg/orchestrator", + "//pkg/orchestrator/config", + "//pkg/orchestrator/model", + "//pkg/util/kubernetes", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/log", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//assert", + "@io_k8s_api//core/v1:core", + "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1:apiextensions", + "@io_k8s_apimachinery//pkg/api/errors", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/labels", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_apimachinery//pkg/runtime/schema", + "@io_k8s_apimachinery//pkg/util/wait", + "@io_k8s_apimachinery//pkg/watch", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/client/informers/externalversions/autoscaling.k8s.io/v1:autoscaling_k8s_io", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/client/listers/autoscaling.k8s.io/v1:autoscaling_k8s_io", + "@io_k8s_client_go//informers", + "@io_k8s_client_go//informers/apps/v1:apps", + "@io_k8s_client_go//informers/autoscaling/v2:autoscaling", + "@io_k8s_client_go//informers/batch/v1:batch", + "@io_k8s_client_go//informers/batch/v1beta1", + "@io_k8s_client_go//informers/core/v1:core", + "@io_k8s_client_go//informers/networking/v1:networking", + "@io_k8s_client_go//informers/policy/v1:policy", + "@io_k8s_client_go//informers/rbac/v1:rbac", + "@io_k8s_client_go//informers/storage/v1:storage", + "@io_k8s_client_go//kubernetes", + "@io_k8s_client_go//kubernetes/fake", + "@io_k8s_client_go//listers/apps/v1:apps", + "@io_k8s_client_go//listers/autoscaling/v2:autoscaling", + "@io_k8s_client_go//listers/batch/v1:batch", + "@io_k8s_client_go//listers/batch/v1beta1", + "@io_k8s_client_go//listers/core/v1:core", + "@io_k8s_client_go//listers/networking/v1:networking", + "@io_k8s_client_go//listers/policy/v1:policy", + "@io_k8s_client_go//listers/rbac/v1:rbac", + "@io_k8s_client_go//listers/storage/v1:storage", + "@io_k8s_client_go//tools/cache", + "@io_k8s_client_go//tools/watch", + "@io_k8s_utils//clock", + "@org_uber_go_atomic//:atomic", + ], +) + +dd_agent_go_test( + name = "k8s_test", + srcs = [ + "cluster_test.go", + "clusterrole_test.go", + "clusterrolebinding_test.go", + "cr_test.go", + "crd_test.go", + "cronjob_v1_test.go", + "cronjob_v1beta1_test.go", + "daemonset_test.go", + "deployment_test.go", + "horizontalpodautoscaler_test.go", + "ingress_test.go", + "job_test.go", + "limitrange_test.go", + "namepsace_test.go", + "networkpolicy_test.go", + "node_test.go", + "persistentvolume_test.go", + "persistentvolumeclaim_test.go", + "pod_deletion_watcher_test.go", + "pod_terminated_test.go", + "pod_unassigned_test.go", + "poddisruptionbudget_test.go", + "replicaset_test.go", + "role_test.go", + "rolebinding_test.go", + "service_test.go", + "serviceaccount_test.go", + "statefulset_test.go", + "storageclass_test.go", + "verticalpodautoscaler_test.go", + ], + embed = [":k8s"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/tagger/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/processorstest", + "//pkg/config/mock", + "//pkg/orchestrator/config", + "//pkg/util/fxutil", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/pointer", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//suite", + "@io_k8s_api//apps/v1:apps", + "@io_k8s_api//autoscaling/v1:autoscaling", + "@io_k8s_api//autoscaling/v2:autoscaling", + "@io_k8s_api//batch/v1:batch", + "@io_k8s_api//batch/v1beta1", + "@io_k8s_api//core/v1:core", + "@io_k8s_api//networking/v1:networking", + "@io_k8s_api//policy/v1:policy", + "@io_k8s_api//rbac/v1:rbac", + "@io_k8s_api//storage/v1:storage", + "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1:apiextensions", + "@io_k8s_apiextensions_apiserver//pkg/client/clientset/clientset/fake", + "@io_k8s_apiextensions_apiserver//pkg/client/informers/externalversions", + "@io_k8s_apimachinery//pkg/api/resource", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_apimachinery//pkg/types", + "@io_k8s_apimachinery//pkg/util/intstr", + "@io_k8s_apimachinery//pkg/version", + "@io_k8s_apimachinery//pkg/watch", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/apis/autoscaling.k8s.io/v1:autoscaling_k8s_io", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/client/clientset/versioned/fake", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/client/informers/externalversions", + "@io_k8s_client_go//discovery/fake", + "@io_k8s_client_go//dynamic/dynamicinformer", + "@io_k8s_client_go//dynamic/fake", + "@io_k8s_client_go//kubernetes/fake", + "@io_k8s_client_go//testing", + "@io_k8s_client_go//tools/cache", + "@org_uber_go_atomic//:atomic", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/discovery/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/discovery/BUILD.bazel new file mode 100644 index 000000000000..2cc7a68f4112 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/discovery/BUILD.bazel @@ -0,0 +1,50 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "discovery", + srcs = [ + "collector_discovery.go", + "collector_discovery_crd.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/discovery", + visibility = ["//visibility:public"], + deps = [ + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/inventory", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/k8s", + "//pkg/collector/corechecks/cluster/orchestrator/util", + "//pkg/orchestrator", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/log", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_client_go//discovery", + ], +) + +dd_agent_go_test( + name = "discovery_test", + srcs = [ + "collector_discovery_crd_test.go", + "collector_discovery_test.go", + ], + embed = [":discovery"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/tagger/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/inventory", + "//pkg/config/mock", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/processors/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/processors/BUILD.bazel new file mode 100644 index 000000000000..ff0a7b05909b --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/processors/BUILD.bazel @@ -0,0 +1,55 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "processors", + srcs = [ + "chunking.go", + "errors.go", + "processor.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/processors", + visibility = ["//visibility:public"], + deps = [ + "//pkg/collector/corechecks/cluster/orchestrator/util", + "//pkg/orchestrator", + "//pkg/orchestrator/config", + "//pkg/orchestrator/model", + "//pkg/process/util", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/log", + "@com_github_benbjohnson_clock//:clock", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_json_iterator_go//:go", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/types", + ], +) + +dd_agent_go_test( + name = "processors_test", + srcs = [ + "chunking_test.go", + "processor_handlers_test.go", + "processor_test.go", + ], + embed = [":processors"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//pkg/collector/corechecks/cluster/orchestrator/processorstest", + "//pkg/orchestrator", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@com_github_stretchr_testify//suite", + "@io_k8s_api//apps/v1:apps", + "@io_k8s_api//core/v1:core", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/types", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/processors/common/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/processors/common/BUILD.bazel new file mode 100644 index 000000000000..f916aaf4b4e0 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/processors/common/BUILD.bazel @@ -0,0 +1,12 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "common", + srcs = ["base.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/processors/common", + visibility = ["//visibility:public"], + deps = [ + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "@com_github_datadog_agent_payload_v5//process", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/processors/ecs/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/processors/ecs/BUILD.bazel new file mode 100644 index 000000000000..f5142a482615 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/processors/ecs/BUILD.bazel @@ -0,0 +1,18 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "ecs", + srcs = ["task.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/processors/ecs", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/tagger/def", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processors/common", + "//pkg/collector/corechecks/cluster/orchestrator/transformers/ecs", + "//pkg/collector/corechecks/cluster/orchestrator/util", + "//pkg/util/log", + "@com_github_datadog_agent_payload_v5//process", + "@io_k8s_apimachinery//pkg/types", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/processors/k8s/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/processors/k8s/BUILD.bazel new file mode 100644 index 000000000000..b964e4c17005 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/processors/k8s/BUILD.bazel @@ -0,0 +1,152 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "k8s", + srcs = [ + "cluster.go", + "clusterrole.go", + "clusterrolebinding.go", + "configmap.go", + "cr.go", + "crd.go", + "cronjob_v1.go", + "cronjob_v1beta1.go", + "daemonset.go", + "deployment.go", + "horizontalpodautoscaler.go", + "ingress.go", + "job.go", + "limitrange.go", + "namespace.go", + "networkpolicy.go", + "node.go", + "persistentvolume.go", + "persistentvolumeclaim.go", + "pod.go", + "poddisruptionbudget.go", + "replicaset.go", + "role.go", + "rolebinding.go", + "service.go", + "serviceaccount.go", + "statefulset.go", + "storageclass.go", + "verticalpodautoscaler.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/processors/k8s", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/tagger/def", + "//comp/core/tagger/tags", + "//comp/core/tagger/types", + "//comp/core/workloadmeta/collectors/util", + "//comp/core/workloadmeta/def", + "//internal/third_party/kubernetes/pkg/kubelet/types", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processors/common", + "//pkg/collector/corechecks/cluster/orchestrator/processors/k8s/pod_tag_provider", + "//pkg/collector/corechecks/cluster/orchestrator/transformers/k8s", + "//pkg/collector/corechecks/cluster/orchestrator/util", + "//pkg/orchestrator", + "//pkg/redact", + "//pkg/util/log", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_json_iterator_go//:go", + "@com_github_twmb_murmur3//:murmur3", + "@io_k8s_api//apps/v1:apps", + "@io_k8s_api//autoscaling/v2:autoscaling", + "@io_k8s_api//batch/v1:batch", + "@io_k8s_api//batch/v1beta1", + "@io_k8s_api//core/v1:core", + "@io_k8s_api//networking/v1:networking", + "@io_k8s_api//policy/v1:policy", + "@io_k8s_api//rbac/v1:rbac", + "@io_k8s_api//storage/v1:storage", + "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1:apiextensions", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_apimachinery//pkg/types", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/apis/autoscaling.k8s.io/v1:autoscaling_k8s_io", + "@io_k8s_client_go//kubernetes/typed/core/v1:core", + ], +) + +dd_agent_go_test( + name = "k8s_test", + srcs = [ + "cluster_test.go", + "clusterrole_test.go", + "clusterrolebinding_test.go", + "configmap_test.go", + "cr_test.go", + "crd_test.go", + "cronjob_v1_test.go", + "cronjob_v1beta1_test.go", + "daemonset_test.go", + "deployment_test.go", + "horizontalpodautoscaler_test.go", + "ingress_test.go", + "job_test.go", + "limitrange_test.go", + "namespace_test.go", + "networkpolicy_test.go", + "node_test.go", + "persistentvolume_test.go", + "persistentvolumeclaim_test.go", + "pod_test.go", + "poddisruptionbudget_test.go", + "replicaset_test.go", + "role_test.go", + "rolebinding_test.go", + "service_test.go", + "serviceaccount_test.go", + "statefulset_test.go", + "storageclass_test.go", + "verticalpodautoscaler_test.go", + ], + embed = [":k8s"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//comp/core/tagger/types", + "//comp/core/workloadmeta/collectors/util", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processorstest", + "//pkg/collector/corechecks/cluster/orchestrator/transformers/k8s", + "//pkg/orchestrator", + "//pkg/orchestrator/config", + "//pkg/util/kubernetes/apiserver", + "//pkg/util/pointer", + "@com_github_benbjohnson_clock//:clock", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@in_yaml_go_yaml_v3//:yaml", + "@io_k8s_api//apps/v1:apps", + "@io_k8s_api//autoscaling/v1:autoscaling", + "@io_k8s_api//autoscaling/v2:autoscaling", + "@io_k8s_api//batch/v1:batch", + "@io_k8s_api//batch/v1beta1", + "@io_k8s_api//core/v1:core", + "@io_k8s_api//networking/v1:networking", + "@io_k8s_api//policy/v1:policy", + "@io_k8s_api//rbac/v1:rbac", + "@io_k8s_api//storage/v1:storage", + "@io_k8s_apiextensions_apiserver//pkg/apis/apiextensions/v1:apiextensions", + "@io_k8s_apimachinery//pkg/api/resource", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/apis/meta/v1/unstructured", + "@io_k8s_apimachinery//pkg/runtime", + "@io_k8s_apimachinery//pkg/types", + "@io_k8s_apimachinery//pkg/util/intstr", + "@io_k8s_apimachinery//pkg/version", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/apis/autoscaling.k8s.io/v1:autoscaling_k8s_io", + "@io_k8s_client_go//discovery/fake", + "@io_k8s_client_go//kubernetes/fake", + ], +) diff --git a/pkg/collector/corechecks/cluster/orchestrator/transformers/k8s/BUILD.bazel b/pkg/collector/corechecks/cluster/orchestrator/transformers/k8s/BUILD.bazel new file mode 100644 index 000000000000..fd4c5a3e9247 --- /dev/null +++ b/pkg/collector/corechecks/cluster/orchestrator/transformers/k8s/BUILD.bazel @@ -0,0 +1,119 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "k8s", + srcs = [ + "cluster.go", + "clusterrole.go", + "clusterrolebinding.go", + "common.go", + "configmap.go", + "cronjob_v1.go", + "cronjob_v1beta1.go", + "daemonset.go", + "deployment.go", + "horizontalpodautoscaler.go", + "ingress.go", + "job.go", + "limitrange.go", + "namespace.go", + "networkpolicy.go", + "node.go", + "persistentvolume.go", + "persistentvolumeclaim.go", + "pod.go", + "poddisruptionbudget.go", + "replicaset.go", + "role.go", + "rolebinding.go", + "service.go", + "serviceaccount.go", + "statefulset.go", + "storageclass.go", + "verticalpodautoscaler.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/cluster/orchestrator/transformers/k8s", + visibility = ["//visibility:public"], + deps = [ + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/transformers", + "//pkg/util/kubernetes", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_json_iterator_go//:go", + "@com_github_twmb_murmur3//:murmur3", + "@io_k8s_api//apps/v1:apps", + "@io_k8s_api//autoscaling/v2:autoscaling", + "@io_k8s_api//batch/v1:batch", + "@io_k8s_api//batch/v1beta1", + "@io_k8s_api//core/v1:core", + "@io_k8s_api//networking/v1:networking", + "@io_k8s_api//policy/v1:policy", + "@io_k8s_api//rbac/v1:rbac", + "@io_k8s_api//storage/v1:storage", + "@io_k8s_apimachinery//pkg/api/resource", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/util/intstr", + "@io_k8s_apimachinery//pkg/util/sets", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/apis/autoscaling.k8s.io/v1:autoscaling_k8s_io", + ], +) + +dd_agent_go_test( + name = "k8s_test", + srcs = [ + "cluster_test.go", + "clusterrole_test.go", + "clusterrolebinding_test.go", + "cronjob_v1_test.go", + "cronjob_v1beta1_test.go", + "daemonset_test.go", + "deployment_test.go", + "horizontalpodautoscaler_test.go", + "ingress_test.go", + "job_test.go", + "limitrange_test.go", + "namespace_test.go", + "networkpolicy_test.go", + "node_test.go", + "persistentvolume_test.go", + "persistentvolumeclaim_test.go", + "pod_test.go", + "poddisruptionbudget_test.go", + "replicaset_test.go", + "role_test.go", + "rolebinding_test.go", + "service_test.go", + "serviceaccount_test.go", + "statefulset_test.go", + "storageclass_test.go", + "verticalpodautoscaler_test.go", + ], + embed = [":k8s"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/util/kubernetes", + "//pkg/util/pointer", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//assert", + "@io_k8s_api//apps/v1:apps", + "@io_k8s_api//autoscaling/v1:autoscaling", + "@io_k8s_api//autoscaling/v2:autoscaling", + "@io_k8s_api//batch/v1:batch", + "@io_k8s_api//batch/v1beta1", + "@io_k8s_api//core/v1:core", + "@io_k8s_api//networking/v1:networking", + "@io_k8s_api//policy/v1:policy", + "@io_k8s_api//rbac/v1:rbac", + "@io_k8s_api//storage/v1:storage", + "@io_k8s_apimachinery//pkg/api/resource", + "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", + "@io_k8s_apimachinery//pkg/types", + "@io_k8s_apimachinery//pkg/util/intstr", + "@io_k8s_autoscaler_vertical_pod_autoscaler//pkg/apis/autoscaling.k8s.io/v1:autoscaling_k8s_io", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/BUILD.bazel new file mode 100644 index 000000000000..5ffad9f6f3fa --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/BUILD.bazel @@ -0,0 +1,41 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "kubelet", + srcs = [ + "kubelet.go", + "stub.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadfilter/def", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/containers/agentperformance", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/provider/cadvisor", + "//pkg/collector/corechecks/containers/kubelet/provider/health", + "//pkg/collector/corechecks/containers/kubelet/provider/kubelet", + "//pkg/collector/corechecks/containers/kubelet/provider/node", + "//pkg/collector/corechecks/containers/kubelet/provider/pod", + "//pkg/collector/corechecks/containers/kubelet/provider/probe", + "//pkg/collector/corechecks/containers/kubelet/provider/slis", + "//pkg/collector/corechecks/containers/kubelet/provider/summary", + "//pkg/config/setup", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "//pkg/util/option", + ], +) + +filegroup( + name = "testdata", + srcs = glob(["testdata/**"]), + visibility = ["//pkg/collector/corechecks/containers/kubelet:__subpackages__"], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/cadvisor/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/cadvisor/BUILD.bazel new file mode 100644 index 000000000000..e0642bb9e40d --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/cadvisor/BUILD.bazel @@ -0,0 +1,59 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "cadvisor", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/cadvisor", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/tagger/common", + "//comp/core/tagger/def", + "//comp/core/tagger/types", + "//comp/core/tagger/utils", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/util/workloadmeta", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/provider/prometheus", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "//pkg/util/prometheus", + ], +) + +dd_agent_go_test( + name = "cadvisor_test", + srcs = ["provider_test.go"], + data = ["//pkg/collector/corechecks/containers/kubelet:testdata"], # keep + embed = [":cadvisor"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/autodiscovery/common/types", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/types", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/common/testing", + "//pkg/collector/corechecks/containers/kubelet/provider/prometheus", + "//pkg/util/fxutil", + "//pkg/util/pointer", + "//pkg/util/prometheus", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//mock", + "@com_github_stretchr_testify//suite", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/health/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/health/BUILD.bazel new file mode 100644 index 000000000000..1d1dd8f7fd69 --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/health/BUILD.bazel @@ -0,0 +1,34 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "health", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/health", + visibility = ["//visibility:public"], + deps = [ + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/metrics/servicecheck", + "//pkg/util/kubernetes/kubelet", + ], +) + +dd_agent_go_test( + name = "health_test", + srcs = ["provider_test.go"], + embed = [":health"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core/autodiscovery/common/types", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/metrics/servicecheck", + "//pkg/util/kubernetes/kubelet/mock", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/kubelet/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/kubelet/BUILD.bazel new file mode 100644 index 000000000000..811158e329ed --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/kubelet/BUILD.bazel @@ -0,0 +1,55 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "kubelet", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/kubelet", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/tagger/def", + "//comp/core/tagger/types", + "//comp/core/tagger/utils", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/util/workloadmeta", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/provider/prometheus", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "//pkg/util/prometheus", + ], +) + +dd_agent_go_test( + name = "kubelet_test", + srcs = ["provider_test.go"], + data = ["//pkg/collector/corechecks/containers/kubelet:testdata"], # keep + embed = [":kubelet"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/autodiscovery/common/types", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/types", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/common/testing", + "//pkg/config/mock", + "//pkg/util/fxutil", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//suite", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/node/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/node/BUILD.bazel new file mode 100644 index 000000000000..929047817cae --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/node/BUILD.bazel @@ -0,0 +1,33 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "node", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/node", + visibility = ["//visibility:public"], + deps = [ + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/util/kubernetes/kubelet", + ], +) + +dd_agent_go_test( + name = "node_test", + srcs = ["provider_test.go"], + data = ["//pkg/collector/corechecks/containers/kubelet:testdata"], # keep + embed = [":node"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core/autodiscovery/common/types", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/util/kubernetes/kubelet/mock", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/pod/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/pod/BUILD.bazel new file mode 100644 index 000000000000..587c68f5044f --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/pod/BUILD.bazel @@ -0,0 +1,71 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "pod", + srcs = [ + "provider.go", + "provider_time_to_ready.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/pod", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/tagger/def", + "//comp/core/tagger/tags", + "//comp/core/tagger/types", + "//comp/core/tagger/utils", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/util/workloadmeta", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/agentperformance", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "@io_k8s_apimachinery//pkg/api/resource", + ], +) + +dd_agent_go_test( + name = "pod_test", + srcs = [ + "provider_test.go", + "provider_time_to_ready_test.go", + ], + data = ["//pkg/collector/corechecks/containers/kubelet:testdata"], # keep + embed = [":pod"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/autodiscovery/common/types", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/def", + "//comp/core/ipc/mock", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/types", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/collectors/catalog-core", + "//comp/core/workloadmeta/collectors/util", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/common/testing", + "//pkg/config/env", + "//pkg/config/mock", + "//pkg/util/fxutil", + "//pkg/util/kubernetes/kubelet", + "@com_github_json_iterator_go//:go", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + "@com_github_stretchr_testify//suite", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/probe/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/probe/BUILD.bazel new file mode 100644 index 000000000000..5c79906db02e --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/probe/BUILD.bazel @@ -0,0 +1,52 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "probe", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/probe", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/tagger/def", + "//comp/core/tagger/types", + "//comp/core/tagger/utils", + "//comp/core/workloadfilter/def", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/provider/prometheus", + "//pkg/util/log", + "//pkg/util/prometheus", + ], +) + +dd_agent_go_test( + name = "probe_test", + srcs = ["provider_test.go"], + data = ["//pkg/collector/corechecks/containers/kubelet:testdata"], # keep + embed = [":probe"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/autodiscovery/common/types", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/types", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/common/testing", + "//pkg/config/mock", + "//pkg/util/fxutil", + "//pkg/util/kubernetes/kubelet/mock", + "@com_github_stretchr_testify//assert", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/prometheus/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/prometheus/BUILD.bazel new file mode 100644 index 000000000000..728e0ee32054 --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/prometheus/BUILD.bazel @@ -0,0 +1,15 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "prometheus", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/prometheus", + visibility = ["//visibility:public"], + deps = [ + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "//pkg/util/prometheus", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/slis/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/slis/BUILD.bazel new file mode 100644 index 000000000000..6d94fadc3952 --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/slis/BUILD.bazel @@ -0,0 +1,44 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "slis", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/slis", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/provider/prometheus", + "//pkg/util/prometheus", + "@com_github_samber_lo//:lo", + ], +) + +dd_agent_go_test( + name = "slis_test", + srcs = ["provider_test.go"], + data = ["//pkg/collector/corechecks/containers/kubelet:testdata"], # keep + embed = [":slis"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/tagger/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/collector/corechecks/containers/kubelet/common/testing", + "//pkg/util/fxutil", + "//pkg/util/kubernetes/kubelet/mock", + "@com_github_stretchr_testify//assert", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/containers/kubelet/provider/summary/BUILD.bazel b/pkg/collector/corechecks/containers/kubelet/provider/summary/BUILD.bazel new file mode 100644 index 000000000000..fcd8ae56bb42 --- /dev/null +++ b/pkg/collector/corechecks/containers/kubelet/provider/summary/BUILD.bazel @@ -0,0 +1,58 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "summary", + srcs = ["provider.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/containers/kubelet/provider/summary", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/tagger/def", + "//comp/core/tagger/types", + "//comp/core/tagger/utils", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/util/workloadmeta", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/config/setup", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "@io_k8s_kubelet//pkg/apis/stats/v1alpha1", + ], +) + +dd_agent_go_test( + name = "summary_test", + srcs = ["provider_test.go"], + data = ["//pkg/collector/corechecks/containers/kubelet:testdata"], # keep + embed = [":summary"], + flavors = [ + "base", + "dogstatsd", + "fips", + ], + deps = [ + "//comp/core/autodiscovery/common/types", + "//comp/core/config", + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/types", + "//comp/core/workloadfilter/def", + "//comp/core/workloadfilter/fx-mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/check/id", + "//pkg/collector/corechecks/containers/kubelet/common", + "//pkg/config/mock", + "//pkg/config/model", + "//pkg/util/fxutil", + "//pkg/util/kubernetes/kubelet/mock", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//suite", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/collector/corechecks/gpu/BUILD.bazel b/pkg/collector/corechecks/gpu/BUILD.bazel index 9968c4af55f8..c31d13802d11 100644 --- a/pkg/collector/corechecks/gpu/BUILD.bazel +++ b/pkg/collector/corechecks/gpu/BUILD.bazel @@ -1 +1,270 @@ -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "gpu", + srcs = [ + "config.go", + "gpu.go", + "gpu_stub.go", + "tags.go", + "testutil.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/gpu", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:android": [ + "//comp/core/autodiscovery/integration", + "//comp/core/config", + "//comp/core/tagger/collectors", + "//comp/core/tagger/def", + "//comp/core/tagger/mock", + "//comp/core/tagger/taglist", + "//comp/core/tagger/types", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/collectors", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/mock", + "//comp/healthplatform/issues/gpuenvironment", + "//comp/healthplatform/store/def", + "//pkg/aggregator/mocksender", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/gpu/nvidia", + "//pkg/collector/corechecks/gpu/spec", + "//pkg/config/setup", + "//pkg/errors", + "//pkg/gpu/config/consts", + "//pkg/gpu/containers", + "//pkg/gpu/safenvml", + "//pkg/metrics", + "//pkg/process/util/containers", + "//pkg/security/utils", + "//pkg/security/utils/lru/simplelru", + "//pkg/util/kernel", + "//pkg/util/log", + "//pkg/util/option", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:darwin": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:dragonfly": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:freebsd": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:illumos": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:ios": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:js": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:linux": [ + "//comp/core/autodiscovery/integration", + "//comp/core/config", + "//comp/core/tagger/collectors", + "//comp/core/tagger/def", + "//comp/core/tagger/mock", + "//comp/core/tagger/taglist", + "//comp/core/tagger/types", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/collectors", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/mock", + "//comp/healthplatform/issues/gpuenvironment", + "//comp/healthplatform/store/def", + "//pkg/aggregator/mocksender", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/gpu/nvidia", + "//pkg/collector/corechecks/gpu/spec", + "//pkg/config/setup", + "//pkg/errors", + "//pkg/gpu/config/consts", + "//pkg/gpu/containers", + "//pkg/gpu/safenvml", + "//pkg/metrics", + "//pkg/process/util/containers", + "//pkg/security/utils", + "//pkg/security/utils/lru/simplelru", + "//pkg/util/kernel", + "//pkg/util/log", + "//pkg/util/option", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:netbsd": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:openbsd": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:osx": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:plan9": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:qnx": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:solaris": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:windows": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "//conditions:default": [], + }), +) + +dd_agent_go_test( + name = "gpu_test", + srcs = [ + "gpu_test.go", + "tags_test.go", + ], + embed = [":gpu"], + flavors = [ + "base", + "fips", + ], + deps = select({ + "@rules_go//go/platform:android": [ + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/mock", + "//comp/core/tagger/types", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/mock", + "//comp/healthplatform/issues/gpuenvironment", + "//comp/healthplatform/store/mock", + "//pkg/aggregator/mocksender", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/gpu/model", + "//pkg/collector/corechecks/gpu/nvidia", + "//pkg/collector/corechecks/gpu/spec", + "//pkg/config/env", + "//pkg/config/setup", + "//pkg/errors", + "//pkg/gpu/prm", + "//pkg/gpu/safenvml", + "//pkg/gpu/testutil", + "//pkg/metrics", + "//pkg/process/util/containers/mocks", + "//pkg/security/utils", + "//pkg/util/kernel", + "@com_github_nvidia_go_nvml//pkg/nvml", + "@com_github_nvidia_go_nvml//pkg/nvml/mock", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//mock", + "@com_github_stretchr_testify//require", + "@org_uber_go_atomic//:atomic", + "@org_uber_go_mock//gomock", + ], + "@rules_go//go/platform:linux": [ + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/def", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/mock", + "//comp/core/tagger/types", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/mock", + "//comp/healthplatform/issues/gpuenvironment", + "//comp/healthplatform/store/mock", + "//pkg/aggregator/mocksender", + "//pkg/aggregator/sender", + "//pkg/collector/corechecks/gpu/model", + "//pkg/collector/corechecks/gpu/nvidia", + "//pkg/collector/corechecks/gpu/spec", + "//pkg/config/env", + "//pkg/config/setup", + "//pkg/errors", + "//pkg/gpu/prm", + "//pkg/gpu/safenvml", + "//pkg/gpu/testutil", + "//pkg/metrics", + "//pkg/process/util/containers/mocks", + "//pkg/security/utils", + "//pkg/util/kernel", + "@com_github_nvidia_go_nvml//pkg/nvml", + "@com_github_nvidia_go_nvml//pkg/nvml/mock", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//mock", + "@com_github_stretchr_testify//require", + "@org_uber_go_atomic//:atomic", + "@org_uber_go_mock//gomock", + ], + "//conditions:default": [], + }), +) diff --git a/pkg/collector/corechecks/gpu/nccl/BUILD.bazel b/pkg/collector/corechecks/gpu/nccl/BUILD.bazel index 9968c4af55f8..b588aa267b46 100644 --- a/pkg/collector/corechecks/gpu/nccl/BUILD.bazel +++ b/pkg/collector/corechecks/gpu/nccl/BUILD.bazel @@ -1 +1,178 @@ -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "nccl", + srcs = [ + "check.go", + "check_stub.go", + "config.go", + "config_linux.go", + "socket_listener.go", + "tagger.go", + "types.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/gpu/nccl", + visibility = ["//visibility:public"], + deps = select({ + "@rules_go//go/platform:aix": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:android": [ + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/gpu", + "//pkg/config/setup", + "//pkg/process/util/containers", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/util/os", + ], + "@rules_go//go/platform:darwin": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:dragonfly": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:freebsd": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:illumos": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:ios": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:js": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:linux": [ + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/gpu", + "//pkg/config/setup", + "//pkg/process/util/containers", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/util/os", + ], + "@rules_go//go/platform:netbsd": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:openbsd": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:osx": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:plan9": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:qnx": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:solaris": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "@rules_go//go/platform:windows": [ + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/workloadmeta/def", + "//pkg/collector/check", + "//pkg/util/option", + ], + "//conditions:default": [], + }), +) + +dd_agent_go_test( + name = "nccl_test", + srcs = [ + "check_test.go", + "tagger_test.go", + ], + embed = [":nccl"], + flavors = [ + "base", + "fips", + ], + deps = select({ + "@rules_go//go/platform:android": [ + "//comp/core/telemetry/impl", + "//pkg/aggregator/mocksender", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//mock", + "@com_github_stretchr_testify//require", + ], + "@rules_go//go/platform:linux": [ + "//comp/core/telemetry/impl", + "//pkg/aggregator/mocksender", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//mock", + "@com_github_stretchr_testify//require", + ], + "//conditions:default": [], + }), +) diff --git a/pkg/collector/corechecks/network-devices/versa/BUILD.bazel b/pkg/collector/corechecks/network-devices/versa/BUILD.bazel new file mode 100644 index 000000000000..5586d8a794c2 --- /dev/null +++ b/pkg/collector/corechecks/network-devices/versa/BUILD.bazel @@ -0,0 +1,33 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "versa", + srcs = ["versa.go"], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/network-devices/versa", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/autodiscovery/integration", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/network-devices/versa/client", + "//pkg/collector/corechecks/network-devices/versa/payload", + "//pkg/collector/corechecks/network-devices/versa/report", + "//pkg/networkdevice/metadata", + "//pkg/snmp/utils", + "//pkg/util/log", + "//pkg/util/option", + "@in_yaml_go_yaml_v2//:yaml", + ], +) + +dd_agent_go_test( + name = "versa_test", + srcs = ["versa_test.go"], + embed = [":versa"], + deps = [ + "//pkg/collector/corechecks/network-devices/versa/client", + "//pkg/networkdevice/metadata", + ], +) diff --git a/pkg/collector/corechecks/oracle/BUILD.bazel b/pkg/collector/corechecks/oracle/BUILD.bazel new file mode 100644 index 000000000000..3bc9279f061b --- /dev/null +++ b/pkg/collector/corechecks/oracle/BUILD.bazel @@ -0,0 +1,61 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "oracle", + srcs = [ + "activity.go", + "activity_queries.go", + "activity_structs.go", + "asm_diskgroups.go", + "cache_wrapper.go", + "connectionTest.go", + "connection_handling.go", + "custom_queries.go", + "data_guard.go", + "doc.go", + "init.go", + "locks.go", + "metadata.go", + "obfuscate.go", + "oracle.go", + "oracle_dictionary.go", + "os_stats.go", + "plan_queries.go", + "processes.go", + "resource_manager.go", + "sender_util.go", + "shared_memory.go", + "sql_wrappers.go", + "statement_metrics_queries.go", + "statements.go", + "stub.go", + "sysmetrics.go", + "tablespaces.go", + "telemetry.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/oracle", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/autodiscovery/integration", + "//comp/core/telemetry/impl", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/oracle/common", + "//pkg/collector/corechecks/oracle/config", + "//pkg/config/setup", + "//pkg/config/structure", + "//pkg/metrics/servicecheck", + "//pkg/obfuscate", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@com_github_benbjohnson_clock//:clock", + "@com_github_godror_godror//:godror", + "@com_github_hashicorp_go_version//:go-version", + "@com_github_jmoiron_sqlx//:sqlx", + "@com_github_patrickmn_go_cache//:go-cache", + "@com_github_sijms_go_ora_v2//:go-ora", + ], +) diff --git a/pkg/collector/corechecks/orchestrator/BUILD.bazel b/pkg/collector/corechecks/orchestrator/BUILD.bazel index 41a874c56bdb..355d3f50a7ca 100644 --- a/pkg/collector/corechecks/orchestrator/BUILD.bazel +++ b/pkg/collector/corechecks/orchestrator/BUILD.bazel @@ -6,3 +6,9 @@ go_library( importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/orchestrator", visibility = ["//visibility:public"], ) + +filegroup( + name = "testdata", + srcs = glob(["testdata/**"]), + visibility = ["//pkg/collector/corechecks/orchestrator:__subpackages__"], +) diff --git a/pkg/collector/corechecks/orchestrator/ecs/BUILD.bazel b/pkg/collector/corechecks/orchestrator/ecs/BUILD.bazel new file mode 100644 index 000000000000..ceee5eb9fbec --- /dev/null +++ b/pkg/collector/corechecks/orchestrator/ecs/BUILD.bazel @@ -0,0 +1,56 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "ecs", + srcs = [ + "ecs.go", + "stub.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/orchestrator/ecs", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/autodiscovery/integration", + "//comp/core/tagger/def", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/cluster/orchestrator/collectors", + "//pkg/collector/corechecks/cluster/orchestrator/collectors/ecs", + "//pkg/config/setup", + "//pkg/orchestrator/config", + "//pkg/process/checks", + "//pkg/util/ecs", + "//pkg/util/hostname", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/version", + "@com_github_datadog_agent_payload_v5//process", + "@org_uber_go_atomic//:atomic", + ], +) + +dd_agent_go_test( + name = "ecs_test", + srcs = ["ecs_test.go"], + embed = [":ecs"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//comp/core/tagger/impl-noop", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/mocksender", + "//pkg/collector/corechecks/cluster/orchestrator/transformers/ecs", + "//pkg/orchestrator", + "//pkg/orchestrator/config", + "//pkg/process/checks", + "//pkg/serializer/types", + "//pkg/util/pointer", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_stretchr_testify//require", + "@org_uber_go_atomic//:atomic", + ], +) diff --git a/pkg/collector/corechecks/orchestrator/pod/BUILD.bazel b/pkg/collector/corechecks/orchestrator/pod/BUILD.bazel new file mode 100644 index 000000000000..000797cdcf3e --- /dev/null +++ b/pkg/collector/corechecks/orchestrator/pod/BUILD.bazel @@ -0,0 +1,73 @@ +load("@rules_go//go:def.bzl", "go_library") +load("//bazel/rules/go:dd_agent_go_test.bzl", "dd_agent_go_test") + +go_library( + name = "pod", + srcs = [ + "pod.go", + "stub.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/collector/corechecks/orchestrator/pod", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/autodiscovery/integration", + "//comp/core/config", + "//comp/core/tagger/def", + "//comp/core/workloadmeta/def", + "//pkg/aggregator/sender", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processors/k8s", + "//pkg/collector/corechecks/cluster/orchestrator/util", + "//pkg/orchestrator", + "//pkg/orchestrator/config", + "//pkg/process/checks", + "//pkg/util/hostname", + "//pkg/util/kubernetes", + "//pkg/util/kubernetes/clustername", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "//pkg/util/option", + "//pkg/util/retry", + "//pkg/version", + "@com_github_benbjohnson_clock//:clock", + "@com_github_datadog_agent_payload_v5//process", + "@org_uber_go_atomic//:atomic", + ], +) + +dd_agent_go_test( + name = "pod_test", + srcs = ["pod_test.go"], + data = ["//pkg/collector/corechecks/orchestrator:testdata"], # keep + embed = [":pod"], + flavors = [ + "base", + "fips", + ], + deps = [ + "//comp/core", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/core/workloadmeta/mock", + "//pkg/aggregator/mocksender", + "//pkg/collector/corechecks/cluster/orchestrator/processors", + "//pkg/collector/corechecks/cluster/orchestrator/processors/k8s", + "//pkg/config/mock", + "//pkg/config/setup/constants", + "//pkg/orchestrator/config", + "//pkg/serializer/types", + "//pkg/util/cache", + "//pkg/util/fxutil", + "//pkg/util/kubernetes/kubelet", + "//pkg/util/log", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_json_iterator_go//:go", + "@com_github_stretchr_testify//require", + "@com_github_stretchr_testify//suite", + "@org_uber_go_fx//:fx", + ], +) diff --git a/pkg/commonchecks/BUILD.bazel b/pkg/commonchecks/BUILD.bazel new file mode 100644 index 000000000000..588ac1901485 --- /dev/null +++ b/pkg/commonchecks/BUILD.bazel @@ -0,0 +1,100 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "commonchecks", + srcs = [ + "corechecks.go", + "corechecks_cluster.go", + "corechecks_context.go", + "corechecks_no_sysprobe.go", + "corechecks_sysprobe.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/commonchecks", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/flare", + "//comp/core/tagger/def", + "//comp/core/telemetry/def", + "//comp/core/telemetry/impl/noops", + "//comp/core/workloadfilter/def", + "//comp/core/workloadmeta/def", + "//comp/networkconfigmanagement/def", + "//comp/networkpath/traceroute/def", + "//comp/remote-config/rcclient/def", + "//comp/snmpscanmanager/def", + "//pkg/collector/check", + "//pkg/collector/corechecks", + "//pkg/collector/corechecks/agentprofiling", + "//pkg/collector/corechecks/cloud/hostinfo", + "//pkg/collector/corechecks/cluster/helm", + "//pkg/collector/corechecks/cluster/ksm", + "//pkg/collector/corechecks/cluster/kubernetesapiserver", + "//pkg/collector/corechecks/cluster/orchestrator", + "//pkg/collector/corechecks/containerimage", + "//pkg/collector/corechecks/containerlifecycle", + "//pkg/collector/corechecks/containers/containerd", + "//pkg/collector/corechecks/containers/cri", + "//pkg/collector/corechecks/containers/csi_driver", + "//pkg/collector/corechecks/containers/docker", + "//pkg/collector/corechecks/containers/generic", + "//pkg/collector/corechecks/containers/kata", + "//pkg/collector/corechecks/containers/kubelet", + "//pkg/collector/corechecks/discovery", + "//pkg/collector/corechecks/ebpf", + "//pkg/collector/corechecks/ebpf/noisyneighbor", + "//pkg/collector/corechecks/ebpf/oomkill", + "//pkg/collector/corechecks/ebpf/tcpqueuelength", + "//pkg/collector/corechecks/embed/apm", + "//pkg/collector/corechecks/embed/process", + "//pkg/collector/corechecks/gpu", + "//pkg/collector/corechecks/gpu/nccl", + "//pkg/collector/corechecks/net/network", + "//pkg/collector/corechecks/net/networkv2", + "//pkg/collector/corechecks/net/ntp", + "//pkg/collector/corechecks/net/wlan", + "//pkg/collector/corechecks/network-devices/cisco-sdwan", + "//pkg/collector/corechecks/network-devices/versa", + "//pkg/collector/corechecks/networkconfigmanagement", + "//pkg/collector/corechecks/networkpath", + "//pkg/collector/corechecks/nvidia/jetson", + "//pkg/collector/corechecks/oracle", + "//pkg/collector/corechecks/orchestrator/ecs", + "//pkg/collector/corechecks/orchestrator/kubeletconfig", + "//pkg/collector/corechecks/orchestrator/pod", + "//pkg/collector/corechecks/sbom", + "//pkg/collector/corechecks/snmp", + "//pkg/collector/corechecks/system/battery", + "//pkg/collector/corechecks/system/cpu/cpu", + "//pkg/collector/corechecks/system/cpu/load", + "//pkg/collector/corechecks/system/disk/disk", + "//pkg/collector/corechecks/system/disk/diskv2", + "//pkg/collector/corechecks/system/disk/io", + "//pkg/collector/corechecks/system/filehandles", + "//pkg/collector/corechecks/system/memory", + "//pkg/collector/corechecks/system/thermal", + "//pkg/collector/corechecks/system/uptime", + "//pkg/collector/corechecks/system/wincrashdetect", + "//pkg/collector/corechecks/system/windowscertificate", + "//pkg/collector/corechecks/system/winkmem", + "//pkg/collector/corechecks/system/winproc", + "//pkg/collector/corechecks/systemd", + "//pkg/collector/corechecks/telemetry", + "//pkg/util/option", + ], +) + +go_test( + name = "commonchecks_test", + srcs = ["corechecks_test.go"], + embed = [":commonchecks"], + gotags = ["test"], + deps = [ + "//comp/core/telemetry/impl", + "//pkg/collector/check", + "//pkg/collector/check/stub", + "//pkg/collector/corechecks", + "//pkg/util/option", + "@com_github_stretchr_testify//require", + ], +) diff --git a/pkg/process/runner/BUILD.bazel b/pkg/process/runner/BUILD.bazel index 9968c4af55f8..491ad7d39ec0 100644 --- a/pkg/process/runner/BUILD.bazel +++ b/pkg/process/runner/BUILD.bazel @@ -1 +1,89 @@ -# gazelle:ignore +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "runner", + srcs = [ + "runner.go", + "submitter.go", + ], + importpath = "github.com/DataDog/datadog-agent/pkg/process/runner", + visibility = ["//visibility:public"], + deps = [ + "//comp/core/config", + "//comp/core/log/def", + "//comp/core/sysprobeconfig/def", + "//comp/forwarder/defaultforwarder/def", + "//comp/forwarder/defaultforwarder/transaction", + "//comp/process/forwarders/def", + "//comp/process/types", + "//pkg/config/model", + "//pkg/config/setup", + "//pkg/process/checks", + "//pkg/process/runner/endpoint", + "//pkg/process/status", + "//pkg/process/util/api", + "//pkg/process/util/api/config", + "//pkg/process/util/api/headers", + "//pkg/system-probe/config", + "//pkg/system-probe/config/types", + "//pkg/util/flavor", + "//pkg/util/log", + "//pkg/version", + "@com_github_benbjohnson_clock//:clock", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_datadog_datadog_go_v5//statsd", + "@org_uber_go_atomic//:atomic", + ], +) + +go_test( + name = "runner_test", + srcs = [ + "collector_api_test.go", + "endpoints_test.go", + "runner_test.go", + "submitter_test.go", + ], + embed = [":runner"], + gotags = ["test"], + deps = [ + "//comp/core", + "//comp/core/config", + "//comp/core/hostname/hostnameimpl", + "//comp/core/ipc/mock", + "//comp/core/log/def", + "//comp/core/log/mock", + "//comp/core/secrets/fx-noop", + "//comp/core/sysprobeconfig/def", + "//comp/core/sysprobeconfig/mock", + "//comp/core/tagger/fx-mock", + "//comp/core/tagger/mock", + "//comp/core/workloadmeta/def", + "//comp/core/workloadmeta/fx-mock", + "//comp/forwarder/connectionsforwarder/fx", + "//comp/process/forwarders/def", + "//comp/process/forwarders/fx", + "//comp/process/types", + "//pkg/config/mock", + "//pkg/config/model", + "//pkg/config/setup", + "//pkg/process/checks", + "//pkg/process/checks/mocks", + "//pkg/process/runner/endpoint", + "//pkg/process/runner/mocks", + "//pkg/process/util/api/config", + "//pkg/process/util/api/headers", + "//pkg/util/flavor", + "//pkg/util/fxutil", + "//pkg/version", + "@com_github_benbjohnson_clock//:clock", + "@com_github_datadog_agent_payload_v5//process", + "@com_github_datadog_datadog_go_v5//statsd", + "@com_github_datadog_datadog_go_v5//statsd/mocks", + "@com_github_golang_mock//gomock", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//mock", + "@com_github_stretchr_testify//require", + "@org_uber_go_fx//:fx", + ], +)