load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") load("//hack/tools/gomock:gomock.bzl", "gomock") gomock(name = "gomock") go_library( name = "agent", srcs = [ "agent.go", "cgroups.go", "config.go", "deviceclass.go", "disksize.go", "updater.go", ], importpath = "edge-infra.dev/pkg/sds/devices/agent", visibility = ["//visibility:public"], deps = [ "//pkg/k8s/runtime/sap", "//pkg/k8s/unstructured", "//pkg/lib/kernel/devices", "//pkg/lib/kernel/drm", "//pkg/lib/uuid", "//pkg/sds/devices/agent/cgroups", "//pkg/sds/devices/agent/common", "//pkg/sds/devices/agent/metrics", "//pkg/sds/devices/class", "//pkg/sds/devices/k8s/apis/v1:apis", "//pkg/sds/devices/logger", "@com_github_anoopengineer_edidparser//edid", "@com_github_containerd_containerd//containers", "@com_github_containerd_typeurl_v2//:typeurl", "@com_github_hashicorp_go_multierror//:go-multierror", "@com_github_opencontainers_runtime_spec//specs-go", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", ] + select({ "@io_bazel_rules_go//go/platform:android": [ "//pkg/lib/kernel/udev/reader", "//pkg/sds/devices/agent/containers", "//pkg/sds/devices/agent/events", "//pkg/sds/devices/k8s/device-plugins", "@com_github_containerd_containerd//:containerd", "@com_github_fsnotify_fsnotify//:fsnotify", "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/util/runtime", "@io_k8s_client_go//dynamic/dynamicinformer", "@io_k8s_client_go//kubernetes/scheme", "@io_k8s_client_go//rest", "@io_k8s_cri_api//pkg/apis/runtime/v1:runtime", "@io_k8s_kubelet//pkg/apis/deviceplugin/v1beta1", "@io_k8s_sigs_controller_runtime//pkg/client", ], "@io_bazel_rules_go//go/platform:linux": [ "//pkg/lib/kernel/udev/reader", "//pkg/sds/devices/agent/containers", "//pkg/sds/devices/agent/events", "//pkg/sds/devices/k8s/device-plugins", "@com_github_containerd_containerd//:containerd", "@com_github_fsnotify_fsnotify//:fsnotify", "@io_k8s_apimachinery//pkg/runtime", "@io_k8s_apimachinery//pkg/util/runtime", "@io_k8s_client_go//dynamic/dynamicinformer", "@io_k8s_client_go//kubernetes/scheme", "@io_k8s_client_go//rest", "@io_k8s_cri_api//pkg/apis/runtime/v1:runtime", "@io_k8s_kubelet//pkg/apis/deviceplugin/v1beta1", "@io_k8s_sigs_controller_runtime//pkg/client", ], "//conditions:default": [], }), ) go_test( name = "agent_test", srcs = ["agent_test.go"], data = glob(["testdata/**"]), embed = [":agent"], deps = [ "//pkg/k8s/runtime/sap", "//pkg/lib/kernel/devices", "//pkg/lib/kernel/netlink/socket", "//pkg/lib/kernel/udev", "//pkg/lib/kernel/udev/reader", "//pkg/lib/uuid", "//pkg/sds/devices/agent/cgroups", "//pkg/sds/devices/agent/common", "//pkg/sds/devices/agent/mocks", "//pkg/sds/devices/agent/udevproxy", "//pkg/sds/devices/class", "//pkg/sds/devices/k8s/apis/v1:apis", "//pkg/sds/devices/k8s/device-plugins", "//pkg/sds/devices/logger", "@com_github_containerd_containerd//:containerd", "@com_github_containerd_containerd//containers", "@com_github_containerd_containerd//events", "@com_github_containerd_typeurl_v2//:typeurl", "@com_github_golang_mock//gomock", "@com_github_onsi_ginkgo_v2//:ginkgo", "@com_github_onsi_gomega//:gomega", "@com_github_opencontainers_runtime_spec//specs-go", "@io_k8s_apimachinery//pkg/api/errors", "@io_k8s_apimachinery//pkg/apis/meta/v1:meta", "@io_k8s_client_go//dynamic/dynamicinformer", "@io_k8s_client_go//rest", "@io_k8s_cri_api//pkg/apis/runtime/v1:runtime", "@io_k8s_sigs_controller_runtime//pkg/client", "@io_k8s_sigs_controller_runtime//pkg/client/fake", "@tools_gotest_v3//fs", ], )