1load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
2load("//hack/tools/gomock:gomock.bzl", "gomock")
3
4gomock(name = "gomock")
5
6go_library(
7 name = "agent",
8 srcs = [
9 "agent.go",
10 "cgroups.go",
11 "config.go",
12 "deviceclass.go",
13 "disksize.go",
14 "updater.go",
15 ],
16 importpath = "edge-infra.dev/pkg/sds/devices/agent",
17 visibility = ["//visibility:public"],
18 deps = [
19 "//pkg/k8s/runtime/sap",
20 "//pkg/k8s/unstructured",
21 "//pkg/lib/kernel/devices",
22 "//pkg/lib/kernel/drm",
23 "//pkg/lib/uuid",
24 "//pkg/sds/devices/agent/cgroups",
25 "//pkg/sds/devices/agent/common",
26 "//pkg/sds/devices/agent/metrics",
27 "//pkg/sds/devices/class",
28 "//pkg/sds/devices/k8s/apis/v1:apis",
29 "//pkg/sds/devices/logger",
30 "@com_github_anoopengineer_edidparser//edid",
31 "@com_github_containerd_containerd//containers",
32 "@com_github_containerd_typeurl_v2//:typeurl",
33 "@com_github_hashicorp_go_multierror//:go-multierror",
34 "@com_github_opencontainers_runtime_spec//specs-go",
35 "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
36 ] + select({
37 "@io_bazel_rules_go//go/platform:android": [
38 "//pkg/lib/kernel/udev/reader",
39 "//pkg/sds/devices/agent/containers",
40 "//pkg/sds/devices/agent/events",
41 "//pkg/sds/devices/k8s/device-plugins",
42 "@com_github_containerd_containerd//:containerd",
43 "@com_github_fsnotify_fsnotify//:fsnotify",
44 "@io_k8s_apimachinery//pkg/runtime",
45 "@io_k8s_apimachinery//pkg/util/runtime",
46 "@io_k8s_client_go//dynamic/dynamicinformer",
47 "@io_k8s_client_go//kubernetes/scheme",
48 "@io_k8s_client_go//rest",
49 "@io_k8s_cri_api//pkg/apis/runtime/v1:runtime",
50 "@io_k8s_kubelet//pkg/apis/deviceplugin/v1beta1",
51 "@io_k8s_sigs_controller_runtime//pkg/client",
52 ],
53 "@io_bazel_rules_go//go/platform:linux": [
54 "//pkg/lib/kernel/udev/reader",
55 "//pkg/sds/devices/agent/containers",
56 "//pkg/sds/devices/agent/events",
57 "//pkg/sds/devices/k8s/device-plugins",
58 "@com_github_containerd_containerd//:containerd",
59 "@com_github_fsnotify_fsnotify//:fsnotify",
60 "@io_k8s_apimachinery//pkg/runtime",
61 "@io_k8s_apimachinery//pkg/util/runtime",
62 "@io_k8s_client_go//dynamic/dynamicinformer",
63 "@io_k8s_client_go//kubernetes/scheme",
64 "@io_k8s_client_go//rest",
65 "@io_k8s_cri_api//pkg/apis/runtime/v1:runtime",
66 "@io_k8s_kubelet//pkg/apis/deviceplugin/v1beta1",
67 "@io_k8s_sigs_controller_runtime//pkg/client",
68 ],
69 "//conditions:default": [],
70 }),
71)
72
73go_test(
74 name = "agent_test",
75 srcs = ["agent_test.go"],
76 data = glob(["testdata/**"]),
77 embed = [":agent"],
78 deps = [
79 "//pkg/k8s/runtime/sap",
80 "//pkg/lib/kernel/devices",
81 "//pkg/lib/kernel/netlink/socket",
82 "//pkg/lib/kernel/udev",
83 "//pkg/lib/kernel/udev/reader",
84 "//pkg/lib/uuid",
85 "//pkg/sds/devices/agent/cgroups",
86 "//pkg/sds/devices/agent/common",
87 "//pkg/sds/devices/agent/mocks",
88 "//pkg/sds/devices/agent/udevproxy",
89 "//pkg/sds/devices/class",
90 "//pkg/sds/devices/k8s/apis/v1:apis",
91 "//pkg/sds/devices/k8s/device-plugins",
92 "//pkg/sds/devices/logger",
93 "@com_github_containerd_containerd//:containerd",
94 "@com_github_containerd_containerd//containers",
95 "@com_github_containerd_containerd//events",
96 "@com_github_containerd_typeurl_v2//:typeurl",
97 "@com_github_golang_mock//gomock",
98 "@com_github_onsi_ginkgo_v2//:ginkgo",
99 "@com_github_onsi_gomega//:gomega",
100 "@com_github_opencontainers_runtime_spec//specs-go",
101 "@io_k8s_apimachinery//pkg/api/errors",
102 "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
103 "@io_k8s_client_go//dynamic/dynamicinformer",
104 "@io_k8s_client_go//rest",
105 "@io_k8s_cri_api//pkg/apis/runtime/v1:runtime",
106 "@io_k8s_sigs_controller_runtime//pkg/client",
107 "@io_k8s_sigs_controller_runtime//pkg/client/fake",
108 "@tools_gotest_v3//fs",
109 ],
110)
View as plain text