1load("@container_structure_test//:defs.bzl", "container_structure_test")
2load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
3load("@rules_oci//oci:defs.bzl", "oci_load")
4load("@rules_pkg//:pkg.bzl", "pkg_tar")
5load("//hack/build/rules/container:go.bzl", "go_oci_image")
6load("//hack/build/rules/container:index.bzl", "container_push")
7
8go_library(
9 name = "manager_lib",
10 srcs = ["main.go"],
11 importpath = "edge-infra.dev/cmd/sds/etcd/manager",
12 visibility = ["//visibility:private"],
13 deps = [
14 "//pkg/lib/cli",
15 "//pkg/lib/fog",
16 "//pkg/lib/runtime/version",
17 "//pkg/sds/etcd/manager",
18 ],
19)
20
21go_binary(
22 name = "etcdmanager",
23 embed = [":manager_lib"],
24 visibility = ["//visibility:public"],
25)
26
27go_oci_image(
28 name = "etcdmanager_image",
29 embed = [":manager_lib"],
30 tags = [
31 "manual",
32 "no-remote-cache",
33 ],
34)
35
36pkg_tar(
37 name = "etcdrecovery-tar",
38 srcs = ["//cmd/sds/etcd/manager/recovery"],
39 mode = "755",
40 symlinks = {
41 "/usr/local/bin/ien-force-recover-etcd": "/recovery",
42 },
43 tags = [
44 "manual",
45 "no-remote-cache",
46 ],
47)
48
49go_oci_image(
50 name = "etcdmanager_container",
51 embed = [":manager_lib"],
52 tags = [
53 "manual",
54 "no-remote-cache",
55 ],
56 tars = ["etcdrecovery-tar"],
57 visibility = ["//visibility:public"],
58)
59
60oci_load(
61 name = "etcdmanager_container_load",
62 image = ":etcdmanager_container",
63 repo_tags = ["etcdmanager:latest"],
64 tags = ["manual"],
65)
66
67filegroup(
68 name = "etcdmanager_container.tar",
69 srcs = [":etcdmanager_container_load"],
70 output_group = "tarball",
71)
72
73container_structure_test(
74 name = "container_test",
75 configs = [":container_test.yaml"],
76 driver = "tar",
77 image = ":etcdmanager_container.tar",
78 tags = ["manual"],
79)
80
81container_push(
82 name = "container_push",
83 image = ":etcdmanager_container",
84 image_name = "etcdmanager",
85 repository_file = "//hack/build/rules/container:workloads-repo",
86)
View as plain text