load("@rules_python//python:defs.bzl", "py_binary", "py_library") load("@pip//:requirements.bzl", "requirement") load("@rules_pkg//:pkg.bzl", "pkg_deb", "pkg_tar") py_library( name = "config", srcs = ["config.py"], ) py_test( name = "config_test", srcs = ["config_test.py"], deps = [ ":config", ], ) py_library( name = "metrics", srcs = ["metrics.py"], deps = [ requirement("libdyson"), requirement("prometheus_client"), ], ) py_test( name = "metrics_test", srcs = ["metrics_test.py"], deps = [ ":metrics", requirement("libdyson"), requirement("prometheus_client"), ], ) py_binary( name = "main", srcs = ["main.py"], deps = [ ":config", ":metrics", requirement("prometheus_client"), requirement("libdyson"), ], ) py_binary( name = "config_builder", srcs = ["config_builder.py"], deps = [ ":config", requirement("libdyson"), ], ) pkg_tar( name = "deb-bin", # This depends on --build_python_zip. srcs = [ ":main", ":config_builder" ], mode = "0755", package_dir = "/opt/prometheus-dyson/bin", ) pkg_tar( name = "deb-config-sample", srcs = ["config-sample.ini"], mode = "0644", package_dir = "/etc/prometheus-dyson", ) pkg_tar( name = "deb-default", srcs = ["debian/prometheus-dyson"], mode = "0644", package_dir = "/etc/default", strip_prefix = "/debian", ) pkg_tar( name = "deb-service", srcs = ["debian/prometheus-dyson.service"], mode = "0644", package_dir = "/lib/systemd/system", strip_prefix = "/debian", ) pkg_tar( name = "debian-data", deps = [ ":deb-bin", ":deb-config-sample", ":deb-default", ":deb-service", ], ) pkg_deb( name = "main-deb", # libdyson includes native deps. architecture = "amd64", built_using = "bazel", data = ":debian-data", depends = [ "python3", ], description_file = "debian/description", maintainer = "Sean Rees <sean at erifax.org>", package = "prometheus-dyson", postrm = "debian/postrm", prerm = "debian/prerm", version = "0.3.1", )