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