mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-14 18:34:31 -05:00
284c460ed0
This adds nix store paths to container images that have binaries linking against libvirt from nix.
77 lines
1.8 KiB
Python
77 lines
1.8 KiB
Python
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
|
load("@rules_oci//oci:defs.bzl", "oci_image")
|
|
load("@rules_pkg//:pkg.bzl", "pkg_tar")
|
|
load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files", "strip_prefix")
|
|
|
|
go_library(
|
|
name = "libvirt",
|
|
srcs = ["libvirt.go"],
|
|
importpath = "github.com/edgelesssys/constellation/v2/cli/internal/libvirt",
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//internal/file",
|
|
"@com_github_docker_docker//api/types",
|
|
"@com_github_docker_docker//api/types/container",
|
|
"@com_github_docker_docker//api/types/filters",
|
|
"@com_github_docker_docker//client",
|
|
"@com_github_spf13_afero//:afero",
|
|
],
|
|
)
|
|
|
|
pkg_files(
|
|
name = "etc",
|
|
srcs = [
|
|
"//cli/internal/libvirt/etc:passwd_db",
|
|
],
|
|
attributes = pkg_attributes(
|
|
group = "root",
|
|
mode = "0644",
|
|
owner = "root",
|
|
),
|
|
prefix = "etc",
|
|
strip_prefix = strip_prefix.from_pkg(),
|
|
)
|
|
|
|
pkg_files(
|
|
name = "nvram",
|
|
srcs = [
|
|
"//cli/internal/libvirt/nvram:nvram_vars",
|
|
],
|
|
prefix = "usr/share/OVMF",
|
|
strip_prefix = strip_prefix.from_pkg(),
|
|
)
|
|
|
|
pkg_files(
|
|
name = "libvirt_conf",
|
|
srcs = [
|
|
"libvirtd.conf",
|
|
"qemu.conf",
|
|
],
|
|
prefix = "/etc/libvirt",
|
|
)
|
|
|
|
pkg_tar(
|
|
name = "start",
|
|
srcs = [
|
|
"start.sh",
|
|
":etc",
|
|
":libvirt_conf",
|
|
":nvram",
|
|
],
|
|
mode = "0755",
|
|
)
|
|
|
|
oci_image(
|
|
name = "constellation_libvirt",
|
|
architecture = "amd64",
|
|
entrypoint = ["/start.sh"],
|
|
os = "linux",
|
|
tars = [
|
|
# TODO(malt3): test if libvirt works before merging this change!!!
|
|
"@libvirt_x86_64-linux//:closure.tar",
|
|
"@libvirt_x86_64-linux//:bin-linktree.tar",
|
|
":start",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|