load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@rules_pkg//:pkg.bzl", "pkg_zip")
load("//osbase/build/genproductinfo:defs.bzl", "product_info")
load("//osbase/build/mkerofs:def.bzl", "erofs_image")
load("//osbase/build/mkoci:def.bzl", "oci_os_image")
load("//osbase/build/mkpayload:def.bzl", "efi_unified_kernel_image")
load("//osbase/build/mkverity:def.bzl", "verity_image")

go_library(
    name = "node",
    srcs = [
        "ids.go",
        "labels.go",
        "net_ips.go",
        "net_protocols.go",
        "ports.go",
        "validation.go",
    ],
    importpath = "source.monogon.dev/metropolis/node",
    visibility = [
        "//metropolis:__subpackages__",
        "@io_k8s_kubernetes//pkg/registry:__subpackages__",
    ],
    deps = ["//metropolis/proto/common"],
)

# debug_build checks if we're building in debug mode and enables various debug features for the image.
config_setting(
    name = "debug_build",
    values = {
        "compilation_mode": "dbg",
    },
)

exports_files([
    "passwd",
])

go_binary(
    name = "runc",
    embed = ["@com_github_opencontainers_runc//:runc_lib"],
    gotags = [
        "osusergo",
        "netgo",
        "seccomp",
    ],
    pure = "off",
)

erofs_image(
    name = "rootfs",
    files = {
        "/init": "//metropolis/node/minit",
        "/core": "//metropolis/node/core",

        # Product info
        "/etc/product-info.json": ":product_info",

        # CA Certificate bundle & os-release & resolv.conf & hosts
        # These should not be explicitly used by Metropolis code and are only here for compatibility with
        # paths hardcoded by standard libraries (like Go's).
        "/etc/ssl/cert.pem": "@cacerts//file",
        "/etc/passwd": ":passwd",
        "/etc/resolv.conf": "//osbase/net/dns:resolv.conf",
        "/etc/hosts": "//osbase/net/dns:hosts",
        "/etc/os-release": ":product_info_os_release",

        # Metrics exporters
        "/metrics/bin/node_exporter": "@com_github_prometheus_node_exporter//:node_exporter",

        # Hyperkube
        "/kubernetes/bin/kube": "//metropolis/node/kubernetes/hyperkube",

        # runsc/gVisor
        "/containerd/bin/runsc": "@dev_gvisor_gvisor//runsc",
        "/containerd/bin/containerd-shim-runsc-v1": "@dev_gvisor_gvisor//shim",

        # runc
        "/containerd/bin/runc": ":runc",
        "/containerd/bin/containerd-shim-runc-v2": "@com_github_containerd_containerd_v2//cmd/containerd-shim-runc-v2",

        # Containerd
        "/containerd/bin/containerd": "@com_github_containerd_containerd_v2//cmd/containerd",

        # Containerd config files
        "/containerd/conf/runsc.toml": "//metropolis/node/kubernetes/containerd:runsc.toml",
        "/containerd/conf/config.toml": "//metropolis/node/kubernetes/containerd:config.toml",
        "/containerd/conf/cnispec.gojson": "//metropolis/node/kubernetes/containerd:cnispec.gojson",

        # Containerd preseed bundles
        "/containerd/preseed/k8s.io/preseedtest.tar": "//metropolis/test/e2e/preseedtest:preseedtest_tarball",
        "/containerd/preseed/k8s.io/pause.tar": "//metropolis/node/kubernetes/pause:pause_tarball",

        # CNI Plugins
        "/containerd/bin/cni/loopback": "@com_github_containernetworking_plugins//plugins/main/loopback",
        "/containerd/bin/cni/ptp": "@com_github_containernetworking_plugins//plugins/main/ptp",
        "/containerd/bin/cni/host-local": "@com_github_containernetworking_plugins//plugins/ipam/host-local",

        # Delve
        "/dlv": "@com_github_go_delve_delve//cmd/dlv:dlv",

        # file system tools
        "/bin/mkfs.xfs": "@xfsprogs//:mkfs",

        # time
        "/time/chrony": "@chrony//:chrony",
    },
    fsspecs = [
        ":erofs-layout.fsspec",
        "//osbase/build:earlydev.fsspec",
        "//third_party:firmware",
    ],
    symlinks = {
        "/etc/machine-id": "/ephemeral/machine-id",
    },
)

verity_image(
    name = "verity_rootfs",
    source = ":rootfs",
)

efi_unified_kernel_image(
    name = "kernel_efi",
    cmdline = "console=ttyS0,115200 console=ttyS1,115200 console=ttyAMA0 console=tty0 quiet rootfstype=erofs init=/init loadpin.exclude=kexec-image,kexec-initramfs kernel.unknown_nmi_panic=1",
    initrd = ["//third_party:ucode"],
    kernel = "//third_party/linux",
    os_release = ":product_info_os_release",
    verity = ":verity_rootfs",
)

oci_os_image(
    name = "oci_image",
    srcs = {
        "system": ":verity_rootfs",
        "kernel.efi": ":kernel_efi",
    },
    product_info = ":product_info",
    visibility = ["//visibility:public"],
)

oci_os_image(
    name = "oci_image_uncompressed",
    srcs = {
        "system": ":verity_rootfs",
        "kernel.efi": ":kernel_efi",
    },
    compression_level = 0,
    product_info = ":product_info",
    visibility = ["//metropolis/test/launch:__pkg__"],
)

# An intermediary "bundle" format until we finalize the actual bundle format. This is NOT stable until migrated
# to the actual bundle format.
# TODO(lorenz): Replace this
pkg_zip(
    name = "bundle",
    srcs = [
        ":kernel_efi",
        ":verity_rootfs",
    ],
    visibility = ["//visibility:public"],
)

product_info(
    name = "product_info",
    components = [
        "linux",
        "kubernetes",
    ],
    os_id = "metropolis-node",
    os_name = "Metropolis Node",
    out_os_release = ":product_info_os_release",
    stamp_var = "STABLE_MONOGON_metropolis_version",
    visibility = [":__subpackages__"],
)

go_test(
    name = "node_test",
    srcs = [
        "labels_test.go",
        "validation_test.go",
    ],
    embed = [":node"],
    deps = ["@io_k8s_apimachinery//pkg/util/validation"],
)
