| load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") |
| |
| go_library( |
| name = "mini_lib", |
| srcs = [ |
| "main.go", |
| "provider.go", |
| "ssh.go", |
| ], |
| importpath = "source.monogon.dev/cloud/shepherd/mini", |
| visibility = ["//visibility:public"], |
| deps = [ |
| "//cloud/bmaas/bmdb", |
| "//cloud/bmaas/bmdb/model", |
| "//cloud/bmaas/bmdb/webug", |
| "//cloud/lib/component", |
| "//cloud/shepherd", |
| "//cloud/shepherd/manager", |
| "//metropolis/cli/pkg/context", |
| "@io_k8s_klog_v2//:klog", |
| "@org_golang_x_crypto//ssh", |
| ], |
| ) |
| |
| go_binary( |
| name = "mini", |
| embed = [":mini_lib"], |
| visibility = ["//visibility:public"], |
| ) |
| |
| load("@rules_pkg//pkg:tar.bzl", "pkg_tar") |
| |
| pkg_tar( |
| name = "mini_layer", |
| srcs = [":mini"], |
| ) |
| |
| load("@rules_oci//oci:defs.bzl", "oci_image") |
| |
| oci_image( |
| name = "mini_image", |
| base = "@distroless_base", |
| entrypoint = ["/mini"], |
| tars = [ |
| ":mini_layer", |
| "//cloud/takeover:takeover_layer", |
| ], |
| visibility = ["//visibility:public"], |
| workdir = "/app", |
| ) |