Statically building LXD

liblxc will indeed build fine with musl and provided that all its own dependencies are available as static objects (.a) you should be able to get a static liblxc and get that included into a static Go binary.

I’ve never done that myself (only part of liblxc a while back) but there’s no technical reason why it would be impossible. Do note that the resulting binary is going to be rather big as it’d included the LXD code, a copy of the C library, a copy of the libcap library, a copy of the libseccomp binary and quite possibly a few others.