func (aci *Aci) copyInternals() { logs.WithF(aci.fields).Debug("Copy internals") os.MkdirAll(aci.rootfs+PATH_CNT+PATH_BIN, 0755) os.MkdirAll(aci.rootfs+"/bin", 0755) // this is required or systemd-nspawn will create symlink on it os.MkdirAll(aci.rootfs+"/usr/bin", 0755) // this is required by systemd-nspawn busybox, _ := dist.Asset("dist/bindata/busybox") if err := ioutil.WriteFile(aci.rootfs+PATH_CNT+PATH_BIN+"/busybox", busybox, 0777); err != nil { panic(err) } confd, _ := dist.Asset("dist/bindata/confd") if err := ioutil.WriteFile(aci.rootfs+PATH_CNT+PATH_BIN+"/confd", confd, 0777); err != nil { panic(err) } attributeMerger, _ := dist.Asset("dist/bindata/attributes-merger") if err := ioutil.WriteFile(aci.rootfs+PATH_CNT+PATH_BIN+"/attributes-merger", attributeMerger, 0777); err != nil { panic(err) } confdFile := `backend = "env" confdir = "/cnt" prefix = "/confd" log-level = "debug" ` os.MkdirAll(aci.rootfs+PATH_CNT+"/prestart", 0755) if err := ioutil.WriteFile(aci.rootfs+PATH_CNT+"/prestart/confd.toml", []byte(confdFile), 0777); err != nil { panic(err) } if err := ioutil.WriteFile(aci.rootfs+PATH_CNT+PATH_BIN+"/prestart", []byte(PRESTART), 0777); err != nil { panic(err) } }
func (cnt *Img) importAciBats() { if err := utils.ExecCmd("bash", "-c", "rkt image list --fields name --no-legend | grep -q "+BATS_ACI); err != nil { content, _ := dist.Asset("dist/bindata/aci-bats.aci") if err := ioutil.WriteFile("/tmp/aci-bats.aci", content, 0644); err != nil { panic(err) } utils.ExecCmd("rkt", "--insecure-skip-verify=true", "fetch", "/tmp/aci-bats.aci") os.Remove("/tmp/aci-bats.aci") } }