Я знаю, что оптимизированная для контейнеров ОС - это в основном noexec. У меня есть случай, когда мне нужно выполнить несколько простых сценариев в моем домашнем каталоге, скопировать файлы из моего образа докера на хост и т. Д. Когда я вхожу в экземпляр с помощью SSH, с этим проблем не возникает. Но с terraform вроде не работает:
resource "null_resource" "test_upload2" {
count = length(var.nodes)
provisioner "remote-exec" {
connection {
type = "ssh"
host = google_compute_address.static[count.index].address
private_key = file("keys/private_key")
user = var.admin_username
script_path = "/home/hyperledger/provision.sh"
}
inline = [
"ls"
]
}
depends_on = [google_compute_instance.peer-blockchain-vm, null_resource.test_upload]
}
Я получаю следующее сообщение об ошибке:
null_resource.test_upload[0] (remote-exec): bash: /home/hyperledger/provision.sh: Permission denied
Error: error executing "/home/hyperledger/provision.sh": Process exited with status 126
Есть ли способ сделать это исключительно с помощью Terraform? Кажется, нехорошо передать эту логику какому-нибудь локальному сценарию оболочки и достичь цели с помощью local-exec.