文档描述“快照”操作,用于备份数据库。我曾经使用过类似的东西,但我想知道,一旦快照创建了一个文件(在我的情况下是 postgresql 转储),它就会停留在机器上,供特定的 charm 使用。有没有办法将它传回你最初运行“juju run-action ...”命令的机器?(我不确定这里的术语,所以我就把它称为“主机”)
我正在使用 python,我知道您可以使用它hookenv.action_set({})
来传回消息,但是整个文件呢?我想我可以用它来传回文件的内容,但这似乎有点不合时宜。
如果我使用类似的方法:
host_ip, _, machine_ip, __ = os.environ['SSH_CONNECTION'].split(' ')
然后尝试使用 host_ip 信息 scp 该文件,它需要密码,因此并不是真正自动化的。
有人对从行动中做到这一点有什么建议吗?
答案1
你可以在 charm action 中发送一个 shh 私钥,
$ juju run-action ssh_pkey=`cat .ssh/somekey`
并将公钥添加到主机authorized_keys。
或者只需在 charm config 中设置主机密钥
$ juju config myservice key=`cat .ssh/somekey`