以非交互模式生成新的(未更新的)SSL证书和“letsencrypt certonly”

以下命令会导致一系列合理的提示信息,例如公司信息,联系信息等等。我希望能够运行它,但将这些信息作为参数或configuration文件传递,但是我不能了解如何从文档( https://certbot.eff.org/docs/using.html#command-line-options )。 有任何想法吗?

letsencrypt certonly \ --webroot -w /letsencrypt/challenges/ \ --text --renew-by-default --agree-tos \ $domain_args \ --email=$EMAIL 

请注意,我不是要更新,而是要生成新的新证书。

谢谢

你应该通过 – 非--noninteractive标志letsencrypt。 根据你链接到的文件,这将产生一个错误,告诉你哪些其他标志是必要的。

使用ployst / letsencrypt时 ,可以使用其内部脚本完成初始证书创build。 这些脚本已经通过了所有正确的参数,使其成为一个自动化的过程,而不是交互式的过程。 该文档具有以下两个步骤,它们都创build证书并将其作为秘密应用。

如果你的环境variables已经设置好了,你甚至不需要传递-c 'EMAIL=....

生成一组新的证书

一旦这个容器正在运行,你可以使用下面的命令生

 kubectl exec -it <pod> -- bash -c 'EMAIL=fred@fred.com DOMAINS=example.com foo.example.com ./fetch_certs.sh' 

将这组证书保存为秘密

 kubectl exec -it <pod> -- bash -c 'DOMAINS=example.com foo.example.com ./save_certs.sh'