想知道是否有人知道可以验证类似于this的cloud-init配置的验证器。我们对其进行了尝试,并给出了一堆不适用的错误,例如,它无法识别package_update
,这是一个标准关键字,例如可以在官方文档中找到here。因此,我们正在寻找一种有效的验证器,该验证器可以识别官方documentation中的关键字。
答案 0 :(得分:1)
我最近也打了这个,发现了一个很好的方法。
在Ubuntu中,您可以使用以下方法正确验证文件解析。
cloud-init devel schema --config-file bob.txt
如果文件有效或无效,这将给您以下通知
:~$ sudo cloud-init devel schema --config-file bob.txt
Valid cloud-config file bob.txt
$ nano bob.txt #edited the yaml to make it invalid
:~$ sudo cloud-init devel schema --config-file bob.txt
Cloud config schema errors: format-l2.c1: File bob.txt is not valid yaml. while parsing a block mapping
in "<byte string>", line 2, column 1:
package_upgrade: true
^
expected <block end>, but found '-'
in "<byte string>", line 6, column 1:
- 'curl -fsSL https://get.docker ...
^
使用云初始化文件cloud-init status --wait
和cli
上的许多其他命令非常有用。
在进一步检查中,似乎没有发现很多类型的错误,但是Cloud Init docs将其列为正在进行的工作。
cloud-init开发架构:#cloud-config格式和架构验证器。它接受cloud-config yaml文件,并在本地注释潜在的模式错误,而无需部署。模式验证正在进行中,并且支持一部分云配置模块。