我正在尝试将卡维尔ytt模块与我的应用程序集成。到目前为止,我正在尝试一些我以前在操场上测试过的基本东西。当我试图在代码中做同样的事情时,它总是不匹配。
filesToProcess := yttfiles.NewSortedFiles([]*yttfiles.File{
yttfiles.MustNewFileFromSource(yttfiles.NewBytesSource(yttPath, readByteFile(yttPath))),
})
opts.DataValuesFlags = yttcmd.DataValuesFlags{
FromFiles: []string{filePath},
ReadFilesFunc: func(path string) ([]*yttfiles.File, error) {
return []*yttfiles.File{yttfiles.MustNewFileFromSource(yttfiles.NewBytesSource(path, readByteFile(path)))}, nil
},
}
output := opts.RunWithFiles( yttcmd.Input{Files: filesToProcess}, yttui.NewTTY(false))
yttPath是包含覆盖的yaml的路径。Path是我要编辑的文件的路径。readByteFile只是用ioutil。ReadFile。
我不确定在这样的代码中使用覆盖是否可行,因为在github上没有覆盖的例子。
这个代码完全错了吗?提前感谢任何对此有经验的人。
配置和调用ytt
的方式对我来说似乎是合法的。
我听到你说这是游乐场里的东西。但是,如果您的程序正在运行,并且没有出现错误,我会怀疑覆盖本身存在一些微妙的问题。
如果你能发布yttPath
内容的安全共享版本,我可能会提供帮助。
另一个角度是从examples/integrating-with-ytt/internal-templating/
示例开始,并将yttPath
的内容粘贴到该示例的run()
函数中的tpl
变量中。