Validate ConfigKit pipeline documents

This commit is contained in:
2026-09-13 16:35:46 +00:00
parent b1cd919605
commit 9c247cf3a2
5 changed files with 712 additions and 4 deletions

View File

@@ -20,17 +20,20 @@ func loadDocument(path string, options LoadOptions) (*configkit.Result[Document]
}
func loadDocumentSource(source configkit.Source, options LoadOptions) (*configkit.Result[Document], error) {
state := newDocumentLoadState()
return configkit.Load(source, configkit.Options[Document]{
Definition: documentDefinition(),
Definition: documentDefinition(state),
Profile: options.Profile,
Overrides: options.Overrides,
})
}
func documentDefinition() configkit.Definition[Document] {
func documentDefinition(state *documentLoadState) configkit.Definition[Document] {
return configkit.Definition[Document]{
Defaults: documentDefaults,
Resolve: resolveDocumentOperations,
Resolve: func(document *Document, resolution *configkit.Resolution) error {
return resolveDocumentOperations(document, resolution, state)
},
Validate: validateDocumentOperations,
Version: &configkit.VersionRule{
Path: configkit.Keys("version"),