ResolversReference
cyan.yaml Format
Resolver metadata and configuration schema
cyan.yaml Format
The cyan.yaml file contains metadata for publishing your resolver to the Cyan registry.
Basic Structure
-c cyan.yaml
username: your-usernamename: my-resolverdescription: Description of the resolver's purposeproject: https://github.com/org/my-projectsource: https://github.com/org/my-resolvertags:- json- merge- resolverreadme: README.md
Required Fields
All fields in the resolver's cyan.yaml are required:
Prop
Type
Full Example
-c cyan.yaml
username: atomicloudname: json-mergerdescription: Merge JSON files from layered templates with configurable strategiesproject: https://github.com/atomicloud/cyan-resolverssource: https://github.com/atomicloud/json-mergertags:- json- merge- resolver- conflictreadme: README.md
Versioning
Version is not specified in cyan.yaml. Versioning is managed by the Cyan registry system when you publish your resolver. Each push to the registry creates a new version.
Config Definition
The cyan.yaml file does not define resolver configuration options. Configuration is defined at the template level when a template references a resolver with config values. The config is passed to the resolver at runtime via input.config.
Using Config in Template
Templates reference resolvers in their cyan.yaml with config values
# Template's cyan.yamlresolvers:- resolver: org/json-merger:1config:arrayStrategy: concatdeepMerge: truefiles:- config.json- package.json
Best Practices
- Use descriptive names - Choose a clear, descriptive resolver name
- Provide accurate metadata - Help users discover and understand your resolver
- Include relevant tags - Add tags that help users find your resolver in the registry
- Maintain a good README - Document resolver functionality and configuration options
- Keep contact info current - Use a valid email for support inquiries