But I still think you should include the (let’s invent a different name to
show the purpose) meta-schema version

Most likely the meta-schema version will always be 1, but if you ever need
to revise then you will thank Jesse and I for suggesting it.

CaaC has a schema for generating the schema at runtime... this is the
meta-schema... it says things like: Java Maps are represented by ____, use
the @Symbol as a ____, etc

That is what the meta-schema version represents. If it changes then you are
saying the way of binding between yaml and runtime (in the general sense)
has changed.

On Tue 15 May 2018 at 19:30, nicolas de loof <[email protected]>
wrote:

> I've added a section on this topic in JEP-201:
> https://github.com/jenkinsci/jep/tree/master/jep/201#versioning
>
> We can already generate a json-schema you can use to validate your yaml
> file(s) before applying configuration.
> What you miss is a tool to convert jenkins-core + plugins.spec -> json
> schema.
> This is something we could package as well (something comparable to
> jenkinsfile-runner) or even provide "as a service".
>
> We could also get such a tool both generate a schema and validate your
> config, as it seems there's not  (yet) so much text editors to support
> json schema validation in yaml
>
> Would this help ?
>
> 2018-05-15 20:19 GMT+02:00 R. Tyler Croy <[email protected]>:
>
>> (replies inline)
>>
>> On Tue, 15 May 2018, nicolas de loof wrote:
>>
>> > 2018-05-15 0:20 GMT+02:00 Liam Newman <[email protected]>:
>> >
>> > >
>> > > Putting all that aside (as that is not the original point of this
>> thread),
>> > > the original suggestion was to include a version field in the CasC
>> YAML.
>> > > You said it would not work because the version would have to take into
>> > > account the core version and versions of all plugins, otherwise it
>> might
>> > > break. Does that mean the CasC YAML could break _any time_  I upgrade
>> any
>> > > component? Doesn't that rather defeats the purpose of CasC?
>> > >
>> >
>> > Yes indeed. CasC doesn't have it's own model, everything is based on
>> actual
>> > java code discovery at runtime. So upgrading core or any plugin is
>> changing
>> > this model. CasC targets reproducibility and immutability use-cases. If
>> you
>> > want to upgrade anything you need to test it before.
>>
>>
>> Testing of changes between plugin versions was something I had great
>> difficulty
>> with for Groovy-scripting-based configuration, which was much more common
>> prior
>> to Configuration as Code. Do you have suggestions for administrators such
>> as
>> myself on how I might validate that my configuration YAML is
>> correct/applies
>> between any core or plugin upgrades?
>>
>> This gets to the underlying concern I had in mind when starting this
>> thread, as
>> an administrator, how will I know that my configuration applies correctly
>> between any core or plugin upgrades? My initial thought was
>> schema-versioning,
>> but I'm certainly open to other suggestions.
>>
>>
>>
>> Cheers
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jenkinsci-dev/20180515181926.GB3395%40grape.lasagna.io
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/CANMVJz%3D9BjgA8OA%2B0Sg9HfToF2v5rueuVjHR128o41%3D3cU056g%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/CANMVJz%3D9BjgA8OA%2B0Sg9HfToF2v5rueuVjHR128o41%3D3cU056g%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
-- 
Sent from my phone

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMzTWPTBy7QJ5jJkf6r3Jqd0Wc1vocoY_uP-kB6eUCnwPw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to