stripe/skycfg

Should skycfg allow recursion, floats, etc?

dilyevsky opened this issue · 1 comments

There's a list of optional features in Starlark like recursion, floats, nested defs and others (full list: https://github.com/google/starlark-go/blob/24246af8ff5f56427b506403ba62aadbcf5413a0/resolve/resolve.go#L100) that can be pretty handy. Should we enable this in skycfg runtime (perhaps as an option)? @jmillikin-stripe thoughts?

These options are implemented as mutable public global variables, so users who want them can enable them in their own code prior to evaluating a config file.

For the same reason, Skycfg shouldn't change or overwrite them -- it's just a library, we don't decide what Starlark features users may or may not use.

That said, I'd recommend against ever enabling floats in a config file because being over-quota by 0.0000001 CPU is no fun.