← Back to context

Comment by cirego

10 months ago

I've always appreciated that Tilt chose Starlark instead of YAML. Makes things so much cleaner!

Well, now you've really got me interested. Almost every case of a YAML eDSL would be better served by Starlark instead, in my Bazel-brained opinion.

  • I think Tilt Extensions highlights the combined power and composability that using Starlarks brings to Tilt: https://docs.tilt.dev/extensions.html.

    Want to create a Kubernetes secret? It's as simple as:

        load('ext://secret', 'secret_yaml_generic')
        k8s_yaml(secret_yaml_generic(...))
    

    Want to create that secret from Vault instead?

        load('ext://vault_client', 'vault_read_secret', 'vault_set_env_vars')
        vault_set_env_vars('https://localhost:8200','mytoken')
        my_foo = vault_read_secret('path/myfoo', 'value')
        my_bar = vault_read_secret('path/mybar', 'foobar')