←back to thread

136 points saikatsg | 9 comments | | HN request time: 0s | source | bottom
1. patwoz ◴[] No.43807456[source]
How does Tilt compare to “skaffold dev“? We use skaffold exactly for that purpose. To develop within a the cluster.
replies(3): >>43807561 #>>43807733 #>>43807748 #
2. turtlebits ◴[] No.43807561[source]
Skaffold works but its DX is pretty poor. Too many knobs via yaml- tilt has just enough magic that it doesn't feel like a chore to setup local dev.
replies(1): >>43807644 #
3. cirego ◴[] No.43807644[source]
I've always appreciated that Tilt chose Starlark instead of YAML. Makes things so much cleaner!
replies(1): >>43807708 #
4. tomjakubowski ◴[] No.43807708{3}[source]
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.
replies(1): >>43807745 #
5. eats_indigo ◴[] No.43807733[source]
Migrated from Skaffold to Tilt at my last co, found it was much more easier to configure granular rebuild rules, which lead to faster dev loop cycles
replies(1): >>43808038 #
6. cirego ◴[] No.43807745{4}[source]
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')
7. lima ◴[] No.43807748[source]
Much more flexible than Skaffold thanks to Starlark config vs. a rigid YAML structure.
replies(1): >>43808933 #
8. 3abiton ◴[] No.43808038[source]
Any catch?
9. ajayvk ◴[] No.43808933[source]
Starlark does allow for much more concise and powerful config specification. I am building https://github.com/claceio/clace, which is an application server for teams to deploy internal tools.

Clace uses Starlark for defining apps, instead of something like YAML. https://github.com/claceio/clace/blob/main/examples/utils.st... is a config file which defines around seven apps (apps are downloaded and deployed directly from git).

Clace uses Starlark for defining app level routing rules also. This avoids the need to use a nginx like DSL for routing.