Skip to content

A suite of LandTech Tiltfiles, to accelerate end-to-end application development ๐Ÿ”ฅ

License

Notifications You must be signed in to change notification settings

landtechnologies/tiltenhance

Repository files navigation

TiltEnhance

A public suite of LandTech Tiltfiles, to accelerate end-to-end application development ๐Ÿ”ฅ

Wait, what is Tiltfiles?!

Tilt is a system for orchestrating a full local or remote Kubernetes* environment for your applications. It's cool. Look, check it out: https://tilt.dev/

  • tilt up spins up a full remote environment ๐ŸŽ as specified in you project's Tiltfile

  • While Tilt is running it will intelligently and quickly update ๐Ÿ”„ your remote environment in step with local changes

  • While Tilt is stopped your environment will persist, but you'll get no more live updates ๐Ÿš

  • tilt down [--delete-namespaces] tears down aforementioned environment ๐Ÿ‘ ๐Ÿ—‘

*it's geared solely towards Kubernetes resource management, which brings us nicely to our next point...

Why do I need TiltEnhance then?

While adopting Tilt we've found a few limitations, where it doesn't quite fit our existing workflows. Luckily for us, extending Tilt is a breeze.

I want to create a temoporary credstash secret, and have it clean up on tilt down > We got you. Take a look in the local_resource_ext Tiltfile. I'll explain how to use it in a min...

I want to do what she said ๐Ÿ‘† but with S3 buckets > Yep - same place

In fact I want to create literally any custom resource, and define a custom teardown function > This is all the same use case. Anything else?

I've heard Tilt doesn't natively understand helm install hooks > We got you! Look at helm_hooks

Ooh, what about running containerised tasks (tests) locally and in the cluster > Yep, docker_task is your guy

I want to do some other features that aren't document > Probably in there too, but please add them (with tests) if not! ๐Ÿ˜

How on earth do I use this?!

Great question. If you haven't you'll need to make yourself a Tiltfile. Here's the docs; figure it out.

You'll then need to register this extensions repo like so:

v1alpha1.extension_repo(name='tiltenhance', url='https://github.com/landtechnologies/tiltenhance')

Next let's import some stuff. If you've been reading the tilt docs, you'll know you can require Tiltfiles with load(...)

Pop something like this in your Tiltfile to use the docker_remote resource from the docker_task extension.

## Register
v1alpha1.extension(name='docker_task', repo_name='tiltenhance', repo_path='docker_task')

## Import
load("ext://tiltenhance/docker_task", "docker_remote")

## Use
docker_remote("my-important-task", "./path/to/Dockerfile")

(We know that registering the repo and extension, and then loading the function is wordy, but we'll see what we can do about that later.)

Can I contribute?

Yeah, we got some good tests going on. Keep those going, and maybe flesh out this section ๐Ÿ‘ˆ

About

A suite of LandTech Tiltfiles, to accelerate end-to-end application development ๐Ÿ”ฅ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published