skaffold
tilt
Our great sponsors
skaffold | tilt | |
---|---|---|
82 | 49 | |
14,605 | 7,239 | |
0.8% | 1.6% | |
9.2 | 8.8 | |
6 days ago | 6 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
skaffold
-
You've just inherited a legacy C++ codebase, now what?
A nice middle ground is using a tool like Google's Skaffold, which provides "Bazel-like" capabilities for composing Docker images and tagging them based on a number of strategies, including file manifests. In my case, I also use build args to explicitly set versions of external dependencies.
While I am in a Typescript environment with this setup at the moment, my personal experience that Skaffold with Docker has a lighter implementation and maintenance overhead than Bazel. (You also get the added benefit of easy deployment and automatic rebuilds.)
I quite liked using Bazel in a small Golang monorepo, but I ran into pain when trying to do things like include third-party pre-compiled binaries in the Docker builds, because of the unusual build rules convention. The advantage of Skaffold is it provides a thin build/tag/deploy/verify layer over Docker and other container types. Might be worth a look!
Kudos to the Google team building it! https://skaffold.dev
-
Simplifying preview environments for everyone
To get a similar experience of preevy up, first we’ll need to split the build and deploy using process or alternatively employ tools that orchestrate build-tag-push-update-sync flow like Skaffold/Tilt.
-
Set up docker and kubernetes in ubuntu 22.04
We will be using docker and microk8s from Canonical. For running our software during development, we will be using skaffold which is a great tool developed by Google.
-
How do you develop cloud-native applications locally on Kubernetes?
I have used both Skaffold and Devspace. I prefer the latter.
-
Launch HN: Moonrepo (YC W23) – Open-source build system
I wonder if it has some overlap with https://skaffold.dev/.
-
Building a RESTful API With Functions
K3d and Skaffold for local development
-
Does anyone else feel like this?
skaffold.dev - build in k8s - no more asking for the database password. All the plumbing to the backend is just done so it's easier for them to test and demo any branch
-
Which environments do you use/support?
To access you service your have several options (it depends on teams the preferences) you can use scaffold https://skaffold.dev/ or for simple case kfwd https://github.com/GiGurra/kfwd. Last for everything that is normally expose on internet you would have an Ingress and use external-dns as you would in prod.
-
Approaches in Cloud Development Ergonomics
This approach works great when it’s feasible, which is usually at a very early stage in the life of the application where it’s still small and tenable. There’s some tooling that lets you extend this honeymoon phase by letting you do it more easily, like docker-compose, Skaffold, or Tilt. However, at a certain point, even if you’ve written whatever scriptage is needed to actually configure and run the latest stable version of all of your components together, you’re going to hit some sort of ceiling: if you’ve got a large database, or some CPU-heavy computations, or you’re relying on some managed service that can’t be containerized, this approach soon becomes untenable.
-
Connecting a local container with a Kubernetes cluster
Another dev optimization is the conditional rebuilding of a container. For example tools like devspace and skaffold support syncing filles which have changes, but which don't require recompiling.
tilt
-
Simplifying preview environments for everyone
To get a similar experience of preevy up, first we’ll need to split the build and deploy using process or alternatively employ tools that orchestrate build-tag-push-update-sync flow like Skaffold/Tilt.
-
Codespaces but open-source, client-only, and unopinionated
It's not a direct competitor, but we use https://tilt.dev/ at my company for local and remote development.
-
Local development set up for microservices with Kubernetes - Skaffold
There are dedicated tools just for that. Apart from skaffold check also tilt.dev, garden.io, devspace.sh, okteto.com
-
First K8s project
You basically start by downloading kind, then tilt. Then create a kind cluster with the provided configuration in the tilt repo. Then run tilt up and that's it. You'll have a fully functional Kubernetes cluster and project running complete with deployments and services. Nothing too fancy, no RBAC, no network policies etc.. Just the bare minimum to get you up and running.
-
Devcontainers in k8s
I recommend also looking into tilt.
-
KubeProject: A distributed multi-service project on Kubernetes as a playground for beginners
Second, and perhaps the best of all is, that I created a tilt repository located here.
-
Throwaway preconfigured local kubernetes environments
But apart from the other "k8s in a box" options (like minikube, k0s, ...) you could also have a look at tilt (https://tilt.dev/), it sounds like this might be a good fit for your use case as well.
-
Is it ok not to be able to run application locally?
At my current company, we are investing in tooling that is aiming to provide a simple local dev experience for faster iteration times, but also allow that tooling to scale to our CI/CD processes. One thing we've looked at internally is https://tilt.dev/ which works well in a containerized environment. I'd recommend making incremental steps to make the local dev process as simple as possible: whether that means making heavier use of IaC tools to get sandboxed infrastructure repeatably brought up or down, or containerization tools.
-
Go GUI vs. Browser
This is becoming a common pattern, and works pretty well (check https://github.com/tilt-dev/tilt) for an example.
-
Is it common to not have a local dev environment in go?
For me this is an abomination. You can use docker-compose or local k8s with https://tilt.dev/. Some people here are saying "complex" because of number of dependencies, something is wrong. You might have split your domain the wrong way or too much temporal coupling by not using event-driven when applicable.
What are some alternatives?
argo-cd - Declarative Continuous Deployment for Kubernetes
devspace - DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
telepresence - Local development against a remote Kubernetes or OpenShift cluster
okteto - Develop your applications directly in your Kubernetes Cluster
helm - The Kubernetes Package Manager
flux2 - Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.
Bazel - a fast, scalable, multi-language and extensible build system
garden - Automation for Kubernetes development and testing. Spin up production-like environments for development, testing, and CI on demand. Use the same configuration and workflows at every step of the process. Speed up your builds and test runs via shared result caching
ingress-nginx - Ingress-NGINX Controller for Kubernetes