garden
mutagen
Our great sponsors
garden | mutagen | |
---|---|---|
40 | 9 | |
3,248 | 3,341 | |
1.7% | 2.1% | |
9.9 | 8.0 | |
5 days ago | 5 days ago | |
TypeScript | Go | |
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
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.
garden
-
Build pipelines always seem to take longer than doing the same locally
Hey there! Have you tried garden.io for caching? We also cache tests. Pretty much anything that's possible to cache. We're open source at https://github.com/garden-io/garden
-
Streamlining CI/CD Pipelines with Code: A Developer's Guide
To add to what's already been said: If you think about it, CI pipelines are typically a complete description of how your system is built, tested, and deployed.
Which is pretty fantastic except for how walled off they are. You can't really re-use these descriptions for e.g. development, they're not vendor agnostic, and they only way to run them is by pushing your code.
Maybe it's a silly analogy but it's almost like being a web dev that doesn't have a browser and needs to send their code to a friend who can tell them if that font size looks good.
I think we're way over due for freeing these "blueprints" of our system from the confines of CI and making them portable and flexible. And containers are the technology that's enabling that.
Full disclaimer (as always): I work at Garden[0] where we're also solving that problem but taking a slightly different approach to Dagger (it's still a DAG). Garden config is declarative and the jobs (we call them actions) have a semantic meaning. You can e.g. have a Build action of type container or a Deploy action of type Helm and Garden will figure out what to do with it.
[0] https://github.com/garden-io/garden
-
GitHub Actions Are a Problem
Yes, there's us over at https://github.com/garden-io/garden! We're big believers in pipelines that run anywhere. I even made a short little video that should give you the gist. [1]
Some of the short-list of differences: we use YAML for our configuration language, Dagger can use full-fat languages to define its pipelines. Our feature scope is broader: you can use us to vend IDP-like stacks to your developers if you're a Platform Team; we make development with remote Kubernetes clusters very easy, including all the remote image builds; and we have a number of integrations so you can bring your IaC tool of choice (Pulumi, Terraform) into your pipeline and set up service -> infra dependencies.
[1] https://www.youtube.com/watch?v=JFnan6s2cDg
-
The Icelandic Saga Database
Me too. In fact Garden (dev tooling for the Kubernetes)[0] is a Berlin start-up with three Icelandic founders.
And if I'm not mistaken, two of us worked briefly with @halldorel (above commenter) at an earlier Icelandic start-up. It's a small world (if you're Icelandic).
[0] https://garden.io
-
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
-
is anyone using garden.io for Kubernetes development?
Would appreciate any insights on garden.io. Thanks.
- Garden – The DevOps automation tool for K8s
-
Best way to run k8s apps locally
Telepresence, tilt, garden.io, okteto, skaffold etc.
-
Local Development with hot reloading, what does your team do?
- https://garden.io/
-
Digital nomad x Cyclist in the Balkans on my way to Japan (more info in the comments)
haha, do my pictures give off a strong not-web-dev vibe? Either way your right, I'm focusing on devxp and automation for kubernetes. Because my work is open source you can see it here https://github.com/garden-io/garden (btw we're also hiring another open core dev like me)
mutagen
- GitHub - mutagen-io/mutagen: Fast file synchronization and network forwarding for remote development
-
Show HN: Improve Docker Desktop Performance with Synchronized Filesystem Caches
Hey HN, I wanted to share a Docker Desktop extension that uses Mutagen (the open-source[0] file sync tool for developers) to improve bind mount performance in Docker Desktop. It allows you to create synchronized filesystem caches inside the Docker Desktop VM that can automatically replace bind mounts. This gives you ext4 filesystem performance inside the Docker Desktop VM, with low-latency synchronization to-and-from the host filesystem.
Docker themselves actually shipped this functionality in Docker Desktop back in 2020, but they decided to pivot back to virtual filesystems with gRPC FUSE and Virtiofs. While these work fairly well, there are still substantial gains to be had for workflows that are readdir(), stat(), read(), and write()-heavy. This includes things like package installs (e.g. npm and Composer), dynamic language runtimes (e.g. PHP or Node.js), and compiling code.
This new implementation is significantly more performant[1], offers a more detailed UI, and gives you the option of setting the user and group IDs for files sync'd into the VM. You can even create multiple caches of the same files with different UIDs/GIDs, allowing containers with different UIDs/GIDs to access the same files without permissions conflicts.
This extension is closed-source and requires a subscription for some functionality, but that money helps to support the corresponding open-source project.
I'd be keen to hear your feedback. There are a few minor limitations (mostly SDK limitations), but nothing too significant. The next step is probably going to be adding support for remote Docker engines, but I'd be interested to know if there are other pressing features that people would like to see.
Disclaimer: I am a Docker Captain, though this tool is not developed, sponsored, or endorsed by Docker, Inc.
---
[0]: https://github.com/mutagen-io/mutagen
[1]: The Docker Desktop EULA prevents me from publishing benchmarks, but the performance difference will be the same as the difference between gRPC FUSE or Virtiofs and a "native" ext4 volume inside the VM. This will differ between hardware and virtualization frameworks. The best option is testing your own workflow.
-
Fast file synchronization and network forwarding for remote development
I can't predict ultra far into the future (who can these days... :|), but Mutagen has been under active development for about 6 years now[0]. At the moment I have enough funding to work on it full-time until at least the middle of next year, though I also do Mutagen-related contracting and consulting work to support the project. Mutagen's Docker Desktop extension is going to be a freemium product designed to support the project more directly, which will hopefully allow development to continue indefinitely.
[0]: https://github.com/mutagen-io/mutagen/graphs/contributors
-
Why does Docker SUCK so hard for local development?
It's pretty bad. The Docker for Mac team tested something called Mutagen to speed things up, but then removed it again, and the difference was drastic.
What are some alternatives?
okteto - Develop your applications directly in your Kubernetes Cluster
qobuz-dl - A complete Lossless and Hi-Res music downloader for Qobuz
skaffold - Easy and Repeatable Kubernetes Development
eyeD3 - eyeD3 is a Python module and command line program for processing ID3 tags. Information about mp3 files (i.e bit rate, sample frequency, play time, etc.) is also provided. The formats supported are ID3v1 (1.0/1.1) and ID3v2 (2.3/2.4).
telepresence - Local development against a remote Kubernetes or OpenShift cluster
m4b-mp3-chapters-from-cuesheets - merge audiobooks or podcasts without re-encoding (remuxing only) to single m4b with quicktime/nero chapters or mp3 with id3v2 chapters using cuesheets; also allows for renaming/editing chapters
wsl-vpnkit - Provides network connectivity to WSL 2 when blocked by VPN
pydub - Manipulate audio with a simple and easy high level interface
tilt-extensions - Extensions for Tilt
librosa - Python library for audio and music analysis
UTM - Virtual machines for iOS and macOS
tinytag - Python library for reading audio file metadata, duration of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA, Wave, AIFF and a few more