mirrord
taffy
Our great sponsors
mirrord | taffy | |
---|---|---|
78 | 36 | |
3,332 | 1,723 | |
4.3% | 7.0% | |
9.6 | 8.6 | |
8 days ago | 7 days ago | |
Rust | Rust | |
MIT License | 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.
mirrord
-
The Traffic Police 🚨 - Controlling outgoing traffic with mirrord
Here is a quick start guide link. Want to talk to an actual human? Then hop in our Discord (no chatbots here, I promise). Prefer more asynchronous communication? Open up an issue or a discussion on GitHub. We love feedback, don’t be shy!
So, you've been using mirrord to simplify your development process (if you haven’t, go here!). Naturally, you want the traffic from the app you're debugging to go through the cluster environment, so your app can communicate with its clustery pals. There is a problem though: your latest change adds some new columns to the database, and you don’t want to modify the database in the cluster and affect everyone else working on it. You do have a local instance of the database that you can modify, so your app can use that, but you still want it to talk to all the other components in the cluster. So what now? The new outgoing traffic filter feature is here to solve exactly this type of problem!
-
mirrord VS gefyra - a user suggested alternative
2 projects | 3 Oct 2023
-
Projects to contribute to?
if you are interested in k8s, iptables, hooking libc, asm etc https://github.com/metalbear-co/mirrord
-
What's everyone working on this week (23/2023)?
Finished working on medschool, which is a tool to extract Rust docs into a markdown file. Still very rough around the edges and produces a markdown that is probably only useful for our own project. We want to maybe expand this to be more generally useful later (hoping that there is interest in the community for such a tool).
-
The mirrord IntelliJ plugin now also supports node.js!
Turns out supporting node.js in IntelliJ plugins is not as easy as you would expect (mostly because the extension point we are extending is not documented. With documentation this could have been simple), but we did it! I'm the JetBrains fan of the team, so I'm happy we're extending our support for IntelliJ. You can now run and debug node.js applications with the mirrord IntelliJ plugin. mirrord let's you run your application locally, but with one foot in your kubernetes cluster, and it's open source. This is what it looks like:
-
mirrord on IntelliJ now supports node.js!
In version 3.39.0 of the mirrord plugin for IntelliJ we added support for running and debugging node.js applications from IntelliJ with mirrord. This was quite a challenge as JetBrains' SDK for that is closed source, undocumented, and was recently changed, but at the end we managed to extend our plugin's support to node.js. Here is a gif of what it looks like:
You can read about mirrord on our website or on GitHub, since it's open source.
-
In a gitops world, what does your team do to reduce cycle time for devs?
We use https://github.com/metalbear-co/mirrord to run changes in the context of the cloud environment without actually deploying thus eliminating most of the testing/debugging time
-
Local Development with hot reloading, what does your team do?
I'm biased but we develop https://github.com/metalbear-co/mirrord so you can just run the process locally in the context of the remote cluster - be it a locally kind cluster or a cloud provided one.
taffy
-
Show HN: Dropflow, a CSS layout engine for node or <canvas>
I agree, I think there has to be something compilable to WebAssembly.
A web search shows something that's written in Rust: https://github.com/DioxusLabs/taffy?tab=readme-ov-file#taffy
I maintain a standalone web layout engine[0] (currently implementing Flexbox and CSS Grid) which has no scripting support. WPT layout tests using is a major blocker to us running WPT tests against our library. Yoga (used by React Native) is in a similar position.<p>Do you think the WPT would accept pull requests replacing such tests with equivalent tests that don't use <script> (perhaps using a build script to generate multiple tests instead - or simply writing out the tests longhand)?<p>I could run against only the ref-tests, but if I can't get full coverage then the WPT seems to provide little value over our own test suite.<p>[0]: <a href="https://github.com/DioxusLabs/taffy">https://github.com/DioxusLabs/taffy</a>
-
CSS for Printing to Paper
> Is there any easy to use/hack HTML layouting engine where I could experiment with custom CSS attributes and bridge that gap? Would anything from Servo be suitable?
Servo could be used for this. You'd want to add support for parsing the CSS properties themselves to the style crate in https://github.com/servo/stylo and then the layout implementation to the layout2020 crate in https://github.com/servo/servo. You do effectively get a whole browser though.
I'm currently working on building a lighter weight / hackable layout engine based on a combination of https://github.com/servo/stylo (for css parsing and selector resolution), https://github.com/DioxusLabs/taffy (for box-level layout) and https://github.com/pop-os/cosmic-text (for flow/inline layout). I expect to have something decent in around 6 months
Neither of these setups currently have any support for pagination though.
-
I'm fed up with it, so I'm writing a browser
I maintain a web layout library that is designed to be integrated into other software:
https://github.com/DioxusLabs/taffy
It needs to be combined with a text layout engine (such as https://github.com/pop-os/cosmic-text), and it doesn't support everything yet (notable features that are currently missing: "float", "display: inline-block", "box-sizing: content-box", "position: static"). But we have Block, Flexbox and CSS Grid support with more on the way.
Would you consider using some libraries in your project? There are lots of good ones in the Rust ecosystem, and many of them are not part of any existing browsers.
For example:
- https://github.com/servo/html5ever (HTML parsing - note: this is used in Servo)
- https://github.com/parcel-bundler/lightningcss (CSS parsing)
- https://github.com/DioxusLabs/taffy (web layout)
- https://github.com/pop-os/cosmic-text (text layout and rendering)
Obviously you should be free to work on whatever you like, but just as a benchmark on the scope of your project: I spent ~6 months implementing just the CSS Grid algorithm in Taffy last year. An entire browser from literal scratch is probably a 10 year project for one person.
-
Looking for this. html + css rendering through wgpu.
All of these projects have in common that they use Taffy (the project that I work on!) for box-level layout (which currently gives them block, flexbox, and grid layout) , and are either using or planning to use cosmic-text for text/inline layout. This gives you a decent first approximation of web layout, but it's not perfect and there are major features like float, display: inline-block, position: static, box-sizing: content-box missing. Not to mention that none of these implementations currently resolve CSS selectors, so you are effectively limited to inline styles (if you're interested in something in that direction then you may be interested in https://github.com/vizia/vizia).
If you were to implement this yourself, i'd look into either swash or cosmic-text for the text rendering stack (this is one of the things you really don't want to write from the ground up). For accessibility, AccessKit has quickly become the standard for communicating with crossplatform accessibility APIs in rust GUI. lightningcss (or its lower level counterpart cssparser) are both decent options for CSS parsing. Taffy handles some of what browsers offer for a layout engine, but is still being worked on.
-
Show HN: Slint - A Declarative UI Toolkit Written in Rust for Embedded & Desktop
While there are a lot of Rust UI frameworks, none of them are really recommended for production use yet. I suspect a few of the will die off and work will coalesce a few once things mature a bit.
Another nice feature of the Rust UI ecosystem is that lots of it is being built in a modular way. For example I maintain a layout engine [0] library which just does layout and can be easily integrated by anybody creating a UI library. And there a bunch of similar composable libraries covering rendering, text layout, accessibility, window creation, clipboard access, etc.
-
Conflict-Driven Synthesis for Layout Engines
You might be interested in the combination of Taffy [0] which handles box-level browser layout (block, flexbox, grid, etc) and Cosmic Text [1] which handles text-level layout and basic text editing functionality.
Integrating them into browsers while retaining accessibility could be tricky. But in they're general they're relatively small standalone libraries implementing most of the layout algorithms that browsers implement (although there are currently a few key missing features like laying out "inline-block" items in line with text).
-
Ink: React for interactive command-line apps
I maintain a library (https://github.com/DioxusLabs/taffy) that implements both Flexbox and CSS Grid, and is designed to be easily embedded (similar to Yoga, which Ink is using).
What are some alternatives?
telepresence - Local development against a remote Kubernetes or OpenShift cluster
dioxus - Fullstack GUI library for desktop, web, mobile, and more.
validator - Simple validation for Rust structs
Furiko - Kubernetes cron and batch job platform
stretch - High performance flexbox implementation written in rust
diesel_async - Diesel async connection implementation
pomsky - A new, portable, regular expression language
Cargo - The Rust package manager
bevy - A refreshingly simple data-driven game engine built in Rust
lapce - Lightning-fast and Powerful Code Editor written in Rust
kube - Rust Kubernetes client and controller runtime