DEV Community

Cover image for Mashin: Leveraging Rust, TypeScript, and Deno in Infrastructure as Code
david
david

Posted on

Mashin: Leveraging Rust, TypeScript, and Deno in Infrastructure as Code

Hello Dev.to Community!

I'm David Lemarier, a seasoned software developer and an active board member of Tauri, a Rust project. I've led multiple projects in the past and recently embarked on a new journey with my startup, Nutshimit.

Today, I'm thrilled to share a sneak peek of a project I've been working on for the past few months - Mashin.

Mashin is an Infrastructure as Code (IaC) platform, but with a twist. Instead of reinventing the wheel and creating a new language for infrastructure definitions, we've chosen to leverage TypeScript. It not only simplifies the development process with auto-completion and in-code documentation (JSDoc), but it also makes our platform more intuitive and accessible to developers.

Our tool doesn't depend on other runtimes like Node.js; instead, everything is shipped within a single binary that includes the V8 runtime. With this approach, we've brought the convenience of JavaScript to infrastructure management. You can perform tasks like reading external JSON or creating your own config system, all while benefiting from a powerful, isolated V8 runtime environment.

The unique part is that our providers, the plugins that manage the lifecycle of resources, are built in Rust and interact with the runtime via FFI. This high-performance Rust-based engine ensures efficiency and speed.

We're still in the pre-alpha stage, but we're excited about the possibilities this project holds.

I've written a detailed blog post about Mashin and would love to hear your thoughts and feedback:

https://blog.mashin.land/introducing-mashin-c8ee59fa8886

This project is open-source and we're eager to collaborate with the community. If you're interested, you can get involved in different ways outlined in our documentation: https://docs.mashin.land/docs/engage

Looking forward to hearing your thoughts and suggestions!

Top comments (0)