Have you ever faced the struggle of configuring your development environment just to build upon someone else’s work or jump into an open-source project? The complexity can be overwhelming! But fear not! Kurtosis swoops in to save the day by handling the intricacies of spinning up ephemeral development or test stacks, allowing you to focus on what truly matters—developing!
What Is Kurtosis?
At its core, Kurtosis provides a robust toolkit that equips developers with:
- A packaging system designed for distributing backend stack definitions that can run on Docker or Kubernetes.
- A runtime featuring a per-stack file management system for reproducibly initializing stack states.
- A collection of tools enabling developers to seamlessly interact with their stacks just like they do on Docker or Kubernetes.
Why Use Kurtosis?
Kurtosis is ideal for:
- Reusing logic in stack definitions across local development, CI scheduling, and larger-scale testing on Kubernetes clusters.
- Allowing other developers to effortlessly spin up your application—and its variations—with simplicity through one-liner commands.
- Handling intricate setup logic in your backend stacks, including the ability to pass arbitrary data between services and enforce custom waiting conditions.
How Is Kurtosis Different from Docker Compose or Helm?
Kurtosis operates at a higher abstraction level compared to Docker Compose or Helm, generating stacks running on either engine—Docker or Kubernetes. This additional layer introduces several key enhancements:
- A per-stack file management system facilitating portable stack state initialization.
- Flexible stack-level parameterization that goes beyond simple environment variable modifications.
- Optimized plug-and-play composability, allowing users to import stack definitions into larger stacks.
- The ability to run your stacks on your choice of Docker or Kubernetes.
How to Get Started with Kurtosis
Ready to dive into Kurtosis? Follow these simple steps:
- Install Kurtosis by following the instructions here.
- Run the Redis voting app Kurtosis package with this command:
- Finally, open the HTTP link printed in the last line of the terminal in your browser to see it in action!
bash kurtosis run github.com/kurtosis-tech/awesome-kurtosis/redis-voting-app
Troubleshooting Tips
If you encounter issues along the way, here are some tips to help you troubleshoot:
- Ensure Docker is installed and running properly by checking its version.
- Verify that the Kurtosis Engine is up and running by executing
kurtosis engine status
. - Have questions or run into a snag? Don’t hesitate to share your thoughts on the GitHub Discussions Forum or ask for help on our Discord server.
- For deeper technical support or feature requests, feel free to message us on Twitter.
For further insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Building and Running Your Application
Once you are set up and ready to build your application, Kurtosis simplifies the process:
- To build everything at once, run:
bash .scripts/build.sh
bash .path/to/your/project/script/build.sh
go test ./...
Conclusion
Kurtosis provides a powerful solution for managing development stacks, cutting through the complexity and enabling developers to focus on building applications rather than getting bogged down in setup. Whether you’re a seasoned developer or just getting started, take advantage of Kurtosis to boost your productivity!
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.