An idea :bulb: to interactively create and edit recipes in the browser.
DevOps has helped in collaboration among all roles involved in the development and maintenance of software.
However, creating the automation (e.g. creating cookbook/recipes) can be a tiring process as it may involve memorizing the syntax/language, etc., or at the very least a documentation search, if not memorizing.
Thus, introducing KitchenUI an interactive recipe builder that would help the DevOps engineers to speed up the cooking the recipes for Chef Inspec, Automate, etc.
How can it help? ⛑️
Kitchen UI is an app to create and edit recipes/cookbooks interactively in the browser. It has suggestive typing and autocomplete selection to speed up the automation process.
It is a browser-based app, thus, it can leverage all the potential of cross-platform applications. Some of them are:
- It can be run on a remote system and can be accessed via port forwarding to prevent direct access to the system.
- It can be run across various devices (like phones/pcs/tablets) as well as across platforms (like Android 📱 , Windows 🪟 , Mac 💻 , Linux :heart:).
- Unified development process for all devices.
How we built it 🔧
Kitchen UI uses data services to fetch suggestions for the resources that can be added to the recipe. It filters out the already selected attributes to provide a better user experience.
After the user 👨🍳 👩🍳 selects a resource type, KitcheUi prompts to add attributes to the resource. In addition, the resource is displayed as a block in the recipe.
Node.js runs an express app as a server that listens for directory/file changes and responds to fetching/saving file requests, it also handles the responsibility to run the KitchenUI in the browser.
KitchenUI also has an inline code editor armored with ruby plugins and autocomplete suggestions that can be activated using the show code button.
The user can apply/test the Automation/Inspec to the required nodes.
Challenges we ran into
Being new to Angular and DevOps, which led to the protype building to be slow.
Accomplishments that we're proud of
Getting started with DevOps, chef was very exciting and it's the best accomplishment that I am proud of 😃. Understanding the current pandemic scenario and helping for its betterment is one of the things I am proud of
What we learned
It was an awesome experience learning about DevOps and especially chef.
What's next for KitchenUI ⏭️
Other important features that I would enjoy adding are:
- Parsing of recipe files into blocks to allow interactive editing.
- Allow file operations (rename/delete) in the browser.
Hope you enjoyed the project 😃.
A sincere thanks to Chef and Devpost for creating an opportunity to learn DevOps through the Hackathon.
Have a beautiful day 😊.