Docker Containers are a de-facto standard for packaging and deploying software in a frictionless way. More & more software is offered pre-packaged ready to launch as containers. Tools like docker-compose and kubernetes started to appear to deal with the non-trivial task of orchestration of containers: which containers need to use from other ones, scalability, replication, etc.
Traditional tooling in this space is full of YAML configuration files. Direct and clean for experienced developers, but tricky and error-prone for beginners or non-initiated with YAML. The bigger the file, the more complex the maintenance is. Also, we, as humans, usually prefer graphical representation of dependencies to identify patterns and understand the general configuration in a quick way.
YAML, as a textual notation, benefits from out-of-the-box editor capabilities like auto-format and auto-complete. At the same time, it does not allow keeping track of references at a quick glance. Can we do better? Somehow offering assistance to users when defining the configuration files while also enabling an easy-to-understand graphical representation?. Enter Orca!
Orca-tool.com represents Metadev’s approach to provide a graphical web editor (following the no-code approach) to provide users a simple tool they can use to visualize and edit docker-compose files.
Orca provides a graphical editor (visual diagram) with the classical palette of components, canvas and a property explorer panel. Therefore, usage is intuitive and straightforward for many users.
The graphical diagram designed for Orca represents containers, volumes, configuration, secrets and networks as nodes. A public element also represented as a node is used to represent ports exposed (entrypoints). On the other hand, container dependencies and usage of volumes, configuration, secrets & networks are represented as directed edges.
The best way to start with Orca is importing a pre-existing docker-compose.yaml file. The tool will import and show a diagram version of it. Layout algorithms are used to try to get a nice presentation, but users can always use drag and drop to place the containers in any other arrangement. An in-place validator will diagnose errors in the current configuration (in early beta) like required properties, data validation, properties exclusion (xor), references & path checking. The export capability converts the diagram back to a docker-compose file ready to be used for deployment.
Orca also provides an Artificial Intelligence Assistant, delegating in ChatGP, who can look for examples of docker-compose files similar to whatever you are looking for and suggest them as a starting point.
No-code for docker compose with Orca
Orca’s no-code approach to the creeation of docker-compose files removes accidental complexity for users in three ways:
- No YAML knowledge needed
- Nothing to install locally, it is just a web application
- Easy approach to test docker-compose with no additional friction
At Metadev, we think in the expressives of Domain Specific Languages & the ubiquity of the Web platform is a killer-combo for reducing entry-barriers for users to adopt new technologies. Non-experts & citizen developers are a growing segment of users demanding for powerful and simple tools as possible.
We plan to continue investing in graphical tooling and DSLs on the web to help our customers in domains like container orchestration, IoT, digital twins, aerospace, smart contacts, & more.