Before building your OCI Infrastructure you will need to spend time designing and visualising your architecture. This can be done using a variety of tools, Microsoft Visio and Draw.io to name a few, but these are only diagrams useful for discussing the architecture missing key information that would allow you to translate the design into a working solution. To address these huge shortcomings of traditional design tools we decided to build OKIT.
The OCI Designer Toolkit (OKIT) is a, standalone / offline, OpenSource browser-based Drag-n-Drop design tool for OCI providing rapid design and prototyping of OCI based infrastructure. Once the design is complete Terraform / Ansible scripts can be generated that can then be executed to build what has been designed.
OKIT provides a simple, context-aware, minimalistic interface with 3 distinct areas.
On the left of the screen is a slide-out palette displaying all the currently implemented OCI artefacts. These are logically grouped into functionality. Moving the cursor over the icon will cause a short description / tooltip to be displayed. Clicking the icon will allow you to drag it onto the canvas.
Central to the screen is the canvas where the infrastructure diagrams will be built. When initially open or New canvas selected it will display just a top level compartment.
On the right of the screen we have a slide-out panel that will allow editing of the properties associated with the selected artefact.
OCI Infrastructures can quickly be built by dragging and dropping the artefacts from the palette onto the appropriate canvas element (OKIT will only allow drop on relevant container artefacts) automatically laying out the diagram in an ordered manner. This allows Infrastructures to be designed and modified on the fly without the need to connect to an OCI environment.
Once the graphical design is complete we can move on to providing key property information that will be used during the generation of Terraform / Ansible scripts.
Each artefact on the canvas has a set of properties, that are required to build them within OCI. Clicking on an artefact will allow the user to edit those through the slide-out properties panel. Once open we can see that the user has access to the, required, properties that are available when creating the artefact within the OCI Console or through the Terraform / Ansible APIs.
Having edited the properties for all artefacts Terraform / Ansible script can be generated by simply selecting the appropriate menu item which will return a zip file containing the code script.
Extracting the zip will provide the user with a number of script files that can be execute using normal Terraform / Ansible commands to build the designed infrastructure in you specified OCI Region / Compartment.
OKIT is provided as an OpenSource project residing in the Oracle GitHub project oci-designer-toolkit.
Full installation guides can be found Installation Guide.
The OKIT User Guid and Examples can be bound at User Guide.