Usually, we spend time drawing our architecture in Visio or draw.io to visualize everything or present it to other concerned parties, then we either start developing Terraform scripts for our infrastructure or just create the resources manually using the UI. This can take a lot of our precious time.
What if I tell you there’s a tool that would let you draw your architecture, so you can visualize it and present it to others, but also generate the Terraform scripts for you? You would then be able to design and deploy your infrastructure in a matter of minutes.
Let’s talk about OCI Designer and Visualisation Toolkit, or simply OKIT.
What is OKIT anyway?
The OCI Designer and Visualisation Toolkit (OKIT) is an Open Source browser-based tool that you can run anywhere you want and provides a fast approach to designing & deploying OCI based Infrastructure using Drag-and-Drop functionality.
Basically, you can drag-and-drop OCI Services like VCN, Compute VMs, and others to the canvas, fill in the properties like you would do in the OCI Console, and in the end, you can export your Architecture as a diagram picture (SVG, PNG or JPEG), as Terraform scripts so you can deploy it to OCI and the Markdown Documentation.
- Draw & Deploy
- You can easily “draw” your architecture using drag-and-drop
- Once your architecture design is ready, just export it as Terraform scripts and deploy it to OCI
- Transform manually created architecture in OCI to Terraform scripts
- You can query a compartment in your existing OCI account and OKIT will “draw” your architecture and generate the Terraform scripts
- Use already made templates
- You can easily use provided templates so you don’t have to start from scratch
- You can also create and save your own templates so you can reuse them
- Automatically deploy your architecture to OCI using Resource Manager
- You can deploy your architecture directly from OKIT to your OCI tenancy via OCI Resource Manager
- This will automatically create a stack in OCI with the Terraform configuration
- Generate a cost estimation for your architecture
- You can instantly have an idea of how much it would cost to run in OCI
- Other Features
- Integrate with GIT
- Generate the documentation using Export Markdown
- Export image of your architecture (SVG, png, jpeg)
- Validate your architecture
How to setup
Running OKIT should be very simple, there is a Docker image that you can download and run wherever you’d like.
I recommend following the installation guide on OKIT GitHub Repo.
- When setting up the OCI Config file and the necessary files, you must have the right permissions on the config file and the API private key. You can use OCI CLI to make sure they are correct:
oci setup repair-file-permissions --file /home/opc/.oci/config oci setup repair-file-permissions --file /home/opc/.oci/oci_api_key.pem
- When running the Docker container, if you want to be able to Query or Deploy directly to your OCI tenancy, you must have the oci config files mounted. So make sure you mount your .oci folder to the container:
docker run -d --rm -p 443:443 -p 80:80 \ --name okit \ --hostname okit \ --volume /home/opc/okit-templates:/okit/templates \ --volume /home/opc/.oci:/root/.oci \ okit
Just be aware that if you use OKIT for a big project, it will be really really hard to maintain once in production. Use it only for PoCs