Oracle Cloud Infrastructure Designer and Visualisation Toolkit 0.37.0
OCI designer and visualisation toolKIT (OKIT) is a browser based tool that allows the user to design, deploy and visualise (introspect/query) OCI environments through a graphical web based interface.
-
The Web based interface will allow architects and designers to build a visual representation of their infrastructure and then export this in a number of formats.
- svg
- png
- jpeg
-
Once completed the design can be enhanced to add key property information allowing the designed infrastructure to be exported to a number of DevOps frameworks or Markdown for documentation.
- Ansible
- Terraform
- OCI Resource Manager
- Markdown
This allows for rapid proto-typing and building.
-
OKIT will also allow the user to introspect existing OCI environments, through simple query functionality embedded within the web interface, to provide a portable generic json file, that can be used to visualise existing systems or generate terraform/ansible.
Changes for the current release (0.37.0) are documented here.
See Releases
- Introduction to OKIT the OCI Designer Toolkit
- The OCI Designer Toolkit Templates Feature
- The OCI Designer Toolkit Query Feature
- OCI Designer Toolkit Resource Manager Integration
- The OCI Designer Toolkit Documentation Generation
Detailed OKIT Installation steps can be found in the OCI Designer Toolkit Installation Guide.
Docker is the recommended runtime container for OKIT. The project contains a top-level Dockerfile to facilitate direct building, of the runtime environment, from the docker command line.
Before building / running OKIT you will need to install Docker / Docker Desktop.
docker build --tag okit --no-cache --force-rm https://github.com/oracle/oci-designer-toolkit.git
If you already have the OCI sdk/cli installed on you machine you can use the previously generated pem key and config file we will assume that this exists in <USER HOME DIR>/.oci
If you do not have a previously generated private key you will need to create a private/public key pair for use with OKIT and OCI. These keys can be generated using the following commands as defined in Required Keys and OCIDs.
openssl genrsa -out <USER HOME DIR>/.oci/oci_api_key.pem 2048
openssl rsa -pubout -in <USER HOME DIR>/.oci/oci_api_key.pem -out <USER HOME DIR>/.oci/oci_api_key_public.pem
Upload the generated oci_api_key_public.pem to OCI through the console and record the associated fingerprint following upload.
openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c
Create the OCI cli config file in the directory <USER HOME DIR>/.oci with contents similar to that below. The key_file is a fixed value because the contents of the <USER HOME DIR>/.oci will be mounted to the appropriate users home directory, as ~/.oci, during the run process.
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaak6z......
fingerprint=3b:7e:37:ec:a0:86:1....
key_file=~/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaawpqblfem........
region=us-phoenix-1
If Git integration is required you will need to create a git_repositories file within the directory <USER HOME DIR>/.oci with contents similar to that below.
[OKIT Community Templates]
branch=main
url=git@github.com:username/okit-community-templates.git
[Example Repo]
branch = master
url = git@url1.git
[Internal]
branch = BRANCHNAME
url = git@url2.git
This properties file contains a list of the Git repositories you want to access. It assumes that you are using public/private key access, the key files exist within your <USER HOME DIR>/.ssh directory and the <USER HOME DIR>/.ssh/config defines the key/url mapping, similar to the following.
Host github.com
IdentityFile ~/.ssh/id_rsa_github
docker run -d --rm -p 80:80 --volume <USER HOME DIR>/.oci:/root/.oci --volume <USER HOME DIR>/.ssh:/root/.ssh --name okit okit
docker run -d --rm -p 80:80 --volume <USER HOME DIR>/.oci:/root/.oci --volume <USER HOME DIR>/.ssh:/root/.ssh --volume <PATH TO USER TEMPLATES DIR>:/okit/instance/templates/user --volume <PATH TO GIT DIR>:/okit/instance/git --volume <PATH TO LOCAL DIR>:/okit/instance/local --name okit okit
Note: Occasionally Docker Container may have clock drift and this can cause authentication issues this can be resolved by executing.
docker run --rm --privileged okit hwclock -s
Once started the Designer BUI can be accessed on http://localhost/okit/designer
The OKIT User / Usage Guide and worked examples can be found in the OCI Designer Toolkit Usage Guide
See CHANGELOG.
You can find information on any known issues with OKIT here and under the Issues tab of this project's GitHub repository. Any issues found with the tool should be raised on the projects issues page. Please check that the issue has not previously been reported.
OCI Designer Toolkit is an open source project. See CONTRIBUTING for details.
If you would like to extend OKIT the development documentation can be found in OCI Designer Toolkit Development Guide