0.54.4
Oracle Cloud Infrastructure Designer and Visualisation ToolkitOCI 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
Changes for the current release (0.54.4) are documented here.
Releases
See Releases
Blogs
- 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
Installation
Detailed OKIT Installation steps can be found in the OCI Designer Toolkit Installation Guide.
Runtime Quick Start
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.
Prerequisites
Before building / running OKIT you will need to install Docker / Docker Desktop.
Build Docker Container
docker build --tag okit --no-cache --force-rm https://github.com/oracle/oci-designer-toolkit.git
Create / Generate Connection Information
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
Key File
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.
Get Fingerprint
openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c
OCI Config File
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
GIT Settings File
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[email protected]:username/okit-community-templates.git
[Example Repo]
branch = master
url = [email protected]
[Internal]
branch = BRANCHNAME
url = [email protected]
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
Run Container
Simple
docker run -d --rm -p 80:80 --volume <USER HOME DIR>/.oci:/root/.oci --volume <USER HOME DIR>/.ssh:/root/.ssh --name okit okit
Mount User Templates and Git Directories
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
Usage / Examples
The OKIT User / Usage Guide and worked examples can be found in the OCI Designer Toolkit Usage Guide
Changes
See CHANGELOG.
Known Issues
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.
Contributing
This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide
Security
Please consult the security guide for our responsible security vulnerability disclosure process
License
Copyright (c) 2020, 2023 Oracle and/or its affiliates.
Released under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl/.
If you would like to extend OKIT the development documentation can be found in OCI Designer Toolkit Development Guide