Skip to content

OCI designer toolKIT (OKIT) is a set of tools for enabling design, deploy and visualise OCI environments through a graphical web based interface.

License

Notifications You must be signed in to change notification settings

deeptimavilla/oci-designer-toolkit

 
 

Repository files navigation

Oracle Cloud Infrastructure Designer and Visualisation Toolkit 0.13.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.

  • Design

    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
  • Generate

    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.

    • Ansible
    • Terraform
    • OCI Resource Manager

    This allows for rapid proto-typing and building.

  • Introspect

    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.

Installation

Detailed OKIT Installation steps can be found in the OCI Designer Toolkit Installation Guide.

Note:

- OKIT is designed to be installed as a local single user container and it is recommended that you 
- do NOT install OKIT on an OCI Instance. Installing on an OCI Instance will leave you OCI Tenancy 
- open to anyone who can find the IP address. If you do decide to install on an OCI Instance the 
- OCI Designer Toolkit Installation Guide will give some recommendations for securing your Instance.

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 --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
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

Run Container

docker run -d --rm -p 80:80 --volume <USER HOME DIR>/okit/user/templates:/okit/templates --volume <USER HOME DIR>/.oci:/root/.oci --name okit okit

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

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

About

OCI designer toolKIT (OKIT) is a set of tools for enabling design, deploy and visualise OCI environments through a graphical web based interface.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 62.7%
  • Python 23.2%
  • HTML 11.8%
  • CSS 1.5%
  • Shell 0.4%
  • Dockerfile 0.3%
  • PowerShell 0.1%