Giter Site home page Giter Site logo

nosqlguy / oci-designer-toolkit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oracle/oci-designer-toolkit

0.0 0.0 0.0 12.97 MB

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

License: Universal Permissive License v1.0

Shell 0.29% Dockerfile 0.33% Python 26.14% JavaScript 58.32% CSS 1.28% HTML 6.15% PowerShell 0.09% Jinja 7.41%

oci-designer-toolkit's Introduction

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

    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.

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

    Note:

+ The 0.18.0 release introduces a new implementation of the Introspection/Query feature  
+ that improves performance on large queries. The use can return to the classic query 
+ functionality by unchecking Fast Discovery in the preferences.

Blogs

Installation

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

Note: For instructions on installing OKIT on an OCI Instance follow the instructions within the 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 --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

docker run -d --rm -p 80:80 --volume <USER HOME DIR>/okit/user/templates:/okit/templates --volume <USER HOME DIR>/.oci:/root/.oci --volume <USER HOME DIR>/.ssh:/root/.ssh --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

oci-designer-toolkit's People

Contributors

cdustman avatar deeptimavillapally avatar dumians avatar lucianf avatar oheimburger avatar orajhan-zz avatar scross01 avatar stefanhinker avatar toxophilist avatar webfrasse avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.