Coder Social home page Coder Social logo

bridgecrew-perf7 / arrowhead-gui-deployment Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexmedela/arrowhead-gui-deployment

0.0 0.0 0.0 121.51 MB

License: Eclipse Public License 2.0

Shell 5.74% Python 80.84% HCL 10.50% Dockerfile 2.92%

arrowhead-gui-deployment's Introduction

Arrowhead GUI Deployment

Operative-system python-version kubernetes-version Terraform-version kubectl-version Terraform-version

This repository contains a Graphical User Interface that automates the deployment of the Arrowhead Framework. By using this GUI you will be able to easily deploy the Arrowhead Framework on a Kubernetes cluster just following some instructions.

The GUI offers the next options:

  • Which optional services to deploy
  • How many replicas of each service to deploy
  • Use a simple database or a database cluster (feature to add own db will be implemented in the future)
  • Create a new Kubernetes cluster on the cloud, in case you don't have one (On Microsoft Azure or Google Cloud)

This few options allows you to modify the deployment architecture so it can fit for your own use case.

Dependencies

Before trying to use the GUI you will need to fill the next requirements:

  • The operative system must be MacOS or Linux
  • Python 3.8 or higher with pillow package installed (recommended to use a virtual environment)
  • Kubectl 1.21 or higher (Installation link)
  • Terraform 1.1 or higher, only if you need to create a new cluster (Installation link)
  • Helm 3.7 or higher, only if you want to deploy the db cluster (Installation link)
  • The kubernetes cluster must be 1.20 or lower

Running the GUI

To use the GUI you only need to run the application.py file. You can do so by running the next command on the root directoty of the repository:

python application.py

Now that you have the GUI running just follow the instructions.

Running the docker test network

This repository contains a docker-compose file with all the containers used for the deployment. So if you want to run the arrowhead framework on docker to test it you can run the docker compose file on docker/0_docker_compose_test. If you want to make any changes to the configuration you can alse check the files on the folder docker/0_docker_compose_test/core_system_config.

You can also find the Dockerfiles used to create the images on the docker folder.

Running the k8s resources

In case you want to deploy the cluster manually or make any changes you can use the kubernetes resources defined in the kubernetes/ folder.

And if you don't know how to use those resources you can also use the scripts found in the scripts/ folder. In this folder you will find different scripts to deploy individualy each resource.

On the other hand, the scripts to create the clusters on Azure and GCloud won't work.

Creating cloud k8s clusters manually

In the case you want to create the cluster you will need to go to the corresponding folder depending if you want to deploy it on Azure (terraform/azure_terraform) or Gcloud (terraform/google_terraform). Inside this folders you will need to run the following commands:

terraform init
terraform apply -auto-aprove

After the second command you will be asked for the credentials and it will start creating the cluster.

Additional information

Additional information can be found in the docs folder.

Author

arrowhead-gui-deployment's People

Contributors

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