GithubHelp home page GithubHelp logo

hassanfarid / environment-on-demand Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.73 MB

Environment On Demand, using docker containerization

License: GNU General Public License v3.0

JavaScript 1.53% TypeScript 11.64% HTML 2.85% CSS 0.07% SCSS 40.55% Dockerfile 0.22% Shell 1.45% Python 41.70%

environment-on-demand's Introduction

environment-on-demand

Environment On Demand, using docker containerization. Small self-service web application to setup containers on demand by non-technical users.

Features

Basic

  • User authentication
  • List of available images
  • Select and launch image name
  • Stop / Remove container for loggedin user
  • Monitor stack for "environment-on-demand"
  • Deploy CI / CD strategy

Advanced

  • Admin panel for configurations
    • Add / remove container images available
    • Default environment settings for container images
      • Volumes / Network / CPU / RAM
    • System limit for running resources
    • White/Black list for user access to container images
  • Admin panel for user management
    • Add/ remove users
  • Allow user login via LDAP / KeyCloak

Implementation Approach

Backend - Python (Flask)

  • Open specification API
  • No authentication (will be covered by gateway later on)
  • provision for users
  • provision for workspace
  • Environment Images
    • CRUD
    • status check on server
  • Runs (container launch)
    • CRUD
    • status check on active runs
    • History of old runs

Backend Store - MongoDB

  • Collections
    • environment
    • runs

Scheduler

  • Using Ofelia
  • schedule call to backend
    • check status for existing runs
    • check status for available images
  • schedule least-recently-used images by retention policy
    • do we really need this?
    • using Docuum

environment-on-demand's People

Contributors

hassanfarid avatar

Watchers

 avatar James Cloos avatar

environment-on-demand's Issues

Assignment Spec for review

Hi Hassan,

Please find a detailed design specification google document on the link and feel free to comment on it if there is anything missing.
Note: This document covers only basic features set for now.

Thanks

Kubernetes 1.0 and user management

Dear Hassan,

I was going through the feature set of the assignment where I have to create a basic UI where a user can interact and create/stop services.
Meanwhile I was going through features set introduced in kubernetes 1.1.0. It already provides us with User accounts management and service accounts management. It pretty much covers most of the requirement mentioned in the assignment.
My question is, if there is already something exist in the community then why we reinvent the wheel? Can I deploy kubernetes and create services on top of it? Or do I must have to do as we discussed?

Please reply to this query. Thanks

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.