inakianduaga / cloud-development Goto Github PK
View Code? Open in Web Editor NEWTools to setup a dockerized multi-user environment to edit/preview server-based applications
License: MIT License
Tools to setup a dockerized multi-user environment to edit/preview server-based applications
License: MIT License
We need to be able to override the certs on container run time.
Finish script to dynamically populate hosts file based on user ids list
Move all the config related functions to a single bash script that we can source from anywhere else so we can query the config easily
We need to be able to append the extra config to the frontend proxy command, so need to provide extra docker command param just as the usual editor/webserver containers
Config / logic could be greatly simplified by leveraging docker compose, and using linking between containers, since most of the logic would be taken care of by docker-compose.
Right now, changes to the user config can only take effect by restarting the entire sandbox environment, which is not ideal. We need a method to relaunch the main docker container (excluding the auth container), without killing the frontend cloud proxy. Since the docker container names are linked to users by convention this should be relatively straightforward
upstart/launch_containers
logic to see how containers get launched for each of the users. The methods launchWebserver
&& launchAuthentication
are useful. The current loop logic could be extracted out to a per user method, then the logic is not duplicate and we can reuse the method for individual relaunching. We also need a stop method to stop the previous containers.We need to be able to add config blocks on top of the standard cloud-development rules, such as load balancer health check responses, etc.
/etc/nginx/extra
on runtime and include that folder inside the nginx configThere is some problem with the webserver not being readable
with fallback to localhost if BASE_HOSTNAME is not provided
We append cloud-webserver-
to all images on build but also on deploy. This breaks being able to deploy from external docker images, so we need to remove them, it's unnecessary since it can be added into each of the user's configs anyways.
Finish script to launch all containers for all users based on configuration
Idea is to have github-repo.ISSUE/tag
Folders:
<PR_NUMBER>
that will be substituted in the scriptUser:
Need to create/remove the new user list based on the github repo/issue and map to the correct folders.
cloud-frontend-proxy
from within the server, and it should work since the configuration will be rebuilt using the list of users.Update: Easier for now
Otherwise for now we can use the cloudDevelopment stop/start service for reinitializing the whole stack
Instead of hardcoding 8080 as the starting port for automatic deployment, make it customizable thorugh the config.
http://askubuntu.com/questions/518048/upstart-multiple-parameters
for handling dynamic upstart script
Plus add git ssh key functionality to the cloudbox so users can use git within cloudbox.
We need methods to easily modify the configuration programatically. The current getters are
getUserWebserver
getUserWebserverPort
getUserWebserverVolume
getUserWebserverDockerCMDExtras
so we need
all methods take the as first parameter and as second
Please add some screenshots of codeboxIDE to get a better idea what this is about.
https://github.com/InstantWebP2P/peer-vnc
http://kanaka.github.io/noVNC/noVNC/vnc.html
Instead of running a native cloud editor, we might be able to get away for simple editing to use a vnc based application
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.