studioqi / jeto Goto Github PK
View Code? Open in Web Editor NEWFlask(python)+ AngularJS application to control multiple vagrant machines on a headless server.
License: Other
Flask(python)+ AngularJS application to control multiple vagrant machines on a headless server.
License: Other
For example, when git ls-remote fails because of "Access denied", the refresh arrow keeps turning when it should display an error message.
The OAuth should be able to limit to multiple domains instead of only one.
Support getting the metadata for an instance from a JSON file in its directory. The file could be named jetofile.json
or simply jeto.json
.
The following properties of a instance could be in this file
Additionally, it would be nice to have the following properties supported and displayed in the UI
The following properties are instance specific and should always be specified when creating an ew instance
destroying an instance doesn't destroy the machines in vsphere
that would permit to use for example the version number in the provisioning
workaround, in the Vagrantfile
require 'json'
jeto_file = File.read('jeto.json')
jeto_infos = JSON.parse(jeto_file)
When creating an instance, the user should be able to upload and/or give the URL of an archive and have the created instance uses the content of that archive as content of its directory.
Not sure if it's doable, but that would be cool if the browser could notify when a provisioning is done.
if a Vagrantfile has two machines, one only beeing created in a specific environment, the status only shows one machine.
worker.py +274:
def status(path, host):
models/vagrant.py +150
When an instance is started from a branch, we could refresh the checkout so we can let the branch live without having to destroy/start new instances.
It won't be possible with tags
Domains should be linked to project, so they can be set from the instance interface (when the instance is up).
A nice interface with an history of all the actions made by each users should be made in the Administrative section.
When saving for a new git_address, the values are not (or poorly) sanitized.
In my a case a < br /> was added at the end, breaking the refresh on the git_references on this project.
When using git to create the project, a "sync" button would be nice. If the instance is created from a branch, it should sync the data with the git server.
Right now live events/console works, but they are binded to a user (via the job id). Events should be bound to instances and, optionally, bound to users. Like this, everyone would be able to see events on each instances going on at all times.
Because two hosts can have the same name, it becomes unclear when you have two hosts with the same name but with different providers.
we can only see 'view instances on host' when selecting the Hosts permission.
Creating a new machine in Jeto is a breeze.
A nifty little feature when in the "Create a new machine" form, would be to add a checkbox next to the "Create" Button that not only creates the machine, but takes me to the next screen and starts the vagrant up / provision process.
Either a checkbox, or a second button "Create & Start". UX skills anyone?
When visiting an instance page, the loader is displayed for ever without any other kind of feedback.
If I open the the JavaScript console, I can that a request to /api/instance/{id}
failed with a 502 error. But the UI does not provide any feedback. Please add error handling to at least let the user known when something went wrong without requiring her to work with an open JavaScript console.
it could be usefull to have a 'destroy' button, so we could recreate the whole instance without having to remove it and configure a new one.
I'd like an option to proxy websockets please :)
We should be able to set aliases to domains.
Those aliases would be sent to nginx-api.
Jeto should be able to generate a Token for a specific user. Using this token the user should be able to make request to Jeto like in the interface.
When we go back from viewing an instance details, the filters are reset.
It might make things easier if the filters were still applied
for now they are not deleted
The endpoint could be something like : https://jeto.local/api/project//instances
Parameters could also be passed on : https://jeto.local/api/project/<project name/instances?git_ref=v0.134
An array should be always returned. In case a git_ref refers to multiple vagrant instances.
Certain domains should not be editable by everybody. Proper ACL should also be set there.
if the host beeing proxied has https setup, the proxy still uses http:
upstream myupstream {
server 10.0.3.111:443;
}
server {
listen 443;
...
location / {
proxy_pass http://myupstream
}
...
}
which gives "The plain HTTP request was sent to HTTPS port"
When using external provider like vmware or amazon, a vagrant up can take up to ten minutes (and the provision didnt run yet). We need to raise the timeout.
After doing an edit on the params of a host, the params gets saved with
,
We should be able to upload custom ssl keys and certificate on a domain controller.
it would be interesting to be able to see the date of the commit used to start the instance
So people can use an upstream in case the other dies or test a specific upstream for a specific bug.
when doing a wget without authentication, I get this in the logs
AttributeError: 'AnonymousUserMixin' object has no attribute 'has_permission'
and
ERROR 502: Bad Gateway.
it should maybe say something about beeing unauthorized?
The licence should not be CC3. It should be either Apachev2 (http://choosealicense.com/licenses/apache-2.0/) or GPL3 (http://choosealicense.com/licenses/gpl-3.0/) or GPL3 Affero (http://www.gnu.org/licenses/agpl-3.0.html).
An interface should be available to make the project migration (from direct-path to git) easier.
Please provide a documentation of Jeto's (or it components') public REST APIs (ie. those usable by external applications to automate deployment).
Add support for executing pre-defined, named scripts inside an instance, fron the UI. This is not to be used for provisioning (ie. provisioning of he instance should be done using Vagrant provisioning), but rather for scripts that an administrator may want to run manually on a machine. The script could be run using the vagrant ssh -c "$SCRIPT"
.
For instance, being able to run the following kind of scripts from the UI would be nice:
Scripts could be specified per-instance. Either from the UI, or using a JSON file (see #8). With the later being able to have something like the following in a JSON would be great:
{
...
"scripts": {
"database-dump": "/vagrant/src/scripts/dbdump.sh"
"database-cleanup": "cd /vagrant/src/cleanup && npm start"
}
...
}
a button to lock an instance in the state it is, so nobody but me can act on it, or at least other users would have to unlock the machine on purpose.
for example:
I start a machine that will be the production DB, I would like to make sure it is not destroyed by mistake. I could lock the machine, so if someone wants to destroy it, they would have to go into the instance details, unlock and delete. This would ensure this precious instance would not have been deleted by inadvertently clicking "destroy" + "yes" without looking at the machine's name.
else there are some merge issues with '<<<<' in the updated files
It should be possible to read logs of previous provisioning activity, when accessing the instance screen
in the instances page, clicking on 'create a new machine' doesn't take the focus off the button, pressing space then opens more modals over the current one.
in the loop models/vagrant.py:194 item is sometimes empty so -1 gives an 'index out of range'
maybe item[-1:] could work
for result in results:
result = result.replace('\', ' ')
if ',' in result and len(item) > 0:
formatted.append(item)
item = []
if ',' in result:
try:
item = result.split(',')
item[-1] = item[-1].replace('%!(VAGRANT_COMMA)', ',')
formatted.append(item)
except:
app.logger.debug("INDEX OOR: exception {}".format(item))
else:
try:
result = result.replace('%!(VAGRANT_COMMA)', ',')
item[-1] = item[-1] + result
except:
app.logger.debug("INDEX OOR: exception{}".format(item))
In addition to not letting the user known something went wrong (see #52), error in vagrant worker are not forwarded to the client, so the user has not way of knowing if she did something wrong or if there is a bug in Jeto, which make usage of Jeto quite uncomfortable.
just maybe an option to change the background, it could be practical for example to be able to quickly differentiate a testing Jeto instance from the actual production Jeto instance, and not delete instances by mistake.
Currently there is no verification if the plugin for the provider is installed. The application should at least give a warning if the provider is not installed.
Or : the application could give a list of provider already defined/installed on the vagrant-worker machine.
I would love a button to start/stop/provision all the machines in a single vagrant instance.
You know, right next to the destroy.
Make the log/console window taller, or at least realizable. When launching a machine with provisioning, the console is uncomfortable to use because it only display about 6 lines of text.
Niceties:
We should be able to launch a full jeto instance with all apis on either heroku or amazon ec2. From a single button.
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.