tsuru / tsuru Goto Github PK
View Code? Open in Web Editor NEWOpen source and extensible Platform as a Service (PaaS).
Home Page: https://tsuru.io
License: BSD 3-Clause "New" or "Revised" License
Open source and extensible Platform as a Service (PaaS).
Home Page: https://tsuru.io
License: BSD 3-Clause "New" or "Revised" License
Um Makefile/Rakefile para o projeto.
It should write the content only once, in case the user runs it more then once.
./main login [email protected]
Password:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x10 pc=0x1c676]
goroutine 1 [running]:
github.com/timeredbull/tsuru/cmd.(*Client).Do(0xf84008b388, 0xf84009b000, 0x0, 0x0, 0x0, ...)
/Users/f/gocode/src/github.com/timeredbull/tsuru/cmd/client.go:28 +0xf2
github.com/timeredbull/tsuru/cmd.(*Login).Run(0xf84008b348, 0xf8400788c0, 0xf840071c90, 0xf84008b388, 0x0, ...)
/var/folders/cb/8tl48y251cb56sfkfnj7gvmh0000gq/T/go-build687700959/github.com/timeredbull/tsuru/cmd/_obj/auth.cgo1.go:122 +0x2fd
github.com/timeredbull/tsuru/cmd.(*Manager).Run(0xf840078500, 0xf840077bf0, 0x100000001, 0xf84008b378)
/Users/f/gocode/src/github.com/timeredbull/tsuru/cmd/cmd.go:46 +0x484
main.main()
/Users/f/gocode/src/github.com/timeredbull/tsuru/cmd/main.go:22 +0x36c
goroutine 2 [syscall]:
created by runtime.main
/Users/f/lib/go/src/pkg/runtime/proc.c:221
Here is the broken code: https://github.com/timeredbull/tsuru/blob/master/cmd/client.go#L27
In Go, a _
is a code smell :)
When a user is in two teams and he/she creates an app, tsuru should add a writable option in both teams, but it only created it to the last added team.
It also happens when adding a key.
user create
and login
commands display the password in plain-text mode. We should hide this:
How is it today:
% glb user create [email protected] 123
How it should be:
% glb user create [email protected]
Password:
User created
The password should not appear, as in shell login.
The tests in gitosis package are intermitent, because of the agent. The agent concurrently writes to gitosis.conf and commits and pushes to the repository, and there is a race.
Before any action, I prefer to enumerate the possible actions:
I prefer the third option, but I'm not sure yet how to do this.
it should be possible see the information of an app. Like name, state, ip and teams.
It should be possible remove a team via command line:
$ glb team remove teamname
Team "teamname" remove with success!
the user should be able to run a command locally in the app unit.
Tsuru is always expecting a happy ending, but if something goes wrong, it simply ignores the error and returns success to the end user. We should fix this.
When the command juju deploy
goes wrong, is not possible to see it in tsuru's log. It should be.
For example, if the team timeredbull
has access to the app powerfulapp
, and the user fsouza
is added to the team timeredbull
, fsouza
should see powerfulapp
with tsuru app list
, but it does not.
That happens because teams are embedded in the apps collections, but it should only reference.
It's in CloneRepositoryHandler
Should have a command to export (write in /etc/profile) and retrieve environment variables in app/service's units.
Maybe a bulk export would also be good, something like pass a file to env-set
.
It should be possible bind an app with a service via command line
It should be possible unbind an app with a service via command line
It should be possible create a service instance via command line
This handler only return success or the error's code, should return the git clone
's output, this way the user can have a better understanding of what is really happening.
it should be possible to change the default target via the command line:
% glb target
tsuru.plataformas.glb.com
% glb target my.server.me
% glb target
my.server.me
The target can be stored in the $HOME/.tsuru_target file (as in CloudFoundry).
It should be possible to list all services for a user
% tsuru env something-that-does-not-exist
panic: interface conversion: *cmd.Env is not cmd.Command: missing method Run
goroutine 1 [running]:
github.com/timeredbull/tsuru/cmd.(*Manager).Run(0xf84009c640, 0xf840077020, 0x100000001, 0xf84008b008)
/Users/f/gocode/src/github.com/timeredbull/tsuru/cmd/cmd.go:47 +0x43f
main.main()
/Users/f/gocode/src/github.com/timeredbull/tsuru/cmd/main.go:23 +0x34d
goroutine 2 [syscall]:
created by runtime.main
/Users/f/lib/go/src/pkg/runtime/proc.c:221
goroutine 3 [chan receive]:
github.com/timeredbull/tsuru/api/app.collectEnvVars()
/Users/f/gocode/src/github.com/timeredbull/tsuru/api/app/env.go:120 +0x43
created by github.com/timeredbull/tsuru/api/app.init·1
/Users/f/gocode/src/github.com/timeredbull/tsuru/api/app/env.go:42 +0x1f
goroutine 4 [chan receive]:
github.com/timeredbull/tsuru/api/app.runCommands()
/Users/f/gocode/src/github.com/timeredbull/tsuru/api/app/env.go:47 +0x4c
created by github.com/timeredbull/tsuru/api/app.init·1
/Users/f/gocode/src/github.com/timeredbull/tsuru/api/app/env.go:43 +0x2d
We need a rest api that responds to to cloudfoundry's api.
Tsuru be more flexible after deploying an app, sometimes the user only needs a reload, sometimes, he/she needs a restart.
We should provide a way to the user decide whether he/she wants a reload or a restart an app after deploying.
It should be possible revoke service access from a team via command line
% git push [email protected]:xikin.git master
Initialized empty Git repository in /mnt/repositories/xikin.git/
Counting objects: 45, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (43/43), done.
Writing objects: 100% (45/45), 6.42 KiB, done.
Total 45 (delta 20), reused 0 (delta 0)
remote: % Total % Received % Xferd Average Speed Time Time Time Current
remote: Dload Upload Total Spent Left Speed
remote: 103 1558 0 1558 0 0 277 0 --:--:-- 0:00:05 --:--:-- 433
remote: /usr/lib/python2.6/site-packages/juju/providers/ec2/files.py:8: DeprecationWarning: the sha module is deprecated; use the hashlib module instead import sha
2012-06-27 11:24:24,524 WARNING ssl-hostname-verification is disabled for this environment
2012-06-27 11:24:24,524 WARNING EC2 API calls not using secure transport
2012-06-27 11:24:24,524 WARNING S3 API calls not using secure transport
2012-06-27 11:24:24,525 WARNING Ubuntu Cloud Image lookups encrypted but not authenticated
2012-06-27 11:24:24,526 INFO Connecting to environment...
2012-06-27 11:24:25,147 INFO Connected to environment.
2012-06-27 11:24:25,252 INFO Coremote: Initialized empty Git repository in /home/application/current/.git/
To [email protected]:xikin.git
* [new branch] master -> master
Not sure why this happen. I will investigate it, unless somebody beat me to it.
It should be possible remove a service via command line
The user should have a way to run commands right before restart runs on the app's unit, and right after it.
The app should have an app.conf file, with two sections:
pre-restart:
scripts/submodules.sh
pos-restart
scripts/dunno.py
These paths points to executable files, that should be versioned with the app (as the app.conf), and should be executed in the described moments.
After remove the app, tsuru should delete the app's bare repository. For example:
% tsuru app remove myapp
need to:
/mnt/repositories
(pending)Theres a error when trying to create a user.
open ~/.tsuru_token: no such file or directory
Should not check this file at this moment.
Depends on #28
And every app/service should have an associated unit. Also, the collector should update the unit instead of the app/service itself.
Hi there,
while analyzing the most active Go projects on github, using http://www.githubarchive.org/, I have mentioned that your project description has a typo. s/Plataform/Platform/
It's a description in the header here: https://github.com/timeredbull/tsuru so I cannot send a pull request that fixes it, because it's not tracked by git.
Cheers,
krasin
When the user has no key and tries to deploy the app via git push
, he gets a message that does not explain anything:
% git push [email protected]:api.git master
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
When we manually terminate an app's vm, its state is not updated by collector because when it runs juju status
the vm is not in the retrieved list. Collector should be smart enough to see that, and mark the vm with a different state.
The state may be something like deleted or terminated.
If you press ctrl-c during the login command you'll can't see whatever you are typing
This errors does not happens everytime, and I didn't tryied to reproduce it yet. Reset the database seems to work.
It should be possible remove a user via command line:
$ glb user remove username
User "username" removed with success!
It's in /mnt/repositories/appname.git
It should be possible grant service access to a team via command line
It should be possible list all service type list
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.