Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Nov 27 22:04
    wpjunior synchronize #2456
  • Nov 27 21:30

    wpjunior on more-kubernetes-pods-metadata

    kubernetes/provisioner: add Rea… app: include provisioner name i… kubernetes: Add support to expo… and 1 more (compare)

  • Nov 27 20:23
    wpjunior synchronize #2456
  • Nov 27 13:37
    wpjunior synchronize #2456
  • Nov 26 21:54
    wpjunior synchronize #2456
  • Nov 26 21:27
    wpjunior synchronize #2456
  • Nov 26 21:09
    wpjunior synchronize #2456
  • Nov 26 21:09

    wpjunior on more-kubernetes-pods-metadata


  • Nov 26 21:08

    wpjunior on more-kubernetes-pods-metadata

    kubernetes/provisioner: add Rea… (compare)

  • Nov 26 20:39
    wpjunior edited #2456
  • Nov 26 20:36
    wpjunior opened #2456
  • Nov 25 19:42

    wpjunior on main

    api: add pool field on service … (compare)

  • Nov 18 18:32

    wpjunior on main

    service: repass multi-cluster h… (compare)

  • Nov 17 14:35

    wpjunior on 1.9.1-rc2


  • Nov 17 14:02

    wpjunior on main

    provisioner/kubernetes: fix rac… (compare)

  • Nov 04 16:43

    wpjunior on 1.9.1-rc1


  • Nov 04 16:32

    wpjunior on main

    builder/kubernetes: ensure kube… (compare)

  • Nov 04 12:42

    wpjunior on main

    integration: add support to cli… (compare)

  • Nov 03 20:02

    wpjunior on main

    integration: remove clusters cr… (compare)

  • Nov 03 12:43

    cezarsa on main

    Events are no longer removable … (compare)

Emerson Rocha


Hi. Is the https://hub.docker.com/r/tsuru/gandalf image ready for production? I am trying to use it, but I don't know why is it not working...

Hi Rodolfo! I'm very new to Tsuru, just done a MVP some weeks ago, but I'm moving to create a 3 Node Tsuru cluster from scratch plus lots of documentation in Portuguese for end users.

Gandalf was one thing I skipped on MVP because turns out that I found tsuru-client very poweful to start. But if you want some help with this (and at least be able to test if I implement soon the Gandalf) I could try put Gandalf first on my priorities. And since I'm documenting everything in the open, could useful for you too.

If you still need help can private message me here on on Twitter.

Emerson Rocha

On tsuru version 1.7.0-rc1, I'm having some problem to log as admin immediately after the creation.

I will try a bit better to find if was not some mistake on configurations, etc, but if persist I will report on the main repository.

For now I have this issue here EticaAI/aguia-pescadora#6 (in portuguese, but google translate should work fine) to document my progress if someone interested to see it earlier. The same repository have all information.

Guilherme Rezende
@rodolfo3 yes the image is ready for production. What problem are you having?
Rodolfo Stangherlin
@guilhermebr I got it working - it was my fault configuring it...
but I'm having problems using logstash for metrics and logs. My logstash log says:
[2019-07-02T22:37:22,754][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>".measure-tsuru-2019.07.02", :_type=>"host_netrx", :routing=>nil}, #<LogStash::Event:0x2f0eda1b>], :response=>{"index"=>{"_index"=>".measure-tsuru-2019.07.02", "_type"=>"host_netrx", "_id"=>"t1nVtGsBR4vbPSvq22hZ", "status"=>400, "error"=>{"type"=>"illegal_argument_exception", "reason"=>"Rejecting mapping update to [.measure-tsuru-2019.07.02] as the final mapping would have more than 1 type: [host_cpu_wait, host_netrx]"}}}}
Rodolfo Stangherlin

my first error is:

[2019-07-03T18:40:33,840][ERROR][logstash.outputs.elasticsearch] Failed to install template. {:message=>"Got response code '400' contacting Elasticsearch at URL 'https://vpc-tsuru2-apps-gialqmcwk4rsjmg4adsylan7la.us-east-1.es.amazonaws.com:443/_template/tsuru-template'", :class=>"LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError", :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client/manticore_adapter.rb:80:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:291:in `perform_request_to_url'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:278:in `block in perform_request'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:373:in `with_connection'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:277:in `perform_request'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client/pool.rb:285:in `block in Pool'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client.rb:352:in `template_put'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/http_client.rb:86:in `template_install'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/template_manager.rb:28:in `install'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/template_manager.rb:16:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/common.rb:129:in `install_template'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-9.4.0-java/lib/logstash/outputs/elasticsearch/common.rb:50:in `block in setup_after_successful_connection'"]

I'm trying with ES 5.6 and 6.0

Rodolfo Stangherlin
I removed the geoip section from the template and it works on ES 5.6. But the dashboard does not shows data for the node. It saves addr as,,, ::1, fe80::88b:edff:fe0a:6c88, fe80::42:d5ff:fe79:3d5d, fe80::2022:6cff:fe3a:4463. The dashboard searches for {'addr.keyword': [u'ip-10-0-3-227.ec2.internal']}}... is this a bug?
Rodolfo Stangherlin

also, when I trigger the autoscale (using tsuru node-autoscale-run), I get a rebalance from a host to the same host:

Moved unit 3dd(...)b7f -> 1d3(...)351 for "mobile-api-stg" from ip-10-0-3-63.ec2.internal -> ip-10-0-3-63.ec2.internal

Is there some config to avoid it?

should I stop to use docker and start to use kubernetes?
Gleicon Moraes
Hi does anyone have tried or can point to a write up on setting tsuru + k3s ?
Emerson Rocha

@gleicon Actually thats a great question! I'm not sure if someone else at least tried to replace Kubernetes with K3S to work with Tsuru, but this is something I personally would start testing.

One of my reasons to consider using Kubernetes (or if later is possible, k3s) is that seems to be much easier to deal with strategies to handle files (aka volumes) integrated with Kubernetes (or since is compatible, k3s) than with vanila docker. (even the first reference about k3s is my comment here, https://github.com/tsuru/tsuru/issues/2063#issuecomment-506250179, @gleicon ). I'm not saying that is bad use on vanila docker, just that maybe for usage with bigger setups, or different users, etc, kubernetes could be easier

I will take at least a few weeks to start test with k3s because I'm testing before with Kuberbetes (I'm new here, and also I'm new to Kubernetes), so I'm unable to give a fast response for you about if it works or not with k3s for now. I will leave for someone else that maybe already know Tsuru + Kubernetes to try replace with K3S.

Yehudi Brito
How do I dynamically add auto scaling to the unit?
Magno Torres
You can use the tsuru autoscale service: https://github.com/tsuru/tsuru-autoscale
Patrezze Alvarenga

Upgrade Tsuru Server from 1.6.2 to 1.7.4


Docker Version: 19.03.1
Linux Distribution: Ubuntu 16.04 LTS
Kubernetes Cluster: No

The result of tsurud migrate --dry is OK.

Opening config file: /etc/tsuru/tsuru.conf
Done reading config file: /etc/tsuru/tsuru.conf
Using "mongodb" database "tsuru" from the server "mongodb://######".
Running "migrate-apps-kubernetes-crd"... OK
Running "migrate-app-image-exposed-ports"... OK

tsurud migrate

Opening config file: /etc/tsuru/tsuru.conf
Done reading config file: /etc/tsuru/tsuru.conf
Using "mongodb" database "tsuru" from the server "mongodb://######".
Error: multiple errors reported (34):
error #0: no cluster
error #1: no cluster
error #2: no cluster
error #3: no cluster
error #4: no cluster
error #5: no cluster
error #6: no cluster
error #7: no cluster
error #8: no cluster
error #9: no cluster
error #10: no cluster
error #11: no cluster
error #12: no cluster
error #13: no cluster
error #14: no cluster
error #15: no cluster
error #16: no cluster
error #17: no cluster
error #18: no cluster
error #19: no cluster
error #20: no cluster
error #21: no cluster
error #22: no cluster
error #23: no cluster
error #24: no cluster
error #25: no cluster
error #26: no cluster
error #27: no cluster
error #28: no cluster
error #29: no cluster
error #30: no cluster
error #31: no cluster
error #32: no cluster
error #33: no cluster
Running "migrate-apps-kubernetes-crd"...

tsurud migrate-list

The migrate-apps-kubernetes-crd and migrate-app-image-exposed-ports appear as not executed.

| Name                                   | Mandatory? | Executed? |
| migrate-docker-images                  | true       | true      |
| migrate-pool                           | true       | true      |
| migrate-set-pool-to-app                | true       | true      |
| migrate-service-proxy-actions          | true       | true      |
| migrate-bs-envs                        | true       | true      |
| migrate-events-deploy                  | true       | true      |
| migrate-events-healer                  | true       | true      |
| migrate-rc-events                      | true       | true      |
| migrate-router-unique                  | true       | true      |
| migrate-app-plan-router-to-app-router  | true       | true      |
| migrate-pool-teams-to-pool-constraints | true       | true      |
| migrate-app-service-envs               | true       | true      |
| migrate-app-plan-id-to-plan-name       | true       | true      |
| migrate-roles                          | false      | true      |
| migrate-apps-kubernetes-crd            | true       | false     |
| migrate-app-image-exposed-ports        | true       | false     |

I got errors with tsurud migrate. Is it necessary to fix? If I ignore them, does it have any impact?

William Kibira

Hello everyone , i've been trying to get tsuru set up on a cluster and when it tries to check for the availability of the Tsuru API the connection fails .
I'm trying to get it to install gandalf in the very first installation

      repo-manager: gandalf

I'm using the generic driver for the installation

Deploying tsuru config...
Deploying compose file in cluster manager...
Updating service tsuru_planb (id: 7w6ugx0usv8w4odxijohjs4mj)
Updating service tsuru_registry (id: cie9whbjr3s533e3xc1q71nyb)
Updating service tsuru_tsuru (id: 712oagr7yysncjbhd8pi6isuv)
Updating service tsuru_redis (id: 4uwrmorxpmo0vwb0svgafx2f7)
Updating service tsuru_mongo (id: v5ktthl9j3qhck2swqdnw1lv4)
Waiting for Tsuru API to become responsive at "http://XXX.XXX.XXX.XXX:8080"...
Error: failed to connect to http://XXX.XXX.XXX.XXX:8080: Maximum number of retries (60) exceeded: Get http://XXX.XXX.XXX.XXX:8080: dial tcp XXX.XXX.XXX.XXX:8080: connect: connection refused
I've replaced the IP Address with XXX.XXX.XXX.XXX in the log
why choose tsuru over flynn?
i'm a new bie, please explain.
Guilherme Rezende
@patrezze it's ok since you don't have any kubernetes cluster.
Magno Torres
@willtanium_gitlab gandalf is just a nice to have command nowadays in tsuru, as we have the command tsuru app-deploy, and you can even deploy a docker image with that (-i). This connect error looks like a ACL/permission missing
Magno Torres
@admicro talking about tsuru, it's a really stable and powerful PaaS. We attend thousands of critical apps, with a workflow deeply thought to avoid downtime, and dealing automatically with operational issues like restart, container move after problems in the previously host, etc. We use exactly the version available in github (there isn't an enterprise/paid version) and is really easy to extend it with new languages(just a new dockerfile). We manage applications with millions of unique visitors and with really little administrative issues
going through the documentation for running the test https://docs.tsuru.io/stable/contributing/index.html#running-the-tests it says that mongodb and redis need to be installed. Which docker image normally people are using to run mongodb and redis ?
anyone can help with my question ? Thanks
Kasra Fakhari
@nanikjava Hi. Official docker images are most tested and reliable docker images. They start with an underline as namespace in docker hub. For redis database, you can use bitnami image with additional security features.
Thanks @kasra73
will try it out and if it works will submit PR to update the documentation with instruction
Kasra Fakhari
You can also use docker-compose yaml file included in tsuru source code for testing and development purposes.
I've submitted PR to fix this issue tsuru/tsuru#2364 .. PR is tsuru/tsuru#2365
Rodolfo Stangherlin
Anyone using tsuru and EKS? I'm an error trying to setup it. I get ec2:CreateInternetGateway You are not authorized to perform this operation running tsuru-eks2 kubernetes --create-data='driver=amazonelasticcontainerservice' --create-data="access-key=*****" --create-data="secret-key=*****" --create-data="region=us-east-1" --pool=eks, but the owner of this key has "ec2:*" permission...
well, it works with "*" permission, but I think this may be insecure...
Rodolfo Stangherlin

I'm still trying to add the eks cluster to my tsuru setup. I'm getting the Unauthorized error:


I create the cluster using tsuru cluster-add, it works (it is running on aws side), but I got this on logs:

2020/02/03 19:17:38 ERROR: failure running HTTP request POST /1.3/provisioner/clusters (500): error creating clientset: error generating token: NoCredentialProviders: no valid providers in chain. Deprecated.

and the cluster is not on tsuru anymore.

I don't know what am I doing wrong. Any tips to debug this?
or documentation about it?
Luiz Carlos Muniz
I installed the tsuru normally and created the dashboard application. After that, every command I give (for example: tsuru app-list) gives an error and the message "Failed to connect to tsuru server is probably down" appears. Can someone help me?
Hello, i have a situation in which i would like to deploy an image built in the gitlab ci pipeline to a tsuru setup . how do i get the step tsuru app-deploy -a [app-name] -i registry.gitlab.com/[some-domain]/[some-image-name]:latest
with the credentials for login, i have attempted to ssh into the node itself and doing the docker login but that still fails .
Wilson Júnior
hello @williamkibira you need to use a environment variable (TSURU_TOKEN), running tsuru token-create you will get one of.

@wpjunior , thank you your for replying to my message , i already am logged in at this point since i do something like in my .gitlab-ci.yml

- yes  $TSURU_PASSWORD | tsuru login $TSURU_EMAIL 
- ssh xxxxxxx@XXX.XXX.XXX.XXX "sudo docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
- tsuru app-deploy -i registry.gitlab.com/xxxxxxxx/xxxxxxxi -a demo-application

and in the gitlab ci prompts i get

tsuru app-deploy -i registry.gitlab.com/xxxxxxxx/xxxxxxxi -a demo-application
Deploying image... ok
---- Pulling image to tsuru ----
error in docker node "http://XXX.XXX.XXX.XXX:2376": API error (500): {"message":"Get https://registry.gitlab.com/v2/xxxxx/xxxxx/manifests/latest: denied: access forbidden"}
How do you install a PHP with composer.json in tsuru?

Hi, I'm having a problem running tsuru with Vagrant, I followed the instruction from the documentation but when I do

D:\>tsuru platform-add java
Error: Failed to connect to tsuru server (, it's probably down

How can I know if tsuru is up and running properly?

Yago Sant' Anna
Hello, is there a way to remove all units from an app with a single request?
João Ernesto Arzamendia
There is a way to turn tsuru client more verbose? I'm having some troubles with installation in Centos :D
Wilson Júnior
Hello @yagossc you could use tsuru app-stop to achieve this
@Jarzamendia you could use tsuru -v2 COMMAND to see debug messages
João Ernesto Arzamendia
Yeah! I tried this command, but the problem are in the Docker machine lib. I'm had to debug with a Docker Machine client to find the problems.
i am new here
Hello is tsuru a "dead" project already? Is it still being maintained?
Guilherme Rezende
@cyberquarks tsuru is still active!