Skip to content
/ tsuru Public

Open source and extensible Platform as a Service (PaaS).

License

Notifications You must be signed in to change notification settings

tsuru/tsuru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3e56806 · Apr 1, 2025
Mar 24, 2025
Mar 17, 2023
Mar 10, 2025
Apr 1, 2025
Dec 3, 2024
Dec 3, 2024
Feb 28, 2025
Mar 10, 2025
Jul 11, 2024
Oct 21, 2024
Mar 6, 2025
Jun 12, 2024
Feb 12, 2021
Aug 20, 2024
Oct 21, 2024
Dec 26, 2018
Apr 5, 2023
Oct 19, 2020
Sep 28, 2020
Jun 27, 2024
Apr 5, 2023
Feb 14, 2025
Mar 10, 2025
Sep 2, 2024
Aug 20, 2024
Aug 11, 2021
Nov 22, 2024
Mar 25, 2025
Dec 3, 2024
Mar 10, 2025
Jan 14, 2025
Dec 7, 2021
Oct 4, 2024
Feb 13, 2025
Dec 3, 2024
Oct 6, 2020
Dec 3, 2024
Sep 25, 2024
Sep 21, 2020
Dec 26, 2018
Feb 14, 2025
Mar 17, 2023
Aug 20, 2024
Aug 28, 2023
Aug 20, 2024
Feb 17, 2025
Jul 19, 2023
Dec 17, 2015
Oct 19, 2020
Jan 17, 2025
Mar 21, 2025
Mar 2, 2015
Sep 25, 2024
Aug 20, 2024
Sep 25, 2024
Mar 24, 2025
Mar 24, 2025
Aug 21, 2024
Jan 10, 2024
Aug 19, 2021

Repository files navigation

tsuru

Build Status Go Report Card

What is tsuru?

tsuru is an extensible and open source Platform as a Service (PaaS) that makes application deployments faster and easier. With tsuru, you don’t need to think about servers at all. As an application developer, you can:

  • Write apps in the programming language of your choice
  • Back apps with add-on resources such as SQL and NoSQL databases, including memcached, Redis, and many others
  • Manage apps using the tsuru command-line tool

Links:

Popular platforms supported:

Quick Start

Getting tsuru-client

Download the latest release for your platform at: https://github.com/tsuru/tsuru-client/releases/

Example for release 1.1.1 and OS X:

$ curl -sSL https://github.com/tsuru/tsuru-client/releases/download/1.1.1/tsuru-1.1.1-darwin_amd64.tar.gz | tar xz

Install Guides

Testing

If everything's gone well you have the tsuru running in a Kubernetes Cluster. Call app list to see tsuru working, this command needs to return one app called tsuru-dashboard.

$ tsuru app list

Local development

Dependencies

Before starting, make sure you have the following tools installed:

You'll also need the Tsuru Client to interact with the Tsuru API. If you haven't installed it yet, please do so.

For macOS users: We recommend using the qemu driver with socket_vmnet for Minikube clusters. For more information on installing qemu and socket_vmnet, refer to the following links:

Note: If you are using Docker-compatible alternatives like Podman, be sure to specify the DOCKER variable with the correct binary when running make commands. For example: make local.run DOCKER=podman.

Running local environment

To run the Tsuru API locally, you'll need to first set up the local environment. This setup process is crucial because it creates the default configuration files, initializes required dependencies, and prepares your local system to host the Tsuru API. The following command will handle all these tasks:

make local.setup

Once the setup is complete, you won’t need to run this command again unless you want to reset your environment.

After the initial setup, you can start the Tsuru API and its dependencies using the following command:

make local.run

Once the Tsuru API is running, open a new terminal window and configure your Tsuru CLI to point to the local-dev target. This target tells the CLI to interact with your local Tsuru API instance rather than a remote server. You can set the target using this command:

tsuru target-set local-dev

Tsuru's targets function similarly to Kubernetes' kubectl config contexts, allowing you to switch between different environments easily.

To confirm that everything is set up correctly, you can log in and list the clusters managed by your Tsuru API instance:

tsuru login admin@admin.com # password: admin@123
tsuru cluster list

If everything is working as expected, you should see your local Minikube cluster listed as the default provisioner.

Cleaning up

When you're done working with your local environment, it's important to stop the services to free up system resources. You can stop the dependencies using:

make local.stop

If you want to fully reset your environment, or if you no longer need the Tsuru API and its dependencies on your local machine, you can remove all associated resources using:

make local.cleanup