GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - tsuru/tsuru: Open source and extensible Platform as a Service (PaaS).

BranchesTags
Open more actions menu

Latest commit

 

History

15,988 Commits
15,988 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
action
action
 
 
api
api
 
 
app
app
 
 
applog
applog
 
 
auth
auth
 
 
builder
builder
 
 
cmd
cmd
 
 
config
config
 
 
db/storagev2
db/storagev2
 
 
docs
docs
 
 
envs
envs
 
 
errors
errors
 
 
etc
etc
 
 
event
event
 
 
exec
exec
 
 
fs
fs
 
 
hack
hack
 
 
hc
hc
 
 
integration
integration
 
 
io
io
 
 
job
job
 
 
log
log
 
 
migration
migration
 
 
misc
misc
 
 
net
net
 
 
permission
permission
 
 
provision
provision
 
 
quota
quota
 
 
registry
registry
 
 
router
router
 
 
safe
safe
 
 
scripts
scripts
 
 
service
service
 
 
servicemanager
servicemanager
 
 
set
set
 
 
storage
storage
 
 
streamfmt
streamfmt
 
 
tag
tag
 
 
test
test
 
 
tsurutest
tsurutest
 
 
types
types
 
 
validation
validation
 
 
volume
volume
 
 
.dockerignore
.dockerignore
 
 
.gitignore
.gitignore
 
 
.golangci.yml
.golangci.yml
 
 
.yamlfmt
.yamlfmt
 
 
AUTHORS
AUTHORS
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
CONTRIBUTORS
CONTRIBUTORS
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
docker-compose.yml
docker-compose.yml
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
goreleaser.yml
goreleaser.yml
 
 
staticcheck.conf
staticcheck.conf
 
 

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:

  • Landing page: https://tsuru.io
  • Full Documentation: https://docs.tsuru.io/
  • How to Contribute: https://docs.tsuru.io/contributing/docker-compose/
  • Repository & Issue Tracker: https://github.com/tsuru/tsuru
  • Talk to us on Gitter: https://gitter.im/tsuru/tsuru

Popular platforms supported:

  • Python
  • Nodejs
  • GO
  • Ruby
  • PHP
  • Perl
  • Lua
  • Java

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

  • Minikube
  • GKE - Google Kubernetes Engine

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:

  • docker (or podman)
  • minikube
  • go
  • yq

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:

  • qemu
  • socket_vmnet

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 [email protected] # password: admin@123
tsuru cluster list

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

Creating an app or job

For that, you will have to create a team, pool and set a label to the minikube nodes to allow deploys on it

tsuru team create my-team
tsuru pool add my-pool

# make sure you are using the right kube config
kubectl label nodes minikube tsuru.io/pool=my-pool

Running Integration tests

In order to run integration tests, you must:

  1. Ensure that your local Tsuru API instance is up and running.
  2. Create a Kubectl config file that must not be $HOME/.kube/config that points only to your Minikube cluster.
  3. Run the integration tests using the following command:
INTEGRATION_KUBECONFIG=<your-minikube-kubeconfig> make local.test-ci-integration

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

About

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

tsuru.io

Topics

containersdevopsdockergohacktoberfestkubernetespaas

Resources

Readme
BSD-3-Clause license

Contributing

Contributing
Activity
Custom properties

Stars

5.3k stars

Watchers

186 watching

Forks

555 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.