teresa

Open source tool to deploy apps to Kubernetes clusters

Github星跟蹤圖

Teresa

Release
Software License
Build Status
codecov
Go Report Card

Teresa is an extremely simple platform as a service that runs on top of Kubernetes.
It uses a client-server model: the client sends high level commands (create application, deploy, etc.) to the server, which translates them to the Kubernetes API.

Client Installation

This is the best way to get the latest release.

  • Access https://github.com/luizalabs/teresa/releases
  • Download the latest release for your OS. Eg: teresa-linux-amd64
  • Rename the download file to teresa. Eg: mv teresa-linux-amd64 teresa
  • Make it an executable. Eg: chmod +x teresa
  • Move it to the bin folder. Eg: sudo mv teresa /usr/bin

Then you're good to go :slightly_smiling_face: ! teresa should now be available to use on your terminal.

Homebrew

Run the following in your command-line:

$ brew tap luizalabs/teresa-cli
$ brew install teresa

Snap

Run the following in your command-line:

$ sudo snap install teresa-cli

Server Installation

Server requirements:

  • Kubernetes cluster (>= 1.9)

  • database backend to store users and teams (SQLite or MySQL)

  • storage for build artifacts (AWS S3 or minio)

  • rsa keys for token signing

  • (optional) TLS encryption key and certificate

The recommended installation method uses the helm package manager,
for instance to install using S3 and MySQL (recommended):

$ openssl genrsa -out teresa.rsa
$ export TERESA_RSA_PRIVATE=`base64 -w0 teresa.rsa`
$ openssl rsa -in teresa.rsa -pubout > teresa.rsa.pub
$ export TERESA_RSA_PUBLIC=`base64 -w0 teresa.rsa.pub`
$ helm repo add luizalabs http://helm.k8s.magazineluiza.com
$ helm install luizalabs/teresa \
    --namespace teresa \
    --set rsa.private=$TERESA_RSA_PRIVATE \
    --set rsa.public=$TERESA_RSA_PUBLIC \
    --set aws.key.access=xxxxxxxx \
    --set aws.key.secret=xxxxxxxx \
    --set aws.region=us-east-1 \
    --set aws.s3.bucket=teresa \
    --set db.name=teresa \
    --set db.hostname=dbhostname \
    --set db.username=teresa \
    --set db.password=xxxxxxxx \
    --set rbac.enabled=true

Look here for more information about helm options.

You need to create an admin user to perform user and team management:

$ export POD_NAME=$(kubectl get pods -n teresa -l "app=teresa" -o jsonpath="{.items[0].metadata.name}")
$ kubectl exec $POD_NAME -it -n teresa -- ./teresa-server create-super-user --email admin@email.com --password xxxxxxxx

QuickStart

Read the first sections of the FAQ.

主要指標

概覽
名稱與所有者luizalabs/teresa
主編程語言Go
編程語言Go (語言數: 6)
平台
許可證Other
所有者活动
創建於2011-11-28 19:44:45
推送於2023-02-25 02:14:13
最后一次提交2021-03-01 17:16:59
發布數53
最新版本名稱v0.35.0-rc1 (發布於 )
第一版名稱v0.1.0 (發布於 2016-08-03 18:45:37)
用户参与
星數558
關注者數26
派生數77
提交數1.1k
已啟用問題?
問題數77
打開的問題數17
拉請求數534
打開的拉請求數6
關閉的拉請求數34
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?