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.
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 🙂 ! teresa
should now be available to use on your terminal.
Run the following in your command-line:
$ brew tap luizalabs/teresa-cli
$ brew install teresa
Run the following in your command-line:
$ sudo snap install teresa-cli
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
Read the first sections of the FAQ.