Sign inSign up

tsuru/eviaas

By tsuru

•Updated over 2 years ago

environment variables injector as a service for tsuru

Image
0

9.8K

tsuru/eviaas repository overview

⁠eviaas

environment variables injector as a service⁠ for tsuru⁠

⁠About

This service⁠ allows easily exposing external services to tsuru⁠ applications. It works simply by injecting some predefined environment variables in the application after binding.

⁠Example

Let's assume you have an external logging service running at udp://my.log.service:9976 and you want to expose this value to applications without hardcoding it in them (as the twelve factor methodology advises⁠).

First you will have to create the eviaas service application and add it to tsuru:

$ git clone https://github.com/tsuru/eviaas.git

$ cd eviaas

$ tsuru app-create my-log-service-api python

$ tsuru env-set -a my-log-service-api EVI_ENVIRONS='{"MYLOG_PROTOCOL": "udp", "MYLOG_ADDRESS": "my.log.service:9976"}'

$ git push [email protected]:my-log-service-api.git master

$ cat >service_descriptor.yaml <<EOF
> id: my-log-service
> password: 1234
> team: my_team
> endpoint:
>   production: http://my-log-service-api.192.168.50.4.nip.io
> EOF

$ tsuru service-create service_descriptor.yaml

Now your tsuru has a new service called my-log-service and you can create instances:

$ tsuru service-instance-add my-log-service my-log-instance

$ tsuru service-list
+----------------+-----------------+
| Services       | Instances       |
+----------------+-----------------+
| my-log-service | my-log-instance |
+----------------+-----------------+

And bind apps to it:

$ tsuru service-instance-bind my-log-service my-log-instance -a my-app
Instance "my-log-instance" is now bound to the app "my-app".

The following environment variables are now available for use in your app:

- MYLOG_PROTOCOL
- MYLOG_ADDRESS

For info about what happens when you bind a service to an application, see http://docs.tsuru.io/en/latest/services/api.html#binding-an-app-to-a-service-instance⁠

Tag summary

Content type

Image

Digest

sha256:d03f5895c…

Size

52.9 MB

Last updated

over 2 years ago

docker pull tsuru/eviaas