py-cfenv is a tiny utility that simplifies interactions with Cloud Foundry environment variables, modeled after node-cfenv.
fromcfenvimportAppEnvenv=AppEnv()
env.name# 'test-app'env.port# 5000redis=env.get_service(label='redis')
redis.credentials# {'uri': '...', 'password': '...'}redis.get_url(host='hostname', password='password', port='port') # redis://pass:hostKeys may change based on the service. To see what keys are available for the app's services:
$ cf env my-app
Getting env variables forapp my-appin org my-org / space my-space as me@example.com...
OK
System-Provided:
{
"VCAP_SERVICES": {
"redis": [
{
"credentials": {
"hostname": "example.redis.host",
"password": "verysecurepassword",
"port": "30773",
"ports": {
"6379/tcp": "30773"
},
"uri": "redis://:verysecurepassword@example.redis.host:30773"
},
"label": "redis",
"name": "example-redis",
"plan": "standard",
"provider": null,
"syslog_drain_url": null,
"tags": [
"redis28",
"redis"
],
"volume_mounts": []
}
]
}
}