Environment Variables

The upper case environment variables are used by faasshell services.

The lower case environment variables are used by only tests, unit tests and functional tests.

FaaS Shell Service

FaaS Shell

environment variable literal value default value
FAASSHELL_SVC_PORT number 8080 (http), 8433 (https)

Database

Database is either Apache CouchDB or IBM Cloudant.

environment variable literal value default value
FAASSHELL_DB_AUTH ID:PW  
FAASSHELL_DB_APIHOST URL http://127.0.0.1:5984

In Kubernetes or OpenShift, FaaS Shell pod looks up the environment variable “COUCHDB_SERVICE_HOST” and “COUCHDB_SERVICE_PORT” in faasshell namespace if “FAASSHELL_DB_APIHOST” is not set.

Message Queue

Message Queue is either SWI Prolog built_in or Apache Kafka.

environment variable literal value default value
FAASSHELL_MQ built_in | kafka built_in

In Kubernetes or OpenShift, Apache Kafka is necessary if the number of replication of FaaS Shell pod is more than two.

Proxy

environment variable format
HTTP_PROXY scheme:[//[user[:password]@]host[:port]]
HTTPS_PROXY scheme:[//[user[:password]@]host[:port]]
NO_PROXY host_or_ip,host_or_ip,…

FaaS

Setting vendor access information into environment variables is tentative implementation for PoC.

Later, all credentials will be managed as fassshell user’s property in DB or CLI parameter.

vendor environment variable description
AWS (*1) AWS_ACCESS_KEY_ID aws_access_key_id in ~/.aws/credentials
  AWS_SECRET_ACCESS_KEY aws_secret_access_key in ~/.aws/credentials
GCP (*2,*3) GOOGLE_APPLICATION_CREDENTIALS full path to JSON credential file
Azure AZURE_HOSTKEY Host keys (*4)
  AZURE_TENANT_ID tenant ID is the Directory ID (*5)
  AZURE_CLIENT_ID client_id is the Application ID (*6)
  AZURE_CLIENT_SECRET client_secret (*6)
IBM/OpenWhisk (*7) WSK_AUTH AUTH in ~/.wskprops
  WSK_APIHOST APIHOST in ~/.wskprops
IFTTT IFTTT_KEY click “Document” button (*8)

Unit Test and Functional Test

vendor environment variable description
AWS aws_region arn:aws:lambda:{aws_region}:{aws_account_id}:function:hello
  aws_account_id ditto
Azure azure_webapp_name https://{azure_webapp_name}.azurewebsites.net/
GCP gcp_location_id https://{gcp_location_id}-{gcp_project_id}.cloudfunctions.net/hello
  gcp_project_id ditto