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 |