Skip to main content

Provisioning

Environment variables

Env VariableRequiredDefault ValueUsed byDescription
ORGANIZATIONyes-bc/apiIn the blockchain network, each node is represented by its organization name. This environment variable sets this organization name. It is used to create the organization stream on the blockchain and is also displayed in the frontend's top right corner.
API_HOSTnobc/provThe IP address of one api which is connected to the node you want to connect to (The IP addresses are usually the same as for the P2P host address).
API_PORTno8080bc/provThe port used to connect to the api.
ROOT_SECRETno[random]apiThe root secret is the password for the root user. If you start with an empty blockchain, the root user is needed to add other users, approve new nodes,.. If you don't set a value via the environment variable, the API generates one randomly and prints it to the console
Caution: If you want to run TruBudget in production, make sure to set a secure root secret.
LOG_LEVELnoinfoallDefines the log output. Supported levels are trace, debug, info, warn, error, fatal

| JWT_SECRET | no | - (required) | email | A secret of min length of 32 - It is used to verify the JWT_TOKEN sent by users of the email-service endpoints | | AUTHENTICATION | no | JWT | email | If set to none, no JWT-Token is required for all endpoints. If set JWT, a JWT token is necessary | | DOCUMENT_FEATURE_ENABLED | no | false | api | If true, all uploaded documents are stored using trubudget's storage-service. If false, the document feature of TruBudget is disabled, and trying to upload a document will result in an error. | | DOCUMENT_EXTERNAL_LINKS_ENABLED | no | false | api | If true, it is possible to use external documents links also without trubudget's storage-service. If false, the external documents links feature of TruBudget is still possible to use in case DOCUMENT_FEATURE_ENABLED equals "true". | | STORAGE_SERVICE_HOST | no | localhost | storage | IP address of storage service | | STORAGE_SERVICE_PORT | no | 8090 | storage | Port of storage service | | STORAGE_SERVICE_EXTERNAL_URL | no | - | api | IP and port of own connected storage service accessible externally | | STORAGE_PROVIDER | minio | Set to azure-storage if you use Azure Storage Account, otherwise defaults to minio | | MINIO_ACCESS_KEY | no | minio | storage | Access key for Minio server | | MINIO_SECRET_KEY | no | minio123 | storage | Secret (Password) for Minio server | | MINIO_PORT | no | 9000 | storage | Port of connected Minio | | MINIO_HOST | no | localhost | storage | IP address of connected Minio server | | MINIO_BUCKET_NAME | no | trubudget | storage | Bucket name of the connected Minio server | | MINIO_REGION | us-east-1 | Region where the bucket is created. This parameter is optional. Default value is us-east-1. | | LOGGER_PORT | yes | 3000 | logging | Port where the frontend-collector is exposed | | API_HOST | yes | localhost | logging | API host | | API_PORT | yes | 8080 | logging | API port | | LOG_LEVEL | yes | trace | logging | Log-level | | LOGGING_SERVICE_CACHE_DURATION | yes | 20 | logging | Defines how long valid JWT should be cached (in minutes). | | LOGGING_SERVICE_NODE_ENV | yes | production | logging | Environment | | CI_COMMIT_SHA | "" | bc/api/excel/storage/email | Defines the CI_COMMIT_SHA property returned by the version endpoint. | | RATE_LIMIT | no | - | api | If set, API will limit the number of requests from any individual IP address to the set number per minute. Can be set to any number, but shouldn't be set too low. |

Kubernetes

Env VariableRequiredDefault ValueUsed byDescription
EXPOSE_MCnofalsebcIf set to true Trubudget tries to expose it's multichain via kubernetes' ingress. First a kubernetes config file is searched in /.kube/config. If not found and the MC is deployed in a cluster, it is searching for the service account to get the information. After configuration the externalip arg is set to the ip of the service' ingress of the configured clusterSERVICE_NAME and NAMESPACE are required to access the ingress of the service.
KUBE_SERVICE_NAMEnobcThis variable is only required if EXPOSE_MC is set to true. It defines which service the kubernetes client should search for in the configured kubernetes cluster
KUBE_NAMESPACEnobcThis variable is only required if EXPOSE_MC is set to true. It defines in which namespace the kubernetes client should search for the given service