Skip to content

System-injected runtime values ​

At deployment, Olares automatically injects a set of system-managed values into the app's values.yaml. These values are read-only and cover user identity, storage paths, cluster metadata, app dependencies, and middleware credentials.

Because they are Helm values, they are not automatically available inside containers. To pass one into a container, map it explicitly under env: in your deployment template.

Use in your app ​

Reference these values directly in your Helm templates, such as deployment.yaml.

Example: pass the current username and Postgres host into container environment variables.

yaml
# Pass system-injected runtime values into container environment variables
spec:
  containers:
    - name: my-app
      env:
        - name: APP_USER
          value: "{{ .Values.bfl.username }}"
        - name: DB_HOST
          value: "{{ .Values.postgres.host }}"

For the full list of available values, see Value reference.

Value references ​

The Type column describes the Helm value data type. It does not correspond to the type field in OlaresManifest.yaml.

User and identity ​

ValueTypeDescription
.Values.bfl.usernameStringCurrent username.
.Values.user.zoneStringCurrent user's domain.
.Values.adminStringAdministrator username.

Application and system information ​

ValueTypeDescription
.Values.domainMap<String,String>App entrance URLs. Each entry maps an entrance name to its URL.
.Values.sysVersionStringCurrent Olares system version.
.Values.deviceNameStringDevice name.
.Values.downloadCdnURLStringCDN address used for system resource downloads.

Storage paths ​

ValueTypeDescription
.Values.userspace.appDataStringCluster storage path for the app. Path: /Data/<appname>.
.Values.userspace.appCacheStringNode-local cache path for the app. Path: /Cache/<appname>.
.Values.userspace.userDataStringUser's home data directory. Path: /Files/Home/.
.Values.sharedlibStringUser's external storage directory. Path: /Files/External/<devicename>/.

Cluster hardware metadata ​

ValueTypeDescription
.Values.cluster.archStringCluster CPU architecture, such as amd64. Mixed-architecture clusters are not supported.
.Values.nodesList<NodeInfo>Hardware metadata for each node in the cluster.

Each entry in .Values.nodes follows this structure:

json
// Single entry in the .Values.nodes list
[
  {
    "cudaVersion": "12.9",
    "cpu": [
      {
        "coreNumber": 16,
        "arch": "amd64",
        "frequency": 4900000000,
        "model": "151",
        "modelName": "12th Gen Intel(R) Core(TM) i5-12600KF",
        "vendor": "GenuineIntel"
      }
    ],
    "memory": {
      "total": 50351353856
    },
    "gpus": [
      {
        "vendor": "NVIDIA",
        "arch": "Ada Lovelace",
        "model": "4060",
        "memory": 17175674880,
        "modelName": "NVIDIA GeForce RTX 4060 Ti"
      }
    ]
  }
]

Application dependencies ​

When an app declares a dependency in OlaresManifest.yaml, Olares injects connection information into values.yaml.

ValueTypeDescription
.Values.depsMap<String,Value>Main entry host and port for each declared dependency. Keys follow the pattern <entry_name>_host and <entry_name>_port.
.Values.svcsMap<String,Value>All service hosts and ports for each declared dependency. Keys follow the pattern <service_name>_host and <service_name>_port. Port values are lists to support multiple ports per service.

Example: for a dependency with entry name aserver and service name aserver-svc.

.Values.deps:

json
{
  "aserver_host": "aserver-svc.<namespace>",
  "aserver_port": 80
}

.Values.svcs:

json
{
  "aserver-svc_host": "aserver-svc.<namespace>",
  "aserver-svc_port": [80]
}

Middleware values ​

Middleware values are injected only after you declare the middleware dependency in the middleware section of OlaresManifest.yaml.

PostgreSQL and Redis are preinstalled. MongoDB, MinIO, RabbitMQ, MySQL and MariaDB must be installed separately before your app can use them.

MariaDB ​

See Integrate with MariaDB for installation and configuration details.

ValueTypeDescription
.Values.mariadb.hostStringMariaDB host.
.Values.mariadb.portNumberMariaDB port.
.Values.mariadb.usernameStringMariaDB username.
.Values.mariadb.passwordStringMariaDB password.
.Values.mariadb.databasesMap<String,String>Requested databases, keyed by database name. For example, a request for app_db is available at .Values.mariadb.databases.app_db.

MinIO ​

See Integrate with MinIO for installation and configuration details.

ValueTypeDescription
.Values.minio.hostStringMinIO service host.
.Values.minio.portNumberMinIO service port.
.Values.minio.usernameStringMinIO access key.
.Values.minio.passwordStringMinIO secret key.
.Values.minio.bucketsMap<String,String>Requested buckets, keyed by bucket name. For example, a request for mybucket is available at .Values.minio.buckets.mybucket.

MongoDB ​

See Integrate with MongoDB for installation and configuration details.

ValueTypeDescription
.Values.mongodb.hostStringMongoDB host.
.Values.mongodb.portNumberMongoDB port.
.Values.mongodb.usernameStringMongoDB username.
.Values.mongodb.passwordStringMongoDB password.
.Values.mongodb.databasesMap<String,String>Requested databases, keyed by database name. For example, a request for app_db is available at .Values.mongodb.databases.app_db.

MySQL ​

See Integrate with MySQL for installation and configuration details.

ValueTypeDescription
.Values.mysql.hostStringMySQL host.
.Values.mysql.portNumberMySQL port.
.Values.mysql.usernameStringMySQL username.
.Values.mysql.passwordStringMySQL password.
.Values.mysql.databasesMap<String,String>Requested databases, keyed by database name. For example, a request for app_db is available at .Values.mysql.databases.app_db.

PostgreSQL ​

See Integrate with PostgreSQL for installation and configuration details.

ValueTypeDescription
.Values.postgres.hostStringPostgreSQL host.
.Values.postgres.portNumberPostgreSQL port.
.Values.postgres.usernameStringPostgreSQL username.
.Values.postgres.passwordStringPostgreSQL password.
.Values.postgres.databasesMap<String,String>Requested databases, keyed by database name. For example, a request for app_db is available at .Values.postgres.databases.app_db.

RabbitMQ ​

See Integrate with RabbitMQ for installation and configuration details.

ValueTypeDescription
.Values.rabbitmq.hostStringRabbitMQ host.
.Values.rabbitmq.portNumberRabbitMQ port.
.Values.rabbitmq.usernameStringRabbitMQ username.
.Values.rabbitmq.passwordStringRabbitMQ password.
.Values.rabbitmq.vhostsMap<String,String>Requested vhosts, keyed by vhost name. For example, a request for myvhost is available at .Values.rabbitmq.vhosts.myvhost.

Redis ​

See Integrate with Redis for installation and configuration details.

ValueTypeDescription
.Values.redis.hostStringRedis host.
.Values.redis.portNumberRedis port.
.Values.redis.passwordStringRedis password.
.Values.redis.namespacesMap<String,String>Requested namespaces, keyed by namespace name. For example, a request for app_ns is available at .Values.redis.namespaces.app_ns.