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.