OxL Reference

src/config/config.oxl

oxl
use self.limits { DEFAULT_MAX_CART }

// Статический конфиг: читается при старте, без перезапуска не меняется.
// Значения берутся из флагов, env (APP_DB_URL, APP_INVENTORY_ADDR…), файла или профиля.
pub config App {
  dbUrl: str = "builtin://shop"       // по умолчанию — встроенное хранилище
  inventoryAddr: str                  // обязательное: без значения узел не стартует (код 78)
  paymentsAddr: str
  recsAddr: str = "localhost:9103"     // модель рекомендаций
  paymentsKey: secret<str>            // секрет: не попадает в логи и трассы
  profile dev {                       // значения для локальной разработки (и тестов)
    dbUrl = "sqlite::memory:"
    inventoryAddr = "localhost:9101"
    paymentsAddr = "localhost:9102"
    paymentsKey = "dev-key"
  }
}

// Динамический конфиг: хранится в кластере, меняется без перезапуска (`oxl config set Features.maxCart 200`).
pub dynamic Features {
  maxCart: u32 = DEFAULT_MAX_CART     // лимит позиций в корзине
  liveStats: Flag = Flag.on           // флаг можно включать по проценту пользователей
}

Source: examples/shop/src/config/config.oxl