O          .
         O            ' '
           o         '   .
         o         .'
      __________.-'       '...___
   .-'                      ###  '''...__
  /   a###                 ##            ''--.._ ______
  '.                      #     ########        '   .-'
    '-._          ..**********####  ___...---'''\   '
        '-._     __________...---'''             \   l
            \   |                                 '._|
             \__;

Orka

A modern Node.js framework based on koa@2 that comes powered with RabbitMQ, Kafka, MongoDB and Redis integrations out of the box.

Getting Started

Configuration

Routing

Logs

Middleware

Request Context

Integrations

Console

Extra

Changelog

Migrating from orka 1.x.x to 2.xx

  • Kakfa implementation has changed to kafka.js see integrations/kafka for more
  • Honeybadger builder example has changed. Instead of calling
    .withHoneyBadger({ developmentEnvironments: ['development', 'test'] })
    

    config is now holding the development environments:

    "honeybadger": {
      "apiKey": "",
      "developmentEnvironments": ["development", "test"]
    }
    
  • Visitor cookie won’t be used if config.visitor.enabled is false even if config.visitor.cookie exists
  • Deprecated builder method withNewrelic is removed. Use config instead to enable newrelic see integrations/newrelic

Migrating from orka 2.x to 3.x

  • Mongoose version is specified to 6. useNewUrlParser, useUnifiedTopology, useFindAndModify, and useCreateIndex are no longer supported options. Mongoose 6 always behaves as if useNewUrlParser, useUnifiedTopology, and useCreateIndex are true, and useFindAndModify is false.
  • Also be sure to check any incompatibilities with libraries using the mongoDB Node.js driver as it derives from the Mongoose version.
  • For Typescript using app, Types.ObjectId is now a class, which means you can no longer omit new when creating a new ObjectId using new mongoose.
    new mongoose.Types.ObjectId()
    
  • Additional advice for breaking changes when migrating to Mongoose 6 can be found at https://mongoosejs.com/docs/migrating_to_6.html

Migrating from orka 3.x to 4.x

  • Support for older node version pre v18 is dropped. Only v18 and v20+ will be unit tested and guaranteed to work
  • Usage of randomUUID that is not supported in many older versions
  • Changes in default config: istioTraceHeaders and headerPropagation are deprecated in favor of a generic propagatedHeaders
  • Methods kafka.send that was deprecated is removed. Use kafka.producer.send instead
  • Mongoose migrated to v7 which has breaking changes see here
  • KafkaJS version is specified to 2.x.x. Additional information about breaking changes when migrating to KafkaJS 2.x.x can be found at https://kafka.js.org/docs/migration-guide-v2.0.0
  • Mongoose migrated to v8 which has breaking changes see here

Migrating from orka 4.0.0 to 4.1.0

  • Mongoose migrated to ^8.7.0 to support MongoDB server 8.x see mongoose version compatibilty
  • DD-trace optional dependency migrated to >=4.30.0 to support the newer versions of the MongoDB driver (>v6.4) reference.