Skip to content

Files

Latest commit

b2a56e4 · Dec 13, 2021

History

History
92 lines (90 loc) · 3.62 KB

BACKLOG.md

File metadata and controls

92 lines (90 loc) · 3.62 KB
  • async/await

  • complex argument and return value mapping

  • Message timestamps

  • json validation on sub and pub

  • Pagination for divergent/split messages

  • acknowledgments and requeues

  • fatal error queue after retries and delays (TTL and deadletter)

  • logging

  • transactions and correlation id

  • sub systems (not on the main bus)

  • improved exception handling

    • elegant handling of ergo (vs component) application errors
  • robust rabbit connection management

  • kafka log stream source of truth

  • request response pattern

  • http gateway

  • Githooks

    • lint
    • version increase verification
    • security scan
  • Make master branch readonly

  • Add instructions to README

  • introduce .ergo configuration

    • segment by function reference (main.py:get_mileage)
  • separate invoker/invocable into input/output combination (think http gateway)

  • introduce unit tests pattern for components

  • introduce unit tests for ergo codebase itself

  • define input and output datastructure (instead of list)

  • make sure variable definitions are typed

  • BUG: use of absolute folder for reference doesn't work

  • restructure project to avoid repetition of ergo.

  • add a test to verify ergo run product 4.3 3.2 is working

  • improved automation around versioning

  • https://github.com/levlaz/circleci.py

  • combine ergo dependencies into single ergo package

  • [!] dynamic routing in cli and shell invocation

  • Transaction management

    • signaling end of stream
    • stream ordering
  • Topic wildcarding, sorting, parameterized carryover

  • Structured logging around low level execution and messages

  • Augment topics with lowlevel metadata (to:serviceX, from:serviceY, ip_address, etc.)

  • Support providing a readable name in configuration for rabbit queue

  • Dynamic routing

  • signature binding

  • sample component for ergo lib

  • documentation

  • verification of http interface

  • switch to .ergo for ergo graph

  • other executors: stdio, call stack, http (revisited)

  • node.js support

  • instrumentation/monitoring/datadog/new relic

  • metadata/data protocol

  • unit tests (ergo)

  • component unit testing framework

  • logging

  • transactions/correlation/lineage

  • request/response

  • transactions

  • data protocol version management

  • one-click deployment

  • convergence pattern

  • error retries/handling

  • stack trace

  • RPC

  • http gateway

  • event streams

  • deployment scheme into ergo library

  • payload validation (input and output)

  • payload serialization (adapters)

  • config callbacks as values

  • payload, topic, class clean up

  • elimination of pure helper functions

  • asyncio clean up (done the way it was done in node.js at sstk - [ ] single entry point async)

  • topic parameterization

  • topic parameterizationpass-through

  • topic parameterizationexpansion

  • topic parameterizationcompression

  • topic parameterizationinbound boolean (and/or) (array of topics inbound)

  • topic outbound multiple

  • specific consumers in clusters (web-socket example)

  • return value mapping/binding

  • message timestamps (and other metadata)

  • acknowledgments and requeues and long running operations

  • reintroduction of git hooks

  • linting, typing mechanics

  • overcome strong typing oversights (tech debt) - re-type everything