Skip to content

EdgeBus is a library and standalone server application that makes your life easy in production integration of different systems and make development a fun and easy experience.

License

Notifications You must be signed in to change notification settings

edgebus/edgebus

Repository files navigation

docs service-typescript
Branch #dev TBD Badge - TypeScript Service Snapshot (#dev)
Branch #master TBD Badge - TypeScript Service Snapshot (#master)
Tag TBD Badge - TypeScript Service Release

EdgeBus

EdgeBus is an application level network edge bus that adds connectivity, auditability, and observability to your apps with no code changes.

Get Started

  1. !IMPORTANT! Read about how Git manages multiple working trees. This repository uses multiple trees approach based on orphan branches.
  2. Clone the repository
    git clone --branch workspace [email protected]:edgebus/edgebus.git
    cd edgebus
  3. Initialize worktree by execute following commands
    git worktree add database              "database#master"
    git worktree add docs                  "docs#master"
    git worktree add console-dart          "console-dart#master"
    git worktree add sdk-dart              "sdk-dart#master"
    git worktree add service-typescript    "service-typescript#master"
  4. Open VSCode Workspace
    code "EdgeBus.code-workspace"

Local Deployment

Local Deployment - is a set of shell scripts to generate docker-compose.yaml file and launch the project using Docker Compose especially for local development.

  • Login Docker to GitHub Container Registry with scope at least read:packages. See how to Authenticating with a personal access token.
  • (Optionally) Create a file startup.config.local. Use this file for override startup configuration variables defined in the file startup.config.
  • Up local deployment zone by call one of
    • in foreground
      • (force pull new images): ./up.sh --force-pull; sleep 1; ./down.sh
      • ./up.sh; sleep 1; ./down.sh
    • in background
      • start (force pull new images): ./up.sh --force-pull -- --detach
      • start : ./up.sh -- --detach
      • stop: ./down.sh

Note: for up.sh all arguments after -- are passing to docker compose)

Local Deployment Diagram

Resources over port mapping

Infra (on Docker host)

Runtime (on Docker host)

Workspace

Branch Description
workspace Current branch
docs Sources of EdgeBus documentation.
src-dart-console Dart sources of an Administrator Console Web Application.
src-typescript-service TypeScript sources of a Service Application.

Known Issues

  • pgAdmin does not setup servers list if stop initial launch

Notes

Add new orphan branch to the worktree

NEW_BRANCH=...
git worktree add --detach "./${NEW_BRANCH}"
cd "./${NEW_BRANCH}"
git checkout --orphan "${NEW_BRANCH}"
git reset --hard
git commit --allow-empty -m "Initial Commit"
git push origin "${NEW_BRANCH}"

Docker

  • Cleanup Docker volumes
    docker volume prune
  • Cleanup Docker all (images, networks, volumes)
    docker system prune --all --volumes

Follow Logs

docker logs --follow edgebus-local-deployment-edgebus-1

About

EdgeBus is a library and standalone server application that makes your life easy in production integration of different systems and make development a fun and easy experience.

Topics

Resources

License

Stars

Watchers

Forks

Packages