Skip to content

Scout is a daemon that serves feature flag data from Compass to the connected SDK clients, as part of the Pioneer feature flag management architecture.

License

Notifications You must be signed in to change notification settings

pioneer-io/scout

Repository files navigation

Pioneer logo

Scout Maintainability

Scout

⚠️ This project is no longer actively maintained ⚠️

Scout is a daemon that serves feature flag data from Compass to connected SDK clients, as part of the Pioneer feature flag management architecture. For more information, visit Pioneer's case study page.

Usage

Scout is set up as a subscriber of NATS messages from the DATA and KEY streams. The DATA stream is used to receive updated feature flag rulesets from Compass. They KEY stream is used to receive the current valid SDK key from Compass.

Pioneer's SDK clients (installed in the user application) will request to connect to Scout as server-sent event clients. Scout will verify the legitimacy of the SDK client via the SDK key. Once authenticated, Scout will transmit up-to-date feature flag rulesets to the SDKs via server-sent events.

Setup

Within the root directory: npm install.

Run the app individually

npm start

App will run on port :3030.

This application should be subscribed to a NATS server in order to receive messages from Compass app. See below for how to start NATS:

To connect with nats server

Ensure Docker is running then docker pull nats to pull nats server.

To run server in detached mode: docker run -d --name nats-main -p 4222:4222 -p 6222:6222 -p 8222:8222 nats --js

To stop the docker container when finished with server:

// get container ID
docker ps
docker stop <container ID>

Unit Tests

Run the following from the root directory:

npm test

About

Scout is a daemon that serves feature flag data from Compass to the connected SDK clients, as part of the Pioneer feature flag management architecture.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •