An app server to serve thick-client (only) applications. Supports user-defined feature flags for conditional distribution.
-
Server has some way of create Feature Flag tuples, i.e.
{ name, accounts, branch }
-
Any UID scheme should work
-
Store in
flags.json
-
App server serves FC app, queries FFs, serves the right bundle of HTML/CSS/JS for req
-
those bundles are indexed, obviously, by SHA (of a feature branch)
Sync flags between client-server and the API-server
$ npm install
You can transparently specify the location of the manifest file, the feature
releases directory, as well as the port for the Connect server in index.js
.
Define your feature flags in the manifest file at config/flags.json
following
the format of
{
"branch-name": [ ],
}
where you list all accepted values of the account-id
request cookie header
in the array.
If a request is made with an account-id
value that is not contained in any
of the defined feature flags (or if it’s not set at all), Shunter will always
default to serve the current release from features/master/
.
Start the Connect server from the shunter/
directory with
$ npm index.js