Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cadence-web

Package Overview
Dependencies
Maintainers
0
Versions
241
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cadence-web

Cadence Web UI

  • 3.35.4
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
62
decreased by-37.37%
Maintainers
0
Weekly downloads
 
Created
Source

Cadence Web UI

Build Status Docker Status

Cadence is a distributed, scalable, durable, and highly available orchestration engine we developed at Uber Engineering to execute asynchronous long-running business logic in a scalable and resilient way.

This web UI is used to view workflows from Cadence, see what's running, and explore and debug workflow executions.

Demo Usage

Getting Started

Configuration

Set these environment variables if you need to change their defaults

VariableDescriptionDefault
CADENCE_TCHANNEL_PEERSComma-delmited list of tchannel peers127.0.0.1:7933
CADENCE_TCHANNEL_SERVICEName of the cadence tchannel service to callcadence-frontend
CADENCE_WEB_PORTHTTP port to serve on8088
CADENCE_EXTERNAL_SCRIPTSAddtional JavaScript tags to serve in the UI
ENABLE_AUTHEnable auth featurefalse
AUTH_TYPEconcurrently supports ADMIN_JWT''
AUTH_ADMIN_JWT_PRIVATE_KEYJWT signing private key for ADMIN_JWT type''

Running locally

cadence-web requires node v10.22.1 or greater to be able to run correctly. cadence-web uses all the standard npm scripts to install dependencies, run the server, and run tests.

To provide a consistent environment we recommend using docker in development. We provide a default configuration for remote containers using docker-compose.

Using VSCode Dev Containers
  1. Set up the Remote Containers plugin in VSCode.
  2. Open the cadence-web directory in VSCode.
  3. Use the Command Palette to select the 'Reopen folder in Container' option. npm install should run automatically in the container upon doing so.
  4. Run the app in the container with npm run dev.
  5. Open localhost:8088 (or the custom Cadence Web port you have defined) to load the webapp.
Using docker-compose to start the dev container

To start local server with live reload on code change you can run docker-compose up.

For development and contributing to cadence-web, please see the contributing guide.

You may also use docker by pulling ubercadence/web. It is also included in the Cadence server's local docker setup.

API

If you need to extend cadence-web to add middleware to the server, you can install cadence-web as a dependecy, and it will export the Koa web server that has not yet been started or configured. It includes an additional init function that will then compose the built-in middleware. This gives you an option to add middleware before or after you call init so it will add the middleware at the beginning or the end of the chain, respectively.

init(options)

All options are optional.

useWebpack: If true, starts webpack and adds the middleware, otherwise if false, it assumes the UI bundle was already built and serves it statically. Defaults to process.env.NODE_ENV === 'production'.

logErrors: If true, thrown errors are logged to console.error. Defaults to true.

For example, here is how you would add a request count metric using uber-statsd-client:

var app = require('cadence-web');
var createStatsd = require('uber-statsd-client');
var sdc = createStatsd({
  host: 'statsd.example.com',
});

app
  .use(async function(ctx, next) {
    sdc.increment('http.request');
    await next();
  })
  .init()
  .listen(7000);

The webpack configuration is also exported as webpackConfig, and can be modified before calling init().

Licence

MIT License, please see LICENSE for details.

Keywords

FAQs

Package last updated on 09 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc