Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
@custody/cli
Advanced tools
Supervisor is great for running a bunch of processes but not for running a local, microservices development environment, where
gulp
processes, not the services whose
states change i.e. webserverssupervisorctl status
' is too high-level and static for such an environment, and toggling between
that view and individual process logs is cumbersome.
Enter custody, which gives you a realtime view of both the environment's overall status and individual services' logs with minimum keystrokes.
npm install -g @custody/cli
By default, custody uses /usr/local/var/custody
to store information and to enable probe->custody communication. You can override this directory by specifying the CUSTODY_PROC_DIR
environment variable.
Caution: Read https://github.com/mixmaxhq/custody/issues/80 to see how to properly configure this variable, if you choose to set it.
Node 10.16.0 shipped a regression in file watching that may degrade performance when custody is tailing log files. If you experience high CPU utilization while using custody, please try running custody under an older version of Node e.g. using
nvm
.
Make sure that Supervisor is running. Then run
custody-cli
If you're running Supervisor on a port other than 9001 (Mixmax engineers: your default),
pass that using the --port
flag.
This will show a view like supervisorctl status
--except real-time and color-coded:
If the programs shown here are build processes, that in turn run server processes, you can use custody-probe to report the states of the servers.
Scroll through the list using your arrow keys or the mouse--or type to filter to a service of interest:
Hit enter or double-click on a service to open its logs:
Within this view, you can stop/start/restart the service using the keyboard shortcuts in the bottom toolbar.
If you run custody-cli
with --notifications
, it will show desktop notifications when the
services' states change. You can click the "Show" button on the notification to activate the Terminal
and open custody to the corresponding service's logs. This feature is experimental--please contribute
UX feedback!
If you'd like notifications to stay on the screen until dismissed, go to System Preferences -> Notifications, look for "terminal-notifier" in the list at left, and change its alert style from Banners to Alerts. We can't do this for you, unfortunately.
If you've added probes to any of your servers, custody can automatically recover certain errors reported by those probes. In particular, if a server reports an EADDRINUSE error (see https://github.com/mixmaxhq/custody/issues/3), custody will automatically fix the port conflict by killing the process listening to your desired port, then restarting your process.
We welcome bug reports and feature suggestions. PRs are even better!
Check out the issues and milestones to see what you could tackle to get this project to v1 and beyond.
FAQs
A developer-oriented frontend for Supervisor
We found that @custody/cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
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.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.