Skip to content

A Simple But Advanced Node Application Process Manager

License

Notifications You must be signed in to change notification settings

AbhishekSuresh2/NodeShield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NodeShield

NodeShield is a robust and feature-rich process manager and load balancer for Node.js applications. It ensures your applications remain operational, scalable, and efficient in production environments. With powerful features like clustering, load balancing, error handling, and graceful shutdowns, NodeShield simplifies managing complex Node.js deployments.

Key Features

  • Comprehensive Process Management: Start, stop, restart, and monitor processes effortlessly.
  • Cluster Mode Support: Leverage multi-core CPU architecture for efficient load balancing and scalability.
  • Zero Downtime Reloading: Seamlessly reload applications without interrupting active users.
  • Automatic Restarts: Recover crashed processes automatically to ensure high availability.
  • Error Handling: Restarts processes when errors or specific conditions occur.
  • Graceful Shutdown: Safeguard data and connections during process termination.
  • Environment Configuration: Manage and switch between environments with ease.
  • Detailed Logging: Track process activity, errors, and performance metrics.
  • Process Insights: Retrieve real-time details of active processes.
  • Extensible Commands: Easily extendable to fit custom workflows.

Installation

Install NodeShield globally using npm:

npm install -g @abhisheksuresh2/nodeshield

Usage

NodeShield provides simple commands to manage your applications:

Commands Overview

Start a Process

Start a process with optional clustering and environment configuration:

nodeshield start <script.js> --name <process_name> --env <environment> [--cluster]

Stop a Process

Stop a specific process:

nodeshield stop <process_name>

Restart a Process

Restart a process to apply changes or recover from errors:

nodeshield restart <process_name>

Get Process Information

Retrieve detailed information about a specific process:

nodeshield info <process_name>

List All Running Processes

List all active processes along with their statuses:

nodeshield list

Example Usage

Start a clustered application in production mode:

$ nodeshield start app.js --name MyApp --env production --cluster
NodeShield is ready to manage your application!.

Advanced Usage

  • Cluster Mode: Use the --cluster flag to distribute the application across all CPU cores.
  • Environment Management: Configure --env to switch between environments like development, staging, or production.
  • Error Threshold Handling: Automatically restart processes after detecting multiple errors.

Contributing

We love contributions! Whether you're reporting bugs, suggesting features, or improving documentation, your input is welcome.

To get started:

  • Fork the repository and create a feature branch.
  • Submit a pull request with a detailed description of your changes.

Refer to our Contributing Guide for detailed guidelines.
By contributing, you agree to follow our Code of Conduct.

License

NodeShield is open-source software licensed under the MIT License. See the LICENSE file for details.

Changelog

Stay updated with the latest changes and improvements in NodeShield by visiting our Changelog.

Feedback & Support

For support, feature requests, or feedback, please open an issue on our GitHub repository.


About

A Simple But Advanced Node Application Process Manager

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published