Ascend is a lightweight and portable service manager built on the eli Lua-based framework. It efficiently manages application services and is open-source under the AGPL-3.0 license.
- Lightweight and portable
- Built on the eli Lua-based framework
- Open-source under the AGPL-3.0 license
- Unix-based operating system
- eli framework installed
- Basic knowledge of command-line operations
1. Install ascend:
Ascend relies on the eli framework. To install the latest binary release of ascend, run:
wget https://raw.githubusercontent.com/alis-is/ascend/main/tools/setup/standalone-linux.sh -O /tmp/setup-ascend.sh && sh /tmp/setup-ascend.shThis command downloads and executes the installation script for ascend, asctl and eli and setup the path for them.
If needed please use sudo
Ascend utilizes environment variables for its configuration. You can override the default settings by setting the following environment variables:
ASCEND_SERVICES: Path to the services directory.ASCEND_HEALTHCHECKS: Path to the health checks directory.ASCEND_SOCKET: Path to the IPC endpoint socket.ASCEND_LOGS: Path to the log directory.ASCEND_INIT: Path to the initialization script.
To set these environment variables in a Unix-based system, use the export command:
export ASCEND_SERVICES=/path/to/your/services
export ASCEND_HEALTHCHECKS=/path/to/your/healthchecks
export ASCEND_SOCKET=/path/to/your/socket
export ASCEND_LOGS=/path/to/your/logs
export ASCEND_INIT=/path/to/your/init_scriptReplace /path/to/your/... with the actual paths you intend to use.
Execute ascend:
ascendAscend will read the environment variables and manage the defined services accordingly.
asctl start <service-name>asctl stop <service-name>asctl restart <service-name>asctl listasctl status <service-name>asctl show <service-name>Replace <service-name> with the name of your service.
Ascend logs service output to files located in the logs directory within the project folder. Each service has its own log file named after the service (e.g., <service-name>.log).
This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.
Note: Ensure you have the necessary permissions to execute scripts and manage services on your system
git clone https://github.com/alis-is/ascend.gitcd ascend/src
export ASCEND_SERVICES=../tests/assets/services/1
export ASCEND_LOGS=../logsascend --log-level=traceIn another terminal u can run the asctl commands to check the running service.