EverWrath/apps
Yehonal de98f42411
feat(Service Manager): add service registry custom dir and restore functionality (#22589)
This pull request introduces significant enhancements to the service management system by adding a service registry with features like automatic tracking, reboot persistence, and restoration of missing services. 

The goal of this PR is to allow the user to store the service configuration files into an arbitrary directory, in this way they can be easily tracked, versioned, and replicated across different environments

It also includes a migration script to transition from the legacy service configuration format to the new registry-based system. Below is a summary of the most important changes:

### Service Registry and Management Enhancements:
1. **Service Registry Integration**:
   - Added a comprehensive service registry system to track all created services, enabling features like cross-reboot persistence and restoration of missing services (`apps/startup-scripts/src/service-manager.sh`). [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R41-R229) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R273)
   - Introduced commands for managing the registry, such as `restore` for recreating missing services and `list` for viewing registered services. [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R273) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R332-R334) [[3]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R346-L172)

2. **PM2 Persistence**:
   - Enhanced PM2 integration to automatically configure startup persistence across reboots using `pm2 startup` and `pm2 save` after service creation.

### Migration and Compatibility:
3. **Migration Script**:
   - Added a `migrate-registry.sh` script to convert legacy service configurations into the new registry format. It ensures compatibility while preserving existing service information (`apps/startup-scripts/src/migrate-registry.sh`).

### Documentation Updates:
4. **Updated README**:
   - Expanded documentation in `README.md` to explain the new service registry features, including usage examples, custom configuration directories, and migration instructions. [[1]](diffhunk://#diff-0917b2888cc9b16539173f318b77773d08f7bf360579b68b9710a96ca2bcbb64L387-R468) [[2]](diffhunk://#diff-0917b2888cc9b16539173f318b77773d08f7bf360579b68b9710a96ca2bcbb64R613-R626)

### Configuration Improvements:
5. **Custom Configuration Directories**:
   - Added support for overriding the default configuration directory for service registry and files using the `AC_SERVICE_CONFIG_DIR` environment variable. [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9L14-R15) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R346-L172)

These changes significantly improve the usability, reliability, and maintainability of the service management system, especially for setups requiring persistence and multi-project configurations.
2025-08-25 20:25:17 +02:00
..
bash_shared refactor(Apps/Dashboard): Remove Deno as a dependency to the dashboard (#16934) 2023-09-10 01:12:47 +02:00
ci fix(CI/modules-build): disable archived / outdated module mod-war-effort (#22722) 2025-08-23 16:05:17 -03:00
codestyle feat(Codestyle/SQL): Ensure InnoDB is used as DB Engine (#22457) 2025-07-11 15:52:16 +02:00
compiler feat(tests): add BATS test parallel conf and integration tests for compiler module (#22421) 2025-07-06 17:03:51 +02:00
config-merger feat(apps): Config Merger (#5779) 2021-05-11 17:46:28 +02:00
DatabaseSquash feat(DB): Release ACDB 13.0.0 (#22508) 2025-07-19 13:16:46 +02:00
docker fix(apps/docker): put TZ ARG after FROM to be correctly applied (#22600) 2025-08-06 12:08:47 +02:00
EnumUtils feat(License): add new headers information about license (#7941) 2021-09-30 13:40:52 +07:00
extractor feat(apps/extractor): add extractor for non windows (#22123) 2025-05-14 23:29:43 +01:00
Fmt refactor(Core/Misc): Acore::StringFormat to fmt format (#19838) 2024-09-03 07:59:37 -03:00
git_tools feat(docker): production images, integrated ccache and many other improvements (#5551) 2021-05-04 11:35:24 +02:00
grafana feat(Core/Metrics): implement real time statistic visualization (#8663) 2021-10-28 14:47:29 +02:00
installer fix(CI/windows): bump openssl to 3.5.2 (#22628) 2025-08-06 13:21:12 +02:00
startup-scripts feat(Service Manager): add service registry custom dir and restore functionality (#22589) 2025-08-25 20:25:17 +02:00
test-framework feat(tests): add BATS test parallel conf and integration tests for compiler module (#22421) 2025-07-06 17:03:51 +02:00
valgrind chore(Valgrind): Move Valgrind from data folder to apps folder (#14778) 2023-01-29 11:56:00 -03:00
whitespace_remover feat(apps): Add a tool to remove trailing whitespaces (#4074) 2021-04-18 14:03:31 +02:00