Commit graph

289 commits

Author SHA1 Message Date
killerwife
3091733dd5
fix(apps/installer): windows setup (#23007) 2025-09-23 20:46:07 -03:00
Yehonal
db1ebb04e9
Improve INSTALL_ARGS handling and update OpenSSL version (#22978) 2025-09-20 13:19:21 +02:00
Yehonal
119af32649
feat(Scripts): Add health and console commands to service manager and corresponding tests (#22814) 2025-09-06 15:10:42 +02:00
Yehonal
d3a6c09b31
feat(config): add support for excluding modules during installation and updates (#22793) 2025-09-06 11:22:22 +02:00
Yehonal
c9e1782d7a
Refactor menu command handling for direct execution (#22791) 2025-09-04 11:47:44 +02:00
Yehonal
599d206584
feat(MenuSystem): Implement unified menu system for AzerothCore management (#22786) 2025-09-04 00:03:55 +02:00
Yehonal
5a79a4edce
Feat/refactoring-module-menu (#22733) 2025-08-30 23:44:07 +02:00
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
sudlud
2a73b89f6a
fix(CI/modules-build): disable archived / outdated module mod-war-effort (#22722) 2025-08-23 16:05:17 -03:00
sudlud
a276f25d2f
fix(CI/windows): bump openssl to 3.5.2 (#22628) 2025-08-06 13:21:12 +02:00
j-sax
cee5313554
fix(apps/docker): put TZ ARG after FROM to be correctly applied (#22600)
Co-authored-by: Jesper Saxtorph <gitforgot.sax@manware.dk>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 12:08:47 +02:00
NoxMax
c7351be94a
fix(bash): Exit simple-restarter script if shutdown is requested (#22617) 2025-08-06 08:48:48 +02:00
Yehonal
dbee211506
fix(bash/starter): enhance interactive mode handling (#22516)
This pull request updates the startup script in `apps/startup-scripts/src/starter` to improve handling of interactive and non-interactive modes, particularly when running under different session managers. 

### Improvements to interactive and non-interactive mode handling:

* Updated the condition to check if the application should run interactively by combining `AC_LAUNCHED_BY_PM2` and `AC_DISABLE_INTERACTIVE` environment variables. This ensures more accurate handling of interactive mode.


Fixes: https://github.com/azerothcore/azerothcore-wotlk/issues/22507
2025-07-27 13:50:20 +02:00
Kitzunu
129434bb42
feat(DB): Release ACDB 13.0.0 (#22508) 2025-07-19 13:16:46 +02:00
Ryan Turner
b90638fdf3
feat(Codestyle/SQL): Ensure InnoDB is used as DB Engine (#22457) 2025-07-11 15:52:16 +02:00
Yehonal
ed8139b82a
feat(tests): add BATS test parallel conf and integration tests for compiler module (#22421) 2025-07-06 17:03:51 +02:00
Yehonal
9fcacf7ea7
feat: improve session management and PM2 support in startup scripts (#22420)
New feature to manage service restart policies and refactors crash logging paths for better flexibility and clarity. The most significant changes include adding support for configurable restart policies (`on-failure` and `always`), updating documentation to reflect these changes, and improving crash path handling in multiple scripts.
2025-07-06 12:00:38 +02:00
Yehonal
9a837ee1f7
fix(bash): Improve session management and GDB handling in service scripts (#22418)
This pull request introduces several enhancements and fixes to the startup scripts for AzerothCore, focusing on improving service management, interactive mode handling, and script execution. The most important changes include adding support for non-interactive mode, enhancing systemd integration, and refactoring the starter script to handle binary paths and files more robustly.

### Enhancements to Service Management:
* **Non-Interactive Mode:** Added `AC_DISABLE_INTERACTIVE` environment variable to disable interactive prompts for services running without session managers (e.g., systemd/pm2). This prevents hanging during non-interactive execution. (`apps/startup-scripts/src/run-engine`, `apps/startup-scripts/src/service-manager.sh`) [[1]](diffhunk://#diff-1792abab64da981c71221890876ce832aab405f670f320f75b73b8788b1a4174R336-R349) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R724-R727)
* **Enhanced Systemd Integration:** Services using session managers like tmux/screen are automatically configured with `Type=forking` and appropriate `ExecStop` commands to terminate sessions gracefully. (`apps/startup-scripts/src/service-manager.sh`) [[1]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R401-R425) [[2]](diffhunk://#diff-31edfed7f73d0647a5fc96ce74c249e025e884cd1fe06621cb78eb4a381464f9R567-R578)

### Improvements to Script Execution:
* **Starter Script Refactor:** Updated the starter script to require both binary path and file name as parameters, improving clarity and error handling. (`apps/startup-scripts/src/starter`) [[1]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631L6-R16) [[2]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631L26-R44)
* **Temporary GDB File Management:** Enhanced handling of temporary GDB configuration files, ensuring proper cleanup after execution. (`apps/startup-scripts/src/starter`) [[1]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631R68-R70) [[2]](diffhunk://#diff-e92f132163ec1e49dc625eac9107c6841ae14e416aa35adec787dca5031dc631R92-R141)

### Updates to Tests:
* **Test Adjustments:** Modified test cases to reflect the updated starter script parameter requirements and error messages. (`apps/startup-scripts/test/test_startup_scripts.bats`) [[1]](diffhunk://#diff-febbaeb294e50bdba0511ecad5d44b0c3f11ae92c79dd19dbd5f61d41a654278L26-R26) [[2]](diffhunk://#diff-febbaeb294e50bdba0511ecad5d44b0c3f11ae92c79dd19dbd5f61d41a654278L41-R49)
2025-07-05 23:02:04 +02:00
Yehonal
161898b7e6
fix(installer/windows): update OpenSSL version to 3.5.1 to fix gh build errors (#22416)
Chocolatey on windows cannot download openssl 3.4.1 since the source has been removed.

3.5.1 is available instead. However, this must be tested

This https://community.chocolatey.org/packages/openssl/3.4.1 is pointing to this: https://slproweb.com/download/Win32OpenSSL-3_4_1.exe that doesn't exist anymore and has been replaced by the 3.4.2, but chocolatey doesn't have this version yet
2025-07-03 20:31:18 +02:00
Yehonal
04547d90b3
fix(CI): update build job to support multiple Ubuntu versions (#22413) 2025-07-03 11:03:16 +02:00
Yehonal
e1b2689c3a
feat(bash): startup-scripts reworked + bash scripts workflow integration (#22401) 2025-07-01 15:35:54 +02:00
Kitzunu
f4e049f227
refactor(db-scripts): replace PowerShell database tools with Bash scripts and update documentation (#22372)
* closes https://github.com/azerothcore/azerothcore-wotlk/issues/4343

This pull request replaces the PowerShell implementation of the AzerothCore database export and squash tools with Bash scripts, streamlining the process and improving compatibility. It also updates the documentation to reflect these changes. The most important changes include the creation of new Bash scripts for exporting databases, squashing databases, and updating versions, as well as the removal of the previous PowerShell script and its associated documentation.

### Script Replacement and Enhancements:
* [`apps/DatabaseSquash/DatabaseExporter/DatabaseExporter.sh`](diffhunk://#diff-af0bd252ac095aaad91b842c75b60a689792e6dc9ce88f5e2e4b6f68acf84dcaR1-R69): Introduced a Bash script to replace the PowerShell implementation for exporting database tables, with added features such as formatted SQL output and dynamic directory creation.
* [`apps/DatabaseSquash/DatabaseSquash.sh`](diffhunk://#diff-79ff4f749c045a7d91e9b43aefb5d6fbebdc5fdfb430fbcba329e4d96d71a4fbR1-R52): Added a Bash script to automate the database squash process, integrating the version updater and database exporter tools.
* [`apps/DatabaseSquash/VersionUpdater/VersionUpdater.sh`](diffhunk://#diff-3abc69c645cb80aff30824739e317c9e847e743eeab15ab4825951d10179b265R1-R84): Created a Bash script for automatically updating the version in `acore.json` and generating SQL update files with proper versioning.

### Documentation Updates:
* [`apps/DatabaseSquash/DatabaseExporter/databaseexporter.md`](diffhunk://#diff-b2b291286f2b900a022474f00754ebfe78410780c010d46752335a372d688aefR1-R16): Rewritten documentation to reflect the usage of the new Bash script for database exporting.
* [`apps/DatabaseSquash/VersionUpdater/versionupdater.md`](diffhunk://#diff-f12e21f8a404957c90d9120cf9df0724ff27a7efdb5de0798d974079cfe8adadR1-R10): Added documentation for the new version updater tool, explaining its functionality and usage.
* [`apps/DatabaseSquash/databasesquash.md`](diffhunk://#diff-4a559f6e7404b529714bac65ad22744feb7b9f88343864a20e0a46974233767eR1-R11): Documented the overall database squash tool, detailing its integration of the version updater and database exporter scripts.

### Removal of Legacy Code:
* [`apps/DatabaseExporter/DatabaseExporter.ps1`](diffhunk://#diff-2b4e49f704d88a372b5160c7278839668c81dbecaf52a4edd327873e30b9ae70L1-L234): Removed the PowerShell script for database exporting, along with its associated functionality and settings.
* [`apps/DatabaseExporter/databaseexporter.md`](diffhunk://#diff-0618d62def0d611be6e0d4fc524df6f702f493cb87870d9382402aaf52f484e8L1-L85): Deleted outdated documentation for the PowerShell-based database exporter tool.
2025-06-28 16:17:48 +02:00
Kitzunu
ca8a2a5f58
fix(CI/Codestyle): Add directory check to SQL codestyle script (#22376) 2025-06-28 15:06:39 +02:00
Yehonal
03df002471
fix(bash): repository initialization bugs and update configurations (#22311) 2025-06-17 18:30:51 +01:00
Jelle Meeus
3e20d6edf8
feat(apps/extractor): add extractor for non windows (#22123) 2025-05-14 23:29:43 +01:00
sudlud
e8ba158c62
fix(CI/modules-build): enable mod-antifarming (#21654) 2025-03-05 13:10:58 +01:00
sudlud
ba37b3d130
feat(CI/modules-build): add all current azerothcore modules (#21624) 2025-03-03 18:46:03 +01:00
Kitzunu
9e4c74bab1
fix(CI/Codestyle): Minor typo in insert_delete_safety_check (#21639) 2025-03-02 18:48:42 +01:00
Kitzunu
6786cb19c3
fix(CI/Codestyle): Imrpove semicolon check and general improvements (#21632) 2025-03-02 18:02:09 +01:00
Kitzunu
ee23fdca3d
fix(CI/Codestyle): Escape all MySQL keywords and skip /* comments (#21631) 2025-03-02 16:49:18 +01:00
Kitzunu
cd8761796f
fix(CI/Codestyle): skip SQL keyword 'NOT' (#21591) 2025-02-24 06:16:20 +01:00
Andrew
f6c4164765
chore(CI): Add mod-costumes (#21548) 2025-02-20 06:29:46 +01:00
Andrew
862690ecc0
chore(CI): Add mod-arena-3v3-solo-queue.git (#21530)
Co-authored-by: sudlud <sudlud@users.noreply.github.com>
2025-02-19 13:38:59 +01:00
demetrzz
75752880e2
fix(Apps/Codestyle) corrected wrong text in the sql codestyle check (#21466)
Co-authored-by: pavel_k <pavel_k@mail.com>
2025-02-15 22:15:37 +01:00
Kitzunu
19847395eb
fix(CI/Windows): Bump openssl version (#21458) 2025-02-15 13:12:13 +01:00
Kitzunu
787b4e4efe
fix(CI/Codestyle): correct double semicolon check (#21388) 2025-02-10 20:24:28 +01:00
Kitzunu
31529db282
fix(CI/Codestyle): Final fixes to backtick check (#21361) 2025-02-08 11:34:38 +01:00
Kitzunu
2c561f0433
fix(CI): typo (#21347) 2025-02-07 09:51:25 +01:00
Kitzunu
306f41a2d8
fix(CI/Codestyle): ignore lines starting with @ (#21346) 2025-02-07 06:52:38 +01:00
Kitzunu
668864556b
fix(CI/Codestyle): Ignore comments for backtick check (#21343) 2025-02-07 00:09:55 +01:00
Kitzunu
f46fea0ac9
fix(CI/Codestyle): Backtick check SET, quote and REPLACE case (#21333) 2025-02-05 17:25:34 +01:00
sudlud
02a903b16f
fix(CI/Windows): fix windows build (#21322) 2025-02-03 22:01:14 +01:00
Kitzunu
5d9e45ab9b
feat(CI/Codestyle): backtick check for sql (#21321) 2025-02-03 21:03:21 +01:00
Kitzunu
9e9a2fe5e3
refactor(Core/ObjectMgr): Change GetAcoreString from char const* to s… (#21213)
...ring
2025-02-01 22:46:42 +01:00
Kitzunu
137337601d
fix(DB/Misc): Bad delete in update file (#21307)
Co-authored-by: Andrew <47818697+Nyeriah@users.noreply.github.com>
2025-02-01 16:48:24 +01:00
Jelle Meeus
b47ec3b5c8
fix(Apps/Codestyle): ignore comments for some checks (#21268) 2025-01-25 19:58:01 +01:00
Grimdhex
7725610ff3
chore(Apps/Codestyle): add new checks for SQL files (#21026) 2025-01-21 10:44:39 +01:00
Jelle Meeus
5bc512f75c
chore(Docker): Update dev container to ubuntu24.04 (#21044) 2025-01-19 12:46:28 +01:00
Grimdhex
ffae375f73
fix(Apps/Codestyle): rewrite semi-colon check (#21027) 2024-12-24 12:39:00 +01:00
Kitzunu
d5fac96a20
refactor(CI/Codestyle): Move the SQL check to python (#21002) 2024-12-22 16:50:32 +01:00