158 Commits
Author SHA1 Message Date
Janik von Rotz fbfbc50bfa fix: improve hostname parsing logic to correctly identify and free available hostnames
- Replace `sed`-based hostname extraction with `grep -oE` to accurately isolate numeric suffixes
- Ensure consistent variable quoting in loops and `printf` commands to prevent word splitting
- Update the free hostname check to use anchored `grep` patterns for precise matching
2026-10-13 17:52:15 +02:00
Janik von Rotz e92338bcdc feat: integrate logo resize and convert scripts into task CLI and update documentation 2026-10-12 08:18:34 +02:00
Janik von Rotz 326038114a feat: move restic role to dedicated docker_restic role with S3 support and update documentation 2026-10-10 17:50:00 +02:00
Janik von Rotz bd30aa88c4 refactor: standardize DNS record keying and remove delay wrappers
- Replace string-based DNS record identification with structured objects containing key, id, source, type, target, and ttl
- Update DNS creation, update, and deletion logic to use the new composite key for matching records
- Refine TTL update logic to only trigger when the desired TTL differs from the existing one
- Remove `open-url-with-delay` calls in favor of `open-url` in `upgrade-odoo` and `task` scripts
- Simplify URL opening logic by removing unnecessary delay arguments
2026-09-10 13:45:40 +02:00
Janik von Rotz 35a392e7d8 fix: make venv activation non-fatal in task script
- Add `|| true` to `activate-venv` call to prevent script failure if virtual environment is not available
- Ensure task execution continues even when venv activation is skipped
2026-09-10 11:32:31 +02:00
Janik von Rotz 940ae5af71 feat: update build script to copy role files recursively and add pnpm workspace config
- Change `cp` commands in `task` build-vuepress function to `cp -r` to correctly copy directory contents from roles
- Add `pnpm-workspace.yaml` to project root and update `.gitignore` to track it
- Update README.md to replace Vercel badge with GitHub Actions deploy workflow badge
- Add default values for PORT and TARGET_PORT variables in `bin/upgrade-odoo` script
2026-08-25 14:16:38 +02:00
Janik von Rotz 6076c41be9 feat: add GitHub Actions deployment workflow and adjust Ansible logging path
- Add `.github/workflows/deploy.yml` to automate Kubernetes pod deletion on main branch push
- Change Ansible log path from `/var/log/ansible.log` to `/var/tmp/ansible.log` in `ansible.cfg.template`
- Remove manual log file setup steps from the `task` install function as the log path no longer requires root permissions
2026-08-25 13:45:46 +02:00
Janik von Rotz 98f7c9ed6a BREAKING CHANGE: merge inventories and restructure playbooks for modular deployment
- Merge `odoo` and `nextcloud` inventories into `mint_system` with scoped host and group variables
- Rename host_vars folders and apply `_odoo`/`_nextcloud` suffixes to hosts for clear separation
- Restructure `mint_system/hosts.yml` to group hosts under `setup`, `odoo`, and `nextcloud` children
- Update playbooks (`all`, `nextcloud`, `odoo`, `setup`) to target specific host groups instead of `all`
- Remove redundant `postgres` and `mariadb` dependencies from `nextcloud` role meta
- Refactor `list-hosts` script to support flattened inventory structures and improved column sorting
- Mark inventory merge task as completed in documentation
2026-08-20 08:20:31 +02:00
Janik von Rotz 51ac20f7e2 feat: update documentation and task script for merged mint_system inventory
- Replace all references to `inventories/odoo` and `inventories/setup` with `inventories/mint_system` in README.md
- Update cleanup playbook filename from `cleanup.yml.yml` to `cleanup.yml` in documentation examples
- Extend host configuration lookup in `task` script to search nested children groups if not found in direct children
- Update merge strategy prompt to include moving `odoo` and `nextcloud` group_vars to the new `setup` scope
2026-08-11 21:17:01 +02:00
Janik von Rotz 8c7204b6d6 feat: add Odoo upgrade script and documentation
- Create new `bin/upgrade-odoo` script to manage Odoo version upgrades between environments
- Implement steps for database/filestore dump, restore, and rename operations
- Add support for test and production upgrade modes with module initialization and configuration
- Include troubleshooting commands (logs, shell, psql, env, conf)
- Add `upgrade-odoo` command to the main task script with dynamic help table entry
- Introduce dotenv management commands (`copy`, `create`, `edit`, `list`, `load`, `remove`, `rename`, `restore`, `show`)
- Update navigation menu in `.vuepress/config.js` with "Upgrade Odoo" link
- Create comprehensive `upgrade-odoo.md` documentation covering setup, test run, production run, and recovery
- Update `CHANGELOG.md` with new features and changes
- Configure `dev-vuepress` task to automatically open the browser after starting the server
2026-08-05 17:49:31 +02:00
Janik von Rotz 20204b321a feat: refactor task script help table with dynamic grouping and alignment
- Replace static printf-based table generation with dynamic array processing
- Introduce command grouping headers (e.g., ===ENV===, ===GALAXY===) for better readability
- Implement automatic column width calculation based on content length
- Add visual separators between command groups
- Maintain existing command descriptions and option syntax
2026-08-05 17:14:02 +02:00
Janik von Rotz 764556cb82 feat: test upgrade from 18.0 to 19.0 2026-07-21 10:40:29 +02:00
Janik von Rotz baa58c0b60 fix: remove remove-venv 2026-07-21 10:28:52 +02:00
Janik von Rotz ce64bd863d feat(task): add function column and optional grep filter to list-hosts
- Added Function column to list-hosts output table for both inventory types
- Implemented optional [grep] parameter for case-insensitive row filtering
- Fixed set -e bug by adding || true to customer detection grep
- Updated help documentation to reflect new list-hosts signature
- Added task prompt documentation file for this enhancement
2026-06-15 17:37:18 +02:00
Janik von Rotz a38f764114 feat(task): enhance connect-host with optional username override and improve user handling
- Added optional username parameter to connect-host command for flexible user specification
- Implemented fallback logic to use ansible_user when no override is provided
- Improved variable naming and code structure for better readability
- Maintained backward compatibility by keeping original behavior when no username is specified
- Updated help documentation to reflect the new [host][username] parameter format
2026-05-29 10:54:45 +02:00
Janik von Rotz b19cd464f5 feat(roles): add dependency visualization tool and update role metadata
- Added `bin/visualize-dependencies` script to generate interactive dependency graphs for Ansible roles
- Created `visualize-dependencies` command in `task` file to run visualization and open HTML output
- Updated role dependencies to use `docker_network` instead of `docker` where appropriate
- Added `meilisearch_client` role with dependency on `meilisearch`
- Cleaned up README.md files by removing redundant newlines
- Added kind classification to all role READMEs (consistent with previous commits)
2026-05-13 09:00:57 +02:00
Janik von Rotz 223ac183eb feat(roles): add kind classification to all role READMEs and update documentation 2026-05-11 11:15:05 +02:00
Janik von Rotz 4640a92bf5 fix(task): update regex pattern to match role hostname with trailing characters 2026-04-08 08:37:13 +02:00
Janik von Rotz 588669b7ee feat(odoo): remove postgres version parameter from docker-odoo-upgrade and auto-detect version from container 2026-03-23 12:53:39 +01:00
Janik von Rotz f676067a94 feat(certbot, odoo): add postgres version parameter to docker-odoo-upgrade and conditionally include certbot scripts 2026-03-20 18:49:50 +01:00
Janik von Rotz 36d4dc3efa feat(task): refactor encrypt-string to accept separate key and value arguments 2026-03-20 09:33:08 +01:00
Janik von Rotz 0608600b9a feat(task): add generate-encrypted-string command to create encrypted strings with random values 2026-03-20 08:49:40 +01:00
Janik von Rotz 610f83af77 feat(task): add hosting provider display to list-hosts command with improved formatting and IFS handling 2026-02-18 08:29:19 +01:00
Janik von Rotz 42720c9b97 refactor(test-project): comment out metabase health check with FIXME note for GitHub Runner compatibility 2026-02-17 08:30:06 +01:00
Janik von Rotz 02ededeceb refactor(test-project): remove metabase health check from test script 2026-02-17 08:25:58 +01:00
Janik von Rotz 7d683f3378 feat(prompts): add zsh and bash completion script instructions and update cleanup defaults with node_exporter data dir 2026-02-16 16:01:36 +01:00
Janik von Rotz 5f721456b9 refactor(test-project): simplify log display by showing container status instead of logs and restore nginx proxy configurations 2026-02-16 15:50:21 +01:00
Janik von Rotz b8ee6a5d59 refactor(test): rename test-localhost to test-project and update workflow steps 2026-02-16 15:48:11 +01:00
Janik von Rotz a4a7ae1975 fix(metabase): correct syntax error in MB_DB_DBNAME variable assignment
feat(test-localhost): enhance log display with timestamps, tail limit, and empty log handling

chore(nginx): comment out unused proxy configurations for n8n, odoo, grafana, keycloak, and open_webui
2026-02-12 12:26:03 +01:00
Janik von Rotz 9c24c36c3d feat(backup): optimize scripts to delete destination files before creating new dumps and fix test-localhost logs display 2026-02-11 21:07:36 +01:00
Janik von Rotz c1994a5cc1 feat(task): add activate-venv function to handle venv activation or creation 2026-01-29 13:33:31 +01:00
Janik von Rotz 221a7d125d feat(task): re-add activate-venv for single command execution 2026-01-29 13:03:00 +01:00
Janik von Rotz 69d87741a8 refactor(task): remove unnecessary activate-venv call in comma-separated command handling 2026-01-28 14:20:15 +01:00
Janik von Rotz 588ca9a52a feat(task): support comma-separated command execution and improve command handling 2026-01-28 09:28:56 +01:00
Janik von Rotz 75a570bde5 feat(restic_server): add orphaned backup folder detection and list-tags task helper 2026-01-23 14:41:56 +01:00
Janik von Rotz bf18b0b66e refactor(task): simplify container status check and log output in test-localhost 2026-01-23 08:25:44 +01:00
Janik von Rotz 10e20729cf feat(open_webui): add new role for deploying Open WebUI with Keycloak integration 2026-01-19 17:05:14 +01:00
Janik von Rotz 92518bf3c5 feat(task): display Python version in version command output 2026-01-16 09:26:59 +01:00
Janik von Rotz b9e55f42e9 feat(cleanup): add pgadmin and postgres data dir cleanup, fix n8n volume removal, and remove redundant ppgadmin task 2026-01-14 17:57:28 +01:00
Janik von Rotz c14c095c89 feat(n8n): update hostname in configmap and improve localhost test failure diagnostics with container status and logs 2026-01-13 17:00:41 +01:00
Janik von Rotz 5769f4e71a refactor(task): add exit code output to test-localhost for debugging 2025-12-18 15:39:28 +01:00
Janik von Rotz c1d815eacb refactor(vuepress): remove empty lines and standardize script copying in build-vuepress task 2025-12-17 15:03:33 +01:00
Janik von Rotz af33e32a67 refactor(vuepress): reorder and standardize directory creation and file copying in build-vuepress task 2025-12-12 09:07:45 +01:00
Janik von Rotz 15365791ab refactor(task): suppress error output when activating venv in serve-vuepress 2025-12-04 13:51:09 +01:00
Janik von Rotz 6ff1f49e0d refactor(task): add set -e to ensure script exits on error 2025-12-03 13:50:50 +01:00
Janik von Rotz 2cfe8b4b2e refactor(deps): revert Python version to 3.10 and add run command
- Revert `.python-version` from 3.13 back to 3.10 for compatibility
- Add `run` command to task script for executing Ansible ad-hoc commands
- Update CHANGELOG to reflect Python version change and new command
- Add documentation in ssh role for showing OpenSSH version via `task run`
2025-12-03 09:25:00 +01:00
Janik von Rotz c009cad73a refactor(task): remove redundant activate-venv calls and update Python version to 3.10
- Remove unnecessary `activate-venv` calls from functions that don't require it
- Update `.python-version` from 3.11 to 3.10 for consistency
- Simplify `install()` by moving venv setup before dependency installation
- Add explicit Python version check and installation in `install()`
- Update `requirements.txt` to use latest versions without pinning
- Fix example in `roles/restic/README.md` to match Odoo backup context
2025-12-02 15:21:05 +01:00
Janik von Rotz 7aaaf78b38 feat(task): add install-ansible-build-scripts command to install role-specific scripts
- Adds new `install-ansible-build-scripts` command to the task script
- Allows installation of scripts for a specified Ansible role
- Extends automation capabilities for role-based script deployment
- Updates help table to include new command with description and usage format
2025-11-28 12:53:07 +01:00
Janik von Rotz 798eb12a83 feat(odoo): merge odoo_scripts role into odoo role and update script installation paths
- Merged `odoo_scripts` role into `odoo` role for simplified management
- Moved all Odoo-related scripts from `roles/odoo_scripts/files/` to `roles/odoo/files/`
- Updated installation references and documentation to reflect consolidated structure
- Removed redundant `odoo_scripts` entries from playbooks, cleanup tasks, and documentation
- Adjusted script URLs in documentation and build processes accordingly
- Ensures better organization and maintainability of Odoo-related automation
2025-11-28 12:51:45 +01:00
Janik von Rotz bca7faf16a feat(inventory): rename test directory to inventory and update references
- Renamed `test` directory to `inventory` for clarity and consistency
- Updated `.gitignore` to reflect new inventory location
- Modified `task` script to use `inventory` instead of `test` for Ansible playbooks
- Updated PostgreSQL image version from 14-alpine to 16-alpine in localhost vars
- Aligns with infrastructure organization and standardization efforts

Closes #XYZ
2025-11-25 16:11:16 +01:00