39 Commits

Author SHA1 Message Date
alexandre.pires 8724360fb2 Enhance infrastructure and application configurations
- Updated AGENTS.md to include new directories for execution plans and implemented feature reports.
- Modified Ansible host variables for dev-02 and gpu-01 to change API endpoints and add new configurations for Scaleway.
- Adjusted firewall rules in gpu-01 to allow HTTPS traffic instead of the previous Ollama port.
- Added OAuth2 proxy configurations to gpu-01 for enhanced security.
- Removed deprecated open-webui module from Terraform app configurations.
- Updated Terraform configurations to reflect changes in local variables and removed unused secrets.
- Created a new sectool.json file for CloudNS integration with Bitwarden.
- Enhanced SELinux configurations for nginx to allow connections to any port and added oauth2-proxy port.
2026-07-12 16:28:45 -04:00
alexandre.pires a4a8554fb6 Update firewall rules for VPN devices and add dev-02 to nginx group in inventory 2026-07-11 19:45:35 -04:00
alexandre.pires 59b2c10c43 Add Linux development station role with systemd services for code-server and OpenCode
- Implemented handlers for restarting code-server and OpenCode services.
- Created main tasks for setting up a Linux development station, including user management, package installation, and configuration.
- Added validation for OpenCode server credentials and code-server password.
- Introduced tool package management for npm, uv, and go installers.
- Developed templates for systemd service units for code-server and OpenCode.
- Included scripts for starting code-server and OpenCode with SSH agent support.
- Updated inventory and Terraform configuration to include new development host.
2026-07-10 15:44:18 +02:00
alexandre.pires 040f7a382f Add macOS development station playbook and role
- Created a new Ansible playbook for configuring macOS development stations.
- Added role `macos_dev_station` with default variables, handlers, and tasks.
- Implemented tasks for installing Homebrew packages, managing user configurations, and setting up launch agents for code-server and opencode.
- Included templates for launchd plist files and startup scripts for code-server and opencode.
- Added validation for required environment variables and configurations.
- Updated inventory to include macOS hosts and added a setup script for initial prerequisites.
- Modified Terraform configuration to include DNS records for new services.
2026-07-04 15:37:35 +02:00
alexandre.pires c6f3b0f829 Add Windows Gitea runner role with Podman and Docker support
- Created templates for configuration files for both Podman and Docker-based Windows Gitea runners.
- Added default variables for Windows Gitea runner role, including instance URL, registration token, and image settings.
- Implemented tasks for validating settings, ensuring Docker service is running, and managing Docker users.
- Developed logic for building and managing Windows runner images and containers, including checks for existing images and containers.
- Updated inventory to include new groups for Windows Gitea runners.
- Adjusted Terraform configurations for timeout settings in ingress resources.
2026-07-03 19:12:48 +02:00
alexandre.pires e59a832d5d Added linux gitea runners 2026-06-30 20:31:12 +02:00
alexandre.pires 25d3eafa5b Add support for Ubuntu containers and WSL verification
- Implemented tasks for managing Ubuntu containers using Podman, including inspection, creation, starting, and SSH setup.
- Added verification tasks for WSL and Podman installation, machine existence, and NSSM service status.
- Created PowerShell scripts for Podman auto-start on Windows boot.
- Introduced Prometheus role with default configurations and installation tasks.
- Updated Windows SSH role to improve authorized_keys management and permissions handling.
- Modified inventory to include Windows containers host.
- Updated Grafana datasource configurations with direct IP addresses for Prometheus instances.
2026-06-07 20:35:59 +02:00
alexandre.pires 3775fa4b6e Refactor llama_server role for Windows support and EL-specific setup
- Added Windows-specific tasks for llama_server role, including installation of dependencies, setup of services using NSSM, and configuration of firewall rules.
- Introduced a new task file for Windows Exporter setup.
- Consolidated EL-specific setup tasks into a separate include file.
- Updated inventory to include additional host for llama server.
- Adjusted error handling in Prometheus service removal task to prevent failures.
2026-06-01 14:59:30 +02:00
alexandre.pires 350650ecc2 Add GPU monitoring services and configurations
- Create systemd service templates for llama_exporter, nvidia_exporter, and podman.
- Add Prometheus configuration template for GPU metrics scraping.
- Introduce variables for GPU monitoring role in main.yml.
- Implement tasks for syncing llama models, including user setup and package installation.
- Update podman tasks to ensure proper sudo access and lingering for the podman user.
- Modify inventory to include gpu_monitoring group.
- Add Terraform modules for deploying Vaultwarden, including ingress and service configurations.
- Create Grafana dashboard for real-time GPU monitoring metrics.
- Update secrets and environment files to include Vaultwarden admin token.
2026-05-29 23:42:14 +02:00
alexandre.pires e9e28a5ca8 Add new model files and update Ansible playbooks for Qwen3.5 and Qwen3.6
- Created model files for Qwen3.5 with different context lengths.
- Added a new Ansible host variable file for CI server configuration.
- Updated GPU server host variables to include Ollama models and model files.
- Enhanced playbooks for Podman to manage Ollama models, including copying model files and checking existing models.
- Introduced a new playbook for setting up Qwen3.6 with specific configurations.
- Updated Windows SSH tasks to improve security and configuration management.
- Added a Python utility to parse Ollama model names from command output.
- Modified Terraform configurations to include new DNS entries and proxy settings.
- Improved Nginx proxy configurations with timeout settings.
2026-05-27 23:53:00 +02:00
alexandre.pires 829ab48919 feat: Add SearXNG module and update infrastructure
- Introduced a new SearXNG module with configuration for Kubernetes deployment, service, and ingress.
- Updated existing Terraform app modules to include SearXNG in both dev-01 and prod-01 environments.
- Added necessary variables and secrets for SearXNG in the respective Terraform files.
- Updated Dockerfiles for llama.cpp and ollama to use latest versions.
- Enhanced security and hardening defaults in Kubernetes deployments.
- Improved documentation for Copilot instructions and Terraform workflows.
2026-05-20 20:58:02 +02:00
alexandre.pires 2c8b753393 feat: Update configuration for Nextcloud and Certbot, add image and video organization scripts 2026-01-08 23:39:55 +01:00
alexandre.pires 3c6647c215 feat: Add VFIO binding script and update playbook for enhanced virtualization support 2026-01-02 23:15:08 +01:00
alexandre.pires 03d5b39a4b feat: Add ROCm support and update Ollama configurations
- Created ansible playbooks for setting up AMD ROCm container environment.
- Added ROCm and AMD Graphics repositories in ansible tasks.
- Installed necessary ROCm packages including rocm-dkms and developer tools.
- Updated Dockerfile for Ollama to use version 0.13.4 and created a new Dockerfile for ROCm support.
- Enhanced game station scripts for better performance and added MangoHud configuration.
- Modified systemd service files to allow CPU core allocation.
- Updated playbooks for Ollama and Qwen2 to include new configurations and environment variables.
- Added Wake-on-LAN systemd service configuration.
- Updated Terraform configurations to include secret management for the web UI.
- Refactored Kubernetes deployment for open-webui to include secret handling and improved volume management.
2025-12-25 16:37:05 +01:00
alexandre.pires adc893de6e feat: Enhance game station setup and configuration
- Updated README with detailed instructions for creating a dedicated Ansible user on Linux, including SSH key setup and passwordless sudo.
- Added userConfigurations.json for Steam ROM Manager with configurations for various gaming consoles.
- Introduced scripts for managing Gamescope and Steam sessions, including launch scripts for various emulators (Genesis, PSP, RPCS3, SNES).
- Created systemd service for Gamescope session management.
- Developed Ansible playbook for configuring Fedora for optimized Sunshine and Gamescope streaming, including user setup and system configurations.
- Updated Prometheus configuration to reflect changes in exporter targets.
- Commented out the Devolo exporter module in Terraform configuration for future reference.
2025-10-25 23:54:05 +02:00
alexandre.pires 0e167d747d Add hpz440 host configuration and SSH setup for Windows; update Prometheus targets and variables 2025-10-05 23:18:44 +02:00
alexandre.pires 7cad175406 Add Prometheus setup for Windows: implement playbook, tasks, and Grafana dashboard configuration 2025-10-03 21:56:31 +02:00
alexandre.pires e6a3f3affd Add custom error pages and Nginx configuration for proxy module
- Introduced custom HTML error pages for various HTTP status codes (400, 401, 403, 404, 408, 429, 500, 502, 503, 504) in the proxy module.
- Created a .gitignore file to exclude non-HTML files in the error resources directory.
- Updated Nginx configuration to serve custom error pages for upstream errors.
- Added new Nginx configuration templates for handling HTTP and stream protocols.
- Implemented Wireguard configuration templates and associated variables for secure connections.
- Established Kubernetes resources for Stunnel and Wireguard, including deployment, service accounts, and config maps.
- Defined variables for the Stunnel and Wireguard modules to facilitate configuration.
- Created a new Wol Proxy module with Kubernetes resources for deployment and service management.
2025-10-02 00:19:01 +02:00
alexandre.pires 372df1b9e9 Add Windows game optimization setup and configuration scripts 2025-07-05 21:36:47 +02:00
alexandre.pires 6579e15394 Added auto-suspend, added wol proxy for ollama 2025-06-22 18:43:55 +02:00
alexandre.pires dab5520630 Enable WOL ansible task 2025-06-22 13:25:47 +02:00
alexandre.pires cac269f160 Minor fixes 2025-06-09 13:34:30 +02:00
alexandre.pires 359b6d47aa feat(comfyui): add Dockerfile, playbook, and Terraform configurations for ComfyUI setup 2025-06-08 21:18:53 +02:00
alexandre.pires 01bf71f8d2 feat(cert-manager): Add Cloudns issuer and DNS-01 challenge support
- Introduced a new Cloudns issuer configuration for cert-manager.
- Created separate tasks for DNS-01 and HTTP-01 challenge issuers.
- Updated cert-manager tasks to include Cloudns provider and manage secrets.
- Refactored existing LetsEncrypt issuer registration to use new task structure.
- Added necessary Kubernetes resources for Cloudns integration, including RBAC and certificates.
- Updated Terraform configurations to support new DNS records and service changes.
- Adjusted deployment strategies for CoreDNS and Open WebUI applications.
2025-06-07 20:39:38 +02:00
alexandre.pires 3cda0b5624 Add configuration for CoreDNS and update host variables for lab environment 2025-06-07 16:12:55 +02:00
alexandre.pires 3ea65f060f Major changes 2025-06-05 23:27:50 +02:00
alexandre.pires 755e14a602 Improved AI roles 2025-06-02 22:52:04 +02:00
alexandre.pires 54f7e5536a Added support for private apis 2025-06-02 01:42:17 +02:00
alexandre.pires 8dd48ec2c7 feat(ansible): add AI tools setup playbook and related configurations 2025-05-31 17:59:01 +02:00
alexandre.pires b692627317 Add configuration and playbook for virtualization host setup
- Create host variable file for vh-01.alexpires.dev with user, SSH, firewall, and VM configurations.
- Update playbook_duo_security.yml to target the 2fa group.
- Introduce playbook_virt_host.yml for setting up GPU passthrough on Fedora with QEMU/KVM.
- Add required collections to requirements.yml for Podman and Libvirt.
- Modify ctrlaltdel.yml to remove existing symlink for ctrl-alt-del.target before masking it.
- Enhance users.yml to show warnings for users that could not be removed.
- Update Duo Security role to use the correct repository and package names.
- Improve login role to handle user UID and group assignments.
- Create udev rules template for NVMe devices.
- Add blacklist template for VFIO drivers.
- Implement domain XML template for virtual machines with detailed configurations.
- Update inventory to include vh-01.alexpires.dev in relevant groups.
- Refactor cpu_power_monitor.py for improved error handling and modularity.
2025-05-31 00:28:04 +02:00
alexandre.pires bbc4fef0e8 feat(trivy): add Trivy integration with Kubernetes, including cron job and email reporting 2025-05-10 18:16:08 +02:00
alexandre.pires e6e85b00f7 feat(mail): enhance mail configuration with getmail and dovecot settings
- Added getmail configuration generation using template files.
- Introduced postfix and dovecot configuration checksums for deployment.
- Created new dovecot configuration file and sieve script for email handling.
- Updated main.tf to utilize local variables for configuration management.
- Removed redundant external password hasher from main.tf.

feat(nginx): improve nginx configuration management

- Centralized nginx configuration into a local variable with checksum.
- Created separate config maps for default website configurations.
- Updated deployment to utilize new configuration structure.

feat(sftpgo): add SFTPGo application deployment

- Introduced SFTPGo with Kubernetes resources including namespace, config maps, and secrets.
- Configured SFTPGo with SMTP settings and AWS credentials.
- Implemented health checks and volume mounts for persistent storage.

refactor(seafile): remove Seafile module

- Deleted Seafile module and associated resources as part of cleanup.
2025-05-05 00:47:36 +02:00
alexandre.pires 51ba9821a0 fix: Update default host group in Ansible setup and correct host entry in inventory 2025-05-02 14:34:08 +02:00
alexandre.pires 5b341c9430 feat: Update Ansible playbooks and host variables for improved organization and functionality 2025-05-02 14:24:08 +02:00
alexandre.pires 4e5346e2e0 feat: Enhance website deployment and build process
- Added rsync installation in setup-env action for file synchronization.
- Excluded playbook_websites.yml from ansible-apply-playbook workflow.
- Created a new workflow for building and releasing the Hugo website.
- Added submodule for Hugo theme in .gitmodules.
- Updated host_vars for production to include websites configuration.
- Introduced playbook_websites.yml for managing static files deployment.
- Implemented hugo_build script for building and archiving Hugo sites.
- Updated inventory to include a new web group for website deployment.
- Refactored Terraform configuration to support new website structure.
- Removed deprecated WordPress Terraform configuration.
- Added .gitignore files for websites and specific Hugo site.
- Created archetype and configuration files for the Hugo site.
- Added static assets including CV and images for the Hugo site.
- Integrated Hugo profile theme as a submodule for the website.
2025-04-27 14:03:56 +02:00
alexandre.pires afe0a1010d Add mail playbook and update firewall rules for mail services 2025-03-15 22:49:13 +01:00
alexandre.pires d9600e2734 Added Terraform/Ansible configuration to include RustDesk deployment 2024-10-26 21:41:10 +02:00
alexandre.pires b0a0e4ea4d Refactor host_vars and inventory paths for prod-01.alexpires.me 2024-10-06 14:33:19 +02:00
alexandre.pires 9c02c2b839 Refactor inventory path in ansible.cfg 2024-10-05 19:26:07 +02:00