Commit Graph

43 Commits

Author SHA1 Message Date
alexandre.pires e59a832d5d Added linux gitea runners 2026-06-30 20:31:12 +02:00
alexandre.pires df5a98853b auto_suspend: binary GPU idle counter replaces EMA for GPU 2026-06-29 18:10:35 +02:00
alexandre.pires 4825ad1495 - Added windows llama proxy
- Added terraform-mcp
- Added S3 storage to gitea
- Changed context size for windows LLMs
- Changed number of cores for VMs, added P2000 support
2026-06-29 14:31:28 +02:00
alexandre.pires 80c154df03 auto_suspend: busctl->shutdown now, 1min timer config, AMD JSON parsing, locale fix, unit tests 2026-06-09 20:45:08 +02:00
alexandre.pires f8a0a8ab1f fix(auto_suspend): update SELinux context handling to avoid ignoring errors 2026-06-08 22:14:41 +02:00
alexandre.pires 98b0f215aa Add fixtures and unit tests for auto suspend functionality
- Introduced fixture files for AMD and NVIDIA GPU monitoring outputs, CPU usage statistics, and user sessions.
- Created a comprehensive unit test suite for the auto_suspend module, covering state management, CPU and GPU measurement, user activity detection, and evaluation logic.
- Updated Ansible tasks to install Python instead of bc, create necessary directories and log files, and ensure proper SELinux context for the auto suspend script.
- Modified the systemd service and timer configurations to improve the auto suspend functionality, including command-line arguments for the Python script.
2026-06-08 22:09:21 +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 ec740f458f feat(vaultwarden): add SMTP configuration options and enhance signup settings
- Introduced SMTP settings for Vaultwarden including host, port, security, and authentication details.
- Added variables for signup verification, 2FA settings, password hints, and logging options.
- Updated Vaultwarden deployment to utilize new SMTP configurations.
- Enhanced Grafana module to support dynamic dashboard and datasource provisioning.
- Added LLM proxy configuration for Open Web UI with necessary environment variables.
2026-05-30 23:24:44 +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 3c6647c215 feat: Add VFIO binding script and update playbook for enhanced virtualization support 2026-01-02 23:15:08 +01: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 3ea65f060f Major changes 2025-06-05 23:27:50 +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 2ba2df5cf7 refactor(encryption): update aws-encryption-provider service to use k8s_encryption_provider and remove obsolete scripts 2025-05-19 00:41:28 +02:00
alexandre.pires fef5c73726 feat(fwknopd): add Ansible role for fwknopd management with necessary tasks and configurations 2025-05-18 15:50:18 +02:00
alexandre.pires 15b07ea85d feat(encryption): refactor encryption provider scripts, update KMS integration, and enhance key management 2025-05-12 22:43:42 +02:00
alexandre.pires 05d1624bdd feat(terraform): update metallb version, refactor IAM policies, and enhance security 2025-05-11 20:58:05 +02:00
alexandre.pires 457f2bd810 feat(encryption): implement AWS KMS integration with encryption provider and update related configurations 2025-05-11 19:41:48 +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 e980abcb2e Refactor RHEL7 repository installation command for better readability 2025-04-24 19:16:22 +02:00
alexandre.pires 748b8ff7e2 Refactor Ansible actions to improve host inventory handling 2024-10-06 18:06:37 +02:00
alexandre.pires 90852bb9a6 Refactor AIDE configuration and add exclusion paths 2024-10-05 21:19:51 +02:00
alexandre.pires f8ddb332e8 Minor fixes
- DNS implementation
- Fixed missing mount in encrypted volumes
- Improved chronograph.sh
2024-10-05 18:11:41 +02:00
alexandre.pires 6c1d7f59b3 Refactor requirements-dev.txt and remove molecule-vagrant 2024-10-02 21:28:32 +02:00
alexandre.pires ff523bd14b Refactor inventory file and add encryption scripts 2024-10-01 22:57:13 +02:00
alexandre.pires 9ae5a6446b Add encryption role and related files 2024-09-29 16:11:31 +02:00
alexandre.pires a03aca39df Refactor ansible-apply.yaml to include playbook_login.yml 2024-09-29 11:42:32 +02:00
alexandre.pires 5324ef7ec0 Refactor encryption secret in microk8s install.yml and repository.vault 2024-09-29 01:38:48 +02:00
alexandre.pires 6a9c86bd91 Refactor encryption secret in microk8s install.yml 2024-09-29 01:19:11 +02:00
alexandre.pires 0cef49cda3 Refactor encryption secret in microk8s install.yml 2024-09-29 01:11:37 +02:00
alexandre.pires abf28888fb Refactor ansible-lint configuration 2024-09-28 23:30:41 +02:00
alexandre.pires d2bf2ed418 Refactor sshconfig.yml to set ssh version as fact only when ssh_version.stderr is not empty 2024-09-28 23:24:08 +02:00
alexandre.pires 6248286ad2 Encryption and major changes 2024-09-28 23:12:19 +02:00
alexandre.pires 1f060541c3 Refactor playbook_microk8s.yml and ansible-apply.yaml
Simplify playbook_microk8s.yml by removing duplicate lines and whitespace changes.
Update ansible-apply.yaml to include a scheduled job for Terraform Apply.
2024-09-28 21:27:24 +02:00
alexandre.pires 4032d5c1d3 Refactor ufw.yml to include retries and delay for firewall rules 2024-09-26 20:34:46 +02:00
alexandre.pires a6c8ab5127 Refactor ansible-apply.yaml and inventory/hosts, add ansible.cfg 2024-09-26 20:06:47 +02:00
alexandre.pires 9278fe47f2 Refactor Microk8s plugin configuration and disable ha-cluster plugin 2024-09-24 20:48:45 +02:00
alexandre.pires 8a43e2e301 Refactor SSH configuration and playbook execution in ansible-apply.yaml 2024-09-24 20:14:45 +02:00
alexandre.pires 05e0a66919 Refactor SSH configuration and update playbook execution in ansible-apply.yaml 2024-09-24 19:55:00 +02:00
alexandre.pires 50250c57d2 Refactor SSH configuration in ansible-apply.yaml and update playbook execution with ECDSA private key 2024-09-24 18:56:17 +02:00
alexandre.pires f445996797 Initial ansible onboard 2024-09-24 15:19:51 +02:00