Commit Graph

48 Commits

Author SHA1 Message Date
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 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 bb8b14dcca feat(vaultwarden): add SMTP password handling and update email configurations 2026-05-30 23:48:41 +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 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 dd943c8963 fix: Add missing newline at end of trivy vulnerabilities dashboard JSON file 2026-05-22 23:41:31 +02:00
alexandre.pires 255ba6aec9 feat(trivy): Enhance Trivy report generation and metrics handling
- Updated `generate_report.sh` to include additional scanners and output paths.
- Enhanced `send_report.py` with new data classes for misconfigurations and vulnerabilities.
- Improved parsing logic for Trivy output, supporting both Kubernetes and image scans.
- Added Prometheus metrics generation for various scan results, including misconfigurations and vulnerabilities.
- Introduced unit tests for parsing Trivy output and generating Prometheus metrics.
- Modified Terraform variables for SMTP port type and added Pushgateway URL variable.
2026-05-22 23:41:26 +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 dcf9a5c796 feat: Update Gitea version to 1.25-rootless and add SSH server key exchanges configuration 2026-03-09 22:03:30 +01: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 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 edbe8fbf6f feat: Add ALVR installation and configuration to playbook, update mstream module with ingress and deployment resources 2025-11-18 18:19:42 +01:00
alexandre.pires d069fe3585 feat(cert-checker): add Kubernetes resources for certificate checking functionality
- Implemented a new module for cert-checker with Kubernetes resources including ServiceAccount, Role, RoleBinding, ConfigMap, and CronJob.
- Added Python script to check certificate expiry and restart deployments if necessary.
- Configured environment variables for deployment name, namespace, and service details.
- Included requirements for the Python environment.

feat(devolo-exporter): introduce Devolo exporter for Prometheus metrics

- Created a new module for Devolo exporter with Kubernetes resources including ServiceAccount, ConfigMap, Deployment, and Service.
- Developed Python scripts to scrape metrics from Devolo devices and expose them to Prometheus.
- Configured environment variables for Devolo device IP, model, and ports.
- Added requirements for the Python environment.
2025-10-13 22:35:35 +02:00
alexandre.pires 84c8288f8a feat: implement getmail runner script and update email fetching configuration 2025-10-06 23:36:50 +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 a412c96c46 Add cert checker module: implement Kubernetes resources, certificate validation logic, and deployment restart functionality 2025-10-02 16:53:28 +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 1e8526f442 Enhance Trivy integration: update email dispatch logic, add LLM prompt generation, and improve security context in deployments 2025-09-21 23:55:53 +02:00
alexandre.pires aee57a8b89 Refactor Gitea and SSH configurations, update backup scripts, and enhance Nginx settings
- Updated SSH configuration for Gitea to disable banner and TTY, and modified the AuthorizedKeysCommand.
- Simplified gitea-shell script to directly call the k8s_gitea_shell command with required parameters.
- Removed unused gitea-auth script from playbook_gitea.yml.
- Updated systools_version in playbook_systools.yml to 0.4.5.
- Enhanced ssh_locker_helper to copy redirect URL to clipboard based on OS.
- Added a new script test_imaps for IMAP testing.
- Updated Terraform configurations for various applications, including:
  - Added a backup script for MariaDB with retention policy.
  - Changed Gitea version to 1.24-rootless and adjusted SSH settings.
  - Updated Nginx configurations to log errors and access to stderr/stdout.
  - Refactored services to use ClusterIP type and adjusted security contexts for deployments.
  - Added temporary storage for applications using empty_dir.
  - Enhanced backup.sh scripts for better error handling and logging.
2025-09-20 21:34:33 +02:00
alexandre.pires ff4197e757 Refactor m3uproxy configuration: update cache and data paths, adjust JSON structure for EPG and auth file 2025-09-07 20:56:44 +02:00
alexandre.pires 50758b2bb2 Update Dockerfile and Terraform configurations: upgrade Ollama version, add log level variable, and set default log level 2025-09-07 20:42:06 +02:00
alexandre.pires fa2d111bbe Minor fixes 2025-07-06 23:09:45 +02:00
alexandre.pires bef5d94023 Adde a few changes 2025-07-06 22:56:13 +02:00
alexandre.pires 6579e15394 Added auto-suspend, added wol proxy for ollama 2025-06-22 18:43:55 +02:00
alexandre.pires c162944a73 Add support for nginx streams 2025-06-16 23:19:25 +02:00
alexandre.pires b130883bc6 Enable delete of mails after deliver 2025-06-10 17:07:44 +02:00
alexandre.pires 826959c903 Add Nextcloud deployment and configuration
- Introduced Nextcloud module with Kubernetes resources including deployment, service, ingress, and cron job.
- Configured Apache settings for Nextcloud with SSL support and compression.
- Created secrets for mail and admin credentials.
- Added necessary environment variables for Nextcloud configuration.
- Removed unused Scaleway access and secret keys from secrets and variables.
- Updated CoreDNS module to support custom host overrides.
- Implemented backup bucket policies and lifecycle rules for Scaleway object storage.
- Enhanced IAM policies and applications for backup and email services.
- Added outputs for backup bucket and API keys.
2025-06-09 23:49:43 +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 d969525b58 feat(nginx-reverse-proxy): add custom error pages and update configuration for error handling 2025-06-07 22:10:42 +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 d3b8aff1ae - Implemented samba service
- Improved firewall rules
2025-06-06 23:49:38 +02:00
alexandre.pires 3ea65f060f Major changes 2025-06-05 23:27:50 +02:00
alexandre.pires 54f7e5536a Added support for private apis 2025-06-02 01:42:17 +02:00
alexandre.pires b0162abb88 Addes support for reverse proxy to home server 2025-06-01 17:14:33 +02:00
alexandre.pires 071b4eea9e feat(ssh_locker): implement ssh locker helper scripts and configuration for Duo API integration 2025-05-22 22:55:27 +02:00
alexandre.pires c9def750f6 feat(ansible): add playbook for installing A13Labs systools with tasks for downloading, unpacking, and setting permissions 2025-05-19 00:34:21 +02:00
alexandre.pires 4e07e062ce fix(m3uproxy): update playlist file references from .m3u8 to .json and correct descriptions in variables 2025-05-18 12:20:49 +02:00
alexandre.pires 19f599e502 feat(secrets): replace config maps with secrets for sensitive configurations in multiple modules 2025-05-11 20:17:35 +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 5d2f50feb9 feat(mail): add stunnel support for Dovecot and Postfix with configuration and certificate management 2025-05-10 15:37:00 +02:00
alexandre.pires a0ac55e746 feat(gitea): update Gitea version to 1.23.7 and enhance liveness probe with TLS support 2025-05-09 23:22:34 +02:00
alexandre.pires 17a54f6792 feat(gitea): refactor configuration to use structured app_config and add TLS support 2025-05-09 22:21:33 +02:00
alexandre.pires 9de7d52192 feat(sftpgo): add TLS support and internal certificate management 2025-05-08 22:36:47 +02:00
alexandre.pires d1267f816b feat(mail): add Dovecot and Getmail configurations with ingress setup for SFTPGo 2025-05-05 19:56:43 +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 0eaadbe6a7 Reorganized folder structure 2025-04-29 22:40:27 +02:00