357 Commits

Author SHA1 Message Date
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 19f599e502 feat(secrets): replace config maps with secrets for sensitive configurations in multiple modules 2025-05-11 20:17:35 +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 3e12b13d95 fix(backup): update security context in cron job and improve backup script logging 2025-05-10 19:40:01 +02:00
alexandre.pires 01fc509795 feat(backup): update backup script and configuration to use variable tag and change source path 2025-05-10 19:18:16 +02:00
alexandre.pires a19c71009f feat(backup): add environment variables for app name and backup retention in cron job and fix quoting in backup script 2025-05-10 19:09:21 +02:00
alexandre.pires 9e45ff6376 feat(backup): add backup script and refactor cron job to use it 2025-05-10 19:06:25 +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 4d4f085c3e refactor: clean up environment variables and remove unused Nextcloud configurations 2025-05-08 19:18:19 +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 6adbd50c6d fix: Remove check for valid remote host info from CI/CD actions 2025-05-02 14:55:38 +02:00
alexandre.pires b04871a60c fix: Correct setup steps for Tofu environment and streamline system ID validation 2025-05-02 14:51:53 +02:00
alexandre.pires b961de0455 fix: Correct terraform_version to tofu_version in setup-opentofu-env action and update ansible command to ping public hosts 2025-05-02 14:46:59 +02:00
alexandre.pires 596f2b13ba fix: Correct ansible-inventory command to include --limit option for host group filtering 2025-05-02 14:40:52 +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 02e79deb5c fix: Update argument parser description for clarity 2025-05-02 14:24:41 +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 0eaadbe6a7 Reorganized folder structure 2025-04-29 22:40:27 +02:00
alexandre.pires 0d3f4a0a30 refactor: Clean up unused variables and simplify configurations across modules 2025-04-29 19:33:33 +02:00
alexandre.pires b7408fb4d8 Add Gitea and Mail modules with configuration and resources
- Created Gitea module with outputs, provider, and variables for deployment.
- Implemented Mail module including configuration for Dovecot and Postfix, along with necessary resources such as secrets, config maps, and deployments.
- Added Python script for bcrypt password hashing and integrated it into the Mail module.
- Defined persistent volumes and claims for Seafile module, along with Nginx configuration for serving content.
- Established necessary variables for all modules to ensure flexibility and configurability.
2025-04-27 22:36:18 +02:00
alexandre.pires 58fb1ea167 feat(terraform): remove websites module and add m3uproxy and nginx modules
- Deleted the websites module from the Terraform configuration.
- Introduced a new m3uproxy module with resources for Kubernetes namespace, secrets, config maps, deployments, services, and cron jobs.
- Added configuration files for m3uproxy, including JSON and playlist resources.
- Created a new nginx module with resources for Kubernetes namespace, services, config maps, deployments, and ingress.
- Added necessary variables for both m3uproxy and nginx modules.
- Updated provider configurations for m3uproxy and nginx modules to specify required versions.
2025-04-27 19:40:16 +02:00
alexandre.pires 654cf500f9 feat: Implement MariaDB and backup job modules with configuration and secrets management 2025-04-27 19:12:07 +02:00
alexandre.pires 761c183ce2 feat: Add Kubernetes website module with configuration, resources, and NGINX setup 2025-04-27 19:09:32 +02:00
alexandre.pires 3c7c95c8ee fix: Correct typo in publication description in hugo.yaml 2025-04-27 14:14:05 +02:00
alexandre.pires 89c48246fd fix: Update deployment workflow to use correct hugo_build script and improve logging 2025-04-27 14:09:06 +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 2fbe4dd1cc Refactor GitHub Actions workflows to standardize job names to 'iac-apply' and 'iac-validate' 2025-04-25 21:47:45 +02:00
alexandre.pires 30e2b0c440 Add GitHub Actions workflows for OpenTofu K8S Apps apply and validate; update S3 backend configuration 2025-04-25 21:44:43 +02:00
alexandre.pires 9ad18067de Remove deprecated Terraform IAC configurations and workflows 2025-04-25 21:37:45 +02:00
alexandre.pires 70988e3cf3 Remove deprecated import block from Contabo IAC configuration 2025-04-25 21:31:23 +02:00
alexandre.pires 53f3ae37cc Remove deprecated import configurations from ClouDNS IAC setup 2025-04-25 21:30:21 +02:00
alexandre.pires 85cbfb51ef Remove unused import configurations from Scaleway IAC setup 2025-04-25 21:28:08 +02:00
alexandre.pires d81590c8a1 Update workflow for OpenTofu Scaleway IAC application with Ansible setup and host info retrieval 2025-04-25 21:26:51 +02:00
alexandre.pires bd8bf86227 Add Scaleway IAC configuration with OpenTofu integration and environment setup 2025-04-25 21:21:19 +02:00
alexandre.pires cc15ff3247 Add Terraform configuration for ClouDNS IAC with OpenTofu integration 2025-04-25 19:51:17 +02:00
alexandre.pires 2d50aa1820 Set output "instances" as sensitive in Contabo IAC configuration 2025-04-25 17:50:58 +02:00
alexandre.pires 9839a3c9c6 Add Contabo IAC configuration and workflows for OpenTofu integration 2025-04-25 17:48:19 +02:00
alexandre.pires 427372da83 Remove obsolete outputs.tf file from AWS infrastructure configuration 2025-04-25 16:44:41 +02:00
alexandre.pires 6975026fc5 Add test step for OpenTofu version validation in CI/CD workflow 2025-04-25 16:42:02 +02:00
alexandre.pires eaf344f159 Add OpenTofu setup action and update workflows for OpenTofu integration 2025-04-25 16:40:39 +02:00
alexandre.pires e9c492d149 Add OpenTofu setup and configuration for AWS infrastructure
- Create action for setting up OpenTofu environment
- Update Terraform workflow to use OpenTofu for infrastructure management
- Modify backend configuration for S3 with new bucket and region
- Add S3 bucket resources with lifecycle configuration
- Update local variables and remove deprecated files
- Include required Python packages for OpenTofu
2025-04-25 16:37:01 +02:00
alexandre.pires 41ee9e0618 Refactor email configuration in Terraform files for improved clarity and consistency 2025-04-24 22:47:25 +02:00
alexandre.pires 835784a7a8 Update Ansible workflow to apply playbooks for Fail2Ban, GeoIP, and Duo Security 2025-04-24 22:27:26 +02:00
alexandre.pires d15ee52a49 Add Fail2Ban configuration for Postfix and create playbooks for Duo Security and GeoIP roles 2025-04-24 22:24:13 +02:00