Murat ÖZDEMİR f73504c0f2 Implement: Initial Ansible environment bootstrapping and core roles
This commit introduces the foundational Ansible playbooks, roles, and configurations for automated provisioning of both production and test environments.

Key capabilities include:
-   **Base System Setup:** Common packages, timezone, chrony, and hostname.
-   **Security Hardening:** SELinux disable, SSH configuration, `dnf-automatic`, `fail2ban`, `firewalld` setup, and `journald` log limits.
-   **Docker & Swarm:** Docker installation and configuration, Docker Swarm initialization/joining for managers and workers, overlay network creation, and node labeling.
-   **Storage:** Hetzner StorageBox integration using `davfs2`.
-   **Directory Structure:** Creation of application and database-specific directories.

This establishes a comprehensive, automated pipeline for infrastructure deployment and initial configuration.
2026-05-11 17:51:43 +03:00

32 lines
615 B
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
- name: Prod Environment Bootstrap (Common Roles)
hosts: all
become: yes
roles:
- role: base
tags: [base]
- role: hardening
tags: [hardening]
- role: docker
tags: [docker]
- role: node_dirs
tags: [node_dirs]
- role: storagebox
tags: [storagebox]
- name: Swarm Infrastructure Setup (Prod HA)
hosts: iklim-app-*
become: yes
serial: 1
roles:
- role: swarm
tags: [swarm]
# Prod'da DB node'ları da worker olarak swarm'a katılır
- name: DB Nodes Swarm Join
hosts: iklim-db-*
become: yes
roles:
- role: swarm
tags: [swarm]