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.
32 lines
615 B
YAML
32 lines
615 B
YAML
---
|
||
- 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]
|