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.
26 lines
553 B
YAML
26 lines
553 B
YAML
---
|
|
- name: Test 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]
|
|
- role: storagebox_ssh_key
|
|
tags: [storagebox_ssh_key]
|
|
|
|
- name: Swarm Infrastructure Setup
|
|
hosts: all
|
|
become: yes
|
|
serial: 1 # Manager'in önce bitmesi ve token'i worker'a vermesi için
|
|
roles:
|
|
- role: swarm
|
|
tags: [swarm]
|