chore: complete update
This commit is contained in:
134
x_ansible/setup.yml
Normal file
134
x_ansible/setup.yml
Normal file
@@ -0,0 +1,134 @@
|
||||
---
|
||||
# Basis-Setup für Server
|
||||
# Dieses Playbook richtet grundlegende Komponenten auf den Zielsystemen ein
|
||||
|
||||
- name: Basis-Setup für alle Zielsysteme
|
||||
hosts: all
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
pre_tasks:
|
||||
- name: Aktualisiere den Paket-Cache
|
||||
apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: 3600
|
||||
when: ansible_os_family == "Debian"
|
||||
tags: [system, update]
|
||||
---
|
||||
# Basis-Setup für Server
|
||||
# Dieses Playbook richtet grundlegende Komponenten auf den Zielsystemen ein
|
||||
|
||||
- name: Basis-Setup für alle Zielsysteme
|
||||
hosts: all
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
pre_tasks:
|
||||
- name: Debug Variablen
|
||||
debug:
|
||||
msg:
|
||||
- "Host: {{ inventory_hostname }}"
|
||||
- "Umgebung: {{ environment | default('undefiniert') }}"
|
||||
- "deploy_root: {{ deploy_root | default('undefiniert') }}"
|
||||
- "deploy_user: {{ deploy_user | default('undefiniert') }}"
|
||||
tags: [always, debug]
|
||||
|
||||
roles:
|
||||
- common
|
||||
- docker
|
||||
- webserver
|
||||
|
||||
post_tasks:
|
||||
- name: Zeige Erfolgsmeldung
|
||||
debug:
|
||||
msg: "Basiseinrichtung auf {{ inventory_hostname }} abgeschlossen"
|
||||
tags: [always]
|
||||
- name: Installiere grundlegende Pakete
|
||||
apt:
|
||||
name:
|
||||
- curl
|
||||
- wget
|
||||
- vim
|
||||
- htop
|
||||
- git
|
||||
- zip
|
||||
- unzip
|
||||
- python3-pip
|
||||
state: present
|
||||
when: ansible_os_family == "Debian"
|
||||
tags: [system, packages]
|
||||
|
||||
roles:
|
||||
- common
|
||||
- docker
|
||||
- webserver
|
||||
---
|
||||
- name: Basis-Setup für alle Zielsysteme
|
||||
hosts: web
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
pre_tasks:
|
||||
- name: Überprüfe Serververbindung
|
||||
ping:
|
||||
tags: [always, check]
|
||||
|
||||
- name: Zeige Server-Informationen
|
||||
debug:
|
||||
msg: "Verbunden mit {{ inventory_hostname }} ({{ ansible_host | default('IP unbekannt') }})"
|
||||
tags: [always, check]
|
||||
|
||||
roles:
|
||||
- common
|
||||
- docker
|
||||
|
||||
post_tasks:
|
||||
- name: Stelle sicher, dass Zielverzeichnisse existieren
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ deploy_user }}"
|
||||
group: "{{ deploy_user }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- "{{ deploy_root }}"
|
||||
- "{{ deploy_root }}/public"
|
||||
- "{{ deploy_root }}/ssl"
|
||||
- "{{ deploy_root }}/src"
|
||||
- "{{ deploy_root }}/docker"
|
||||
- "{{ deploy_root }}/docker/nginx"
|
||||
- "{{ deploy_root }}/docker/php"
|
||||
tags: [setup, folders]
|
||||
|
||||
- name: Erstelle Test-HTML-Datei
|
||||
copy:
|
||||
dest: "{{ deploy_root }}/public/index.html"
|
||||
content: |
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Server Setup erfolgreich</title>
|
||||
<style>
|
||||
body { font-family: Arial, sans-serif; margin: 40px; }
|
||||
h1 { color: #3273dc; }
|
||||
.container { max-width: 800px; margin: 0 auto; padding: 20px; border: 1px solid #eee; border-radius: 5px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1>Server-Setup erfolgreich!</h1>
|
||||
<p>Diese Seite bestätigt, dass die grundlegende Servereinrichtung abgeschlossen ist.</p>
|
||||
<p>Als nächstes können Sie das Deployment ausführen mit:</p>
|
||||
<pre>./ansible/deploy.sh {{ environment | default('staging') }}</pre>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
mode: '0644'
|
||||
owner: "{{ deploy_user }}"
|
||||
group: "{{ deploy_user }}"
|
||||
tags: [setup, test]
|
||||
post_tasks:
|
||||
- name: Zeige Erfolgsmeldung
|
||||
debug:
|
||||
msg: "Basiseinrichtung auf {{ inventory_hostname }} abgeschlossen"
|
||||
tags: [always]
|
||||
Reference in New Issue
Block a user