initial commital

This commit is contained in:
2026-09-02 14:47:08 -06:00
commit 3c80aef53b
23 changed files with 1648 additions and 0 deletions

62
site.yml Normal file
View File

@@ -0,0 +1,62 @@
---
# =============================================================================
# Minecraft Podman Deployment - Main Playbook
# =============================================================================
# Usage:
# ansible-playbook site.yml # Deploy to all minecraft servers
# ansible-playbook site.yml --limit external-apps # Deploy to specific host
# ansible-playbook site.yml --tags install # Only run install tasks
# ansible-playbook site.yml --tags config # Only run config tasks
# ansible-playbook site.yml --tags backup # Only run backup tasks
# ansible-playbook site.yml --tags update # Only run update tasks
- name: Deploy Minecraft Server on Podman
hosts: minecraft
become: true
gather_facts: true
pre_tasks:
- name: Display deployment info
ansible.builtin.debug:
msg: |
========================================
Minecraft Podman Deployment
========================================
Target: {{ inventory_hostname }}
Server: {{ minecraft.server_name }}
Type: {{ minecraft.server_type }}
Image: {{ podman.image }}
Port: {{ minecraft.port }}
Memory: {{ minecraft.java_memory }}
========================================
- name: Verify target is Fedora
ansible.builtin.assert:
that:
- ansible_distribution == "Fedora"
fail_msg: "This playbook is designed for Fedora. Detected: {{ ansible_distribution }}"
success_msg: "Fedora {{ ansible_distribution_version }} confirmed"
roles:
- role: minecraft-podman
tags:
- install
- config
- backup
- update
- always
post_tasks:
- name: Display completion message
ansible.builtin.debug:
msg: |
========================================
Deployment Complete!
========================================
Server IP: {{ ansible_default_ipv4.address | default(ansible_host) }}
Port: {{ minecraft.port }}
RCON: {{ 'Enabled' if minecraft.rcon_enabled else 'Disabled' }}
Status: {{ minecraft.server_name }}.service
========================================
Connect: {{ ansible_default_ipv4.address | default(ansible_host) }}:{{ minecraft.port }}
========================================