diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f871924 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Python +__pycache__/ +*.py[cod] +*.egg-info/ +dist/ +build/ +.pytest_cache/ +.mypy_cache/ +.ruff_cache/ +*.egg + +# venv +.venv/ +venv/ + +# Projekt-spezifisch +create_selfsign/crt/ \ No newline at end of file diff --git a/create_mygit_default_conf/main.py b/create_mygit_default_conf/main.py index c4ef6b3..5f9666d 100755 --- a/create_mygit_default_conf/main.py +++ b/create_mygit_default_conf/main.py @@ -1,17 +1,18 @@ -#! /usr/bin/env python3.10 +#! /usr/bin/env python3 -import os, configparser +import os +import configparser -#Set Skript Vars +# Set Skript Vars user_gitconfig = os.environ["HOME"] + os.sep + ".gitconfig" config_ini = configparser.ConfigParser() list_my_git_projects = [ - "https://gitea.schlaubistechtalk.de", - "https://gitlab.com", - "https:ubuntu:5000" - ] + "https://gitea.schlaubistechtalk.de", + "https://gitlab.com", + "https:ubuntu:5000" +] my_username = os.environ["USER"] if not os.path.exists(user_gitconfig): os.popen("touch " + user_gitconfig) @@ -27,7 +28,7 @@ if not config_ini.has_section("core"): config_ini.set("core", "editor", '"vim"') config_ini.set("core", "pager", '"less --raw - control - chars"') - config_ini.set("core", "autocrlf","false" ) + config_ini.set("core", "autocrlf", "false") if not config_ini.has_section("init"): config_ini.add_section("init") config_ini.set("init", "defaultBranch", "main") @@ -40,9 +41,9 @@ if not config_ini.has_section("credential"): if not config_ini.has_section("alias"): config_ini.add_section("alias") config_ini.set("alias", "lo", "log --oneline --stat") - config_ini.set("alias", "last", "log -1 HEAD") + config_ini.set("alias", "last", "log -1 HEAD") config_ini.set("alias", "br", "branch") - config_ini.set("alias", "ci", "commit") + config_ini.set("alias", "ci", "commit") config_ini.set("alias", "co", "checkout") config_ini.set("alias", "st", "status") config_ini.set("alias", "p", "push") @@ -51,14 +52,14 @@ if not config_ini.has_section("alias"): for my_git_site in list_my_git_projects: if not config_ini.has_section("credential " + '"' + my_git_site + '"'): config_ini.add_section("credential " + '"' + my_git_site + '"') - config_ini.set("credential " + '"' + my_git_site + '"', "username", my_username) + config_ini.set("credential " + '"' + my_git_site + + '"', "username", my_username) if not config_ini.has_section("URL " + '"' + my_git_site + '"'): config_ini.add_section("URL " + '"' + my_git_site + '"') - config_ini.set("URL " + '"' + my_git_site + '"', "insteadOf", 'git@' + my_git_site + ":") + config_ini.set("URL " + '"' + my_git_site + '"', + "insteadOf", 'git@' + my_git_site + ":") -#writing_all_configs +# writing_all_configs with open(user_gitconfig, "w") as configfile: config_ini.write(configfile) - - diff --git a/create_selfsign/README.md b/create_selfsign/README.md new file mode 100644 index 0000000..bcca399 --- /dev/null +++ b/create_selfsign/README.md @@ -0,0 +1,91 @@ +# selfsign_ca + +CA-gestützte Erstellung selbst-signierter X.509-Zertifikate mit Python `cryptography`. + +## Funktionsweise + +Beim ersten Aufruf wird automatisch eine Root-CA erstellt (`crt/ca.key` + `crt/ca.crt`). Alle weiteren Zertifikate werden von dieser CA signiert. Existiert die CA bereits, wird sie wiederverwendet. + +Jedes Zertifikat wird als Trio abgelegt: + +| Datei | Inhalt | +|---|---| +| `crt/.key` | RSA-2048 Private Key (PEM) | +| `crt/.crt` | X.509-Zertifikat, signiert von der CA | +| `crt/-chain.crt` | Server-Zertifikat + CA-Zertifikat (Chain) | + +## Abhängigkeiten + +```bash +pip install cryptography +``` + +## Verwendung + +### Direktaufruf + +```bash +python selfsign_ca.py +``` + +Erzeugt eine CA (falls nicht vorhanden) und das Zertifikat `test.*` mit den im `__main__`-Block hinterlegten Defaults. + +### Als Modul + +```python +from selfsign_ca import generate_and_save_cert + +generate_and_save_cert( + cert_country="DE", + cert_state="Berlin", + cert_organization="Meine GmbH", + cert_locality="Berlin", + cert_organizational_unit="IT", + cert_common_name="myserver.local", + valid_days=365, + serial_number=100, + cert_name="myserver", +) +``` + +### CA-Parameter (optional) + +Die CA-Daten werden nur beim ersten Erstellen der CA verwendet. Überschreiben via: + +```python +generate_and_save_cert( + ..., + ca_country="DE", + ca_state="Sachsen", + ca_organization="IchAG", + ca_locality="Dresden", + ca_common_name="My Root CA", +) +``` + +## Zertifikat prüfen + +```bash +openssl verify -CAfile crt/ca.crt crt/.crt +openssl x509 -in crt/.crt -text -noout +``` + +## CA auf Clients importieren (Vertrauen) + +Damit Clients dem Zertifikat vertrauen, muss `crt/ca.crt` im Trust-Store hinterlegt werden: + +```bash +# Arch/Manjaro +sudo trust anchor crt/ca.crt + +# Debian/Ubuntu +sudo cp crt/ca.crt /usr/local/share/ca-certificates/my-ca.crt +sudo update-ca-certificates +``` + +## Technische Details + +- **CA**: RSA 4096 Bit, SHA256, 10 Jahre gültig, `basicConstraints: CA:TRUE` +- **Endzertifikat**: RSA 2048 Bit, SHA256, Gültigkeit nach `valid_days`, `basicConstraints: CA:FALSE` +- X.509 v3 Extensions: `BasicConstraints`, `KeyUsage`, `SubjectKeyIdentifier`, `AuthorityKeyIdentifier` +- Alle Dateien landen im Unterverzeichnis `crt/` (wird automatisch angelegt) \ No newline at end of file diff --git a/create_selfsign/selfsign_ca.py b/create_selfsign/selfsign_ca.py new file mode 100755 index 0000000..f684834 --- /dev/null +++ b/create_selfsign/selfsign_ca.py @@ -0,0 +1,218 @@ +import os +from datetime import datetime, timedelta, timezone + +from cryptography import x509 +from cryptography.x509.oid import NameOID +from cryptography.hazmat.primitives import hashes, serialization +from cryptography.hazmat.primitives.asymmetric import rsa + + +CRT_DIR = "crt" +CA_KEY_FILE = os.path.join(CRT_DIR, "ca.key") +CA_CRT_FILE = os.path.join(CRT_DIR, "ca.crt") + + +def _ensure_crt_dir(): + """Create crt/ directory if it doesn't exist.""" + os.makedirs(CRT_DIR, exist_ok=True) + + +def _save_pem(filename, data): + """Write PEM data to file, converting \\n to real newlines.""" + if isinstance(data, bytes): + data = data.decode() + with open(filename, "w") as f: + for line in data.replace("\r", "").split("\\n"): + f.write(line + "\n") + + +def _build_subject(country, state, organization, locality, common_name, + organizational_unit=None): + """Build a cryptography X.509 Name from individual fields.""" + attrs = [ + x509.NameAttribute(NameOID.COUNTRY_NAME, country), + x509.NameAttribute(NameOID.STATE_OR_PROVINCE_NAME, state), + x509.NameAttribute(NameOID.ORGANIZATION_NAME, organization), + x509.NameAttribute(NameOID.LOCALITY_NAME, locality), + x509.NameAttribute(NameOID.COMMON_NAME, common_name), + ] + if organizational_unit: + attrs.append(x509.NameAttribute( + NameOID.ORGANIZATIONAL_UNIT_NAME, organizational_unit)) + return x509.Name(attrs) + + +def generate_ca_cert(cert_country, cert_state, cert_organization, + cert_locality, cert_common_name, valid_days=3650): + """ + Generate a self-signed CA certificate and save ca.key / ca.crt. + Returns (cert_pem, key_pem). + """ + subject = _build_subject(cert_country, cert_state, cert_organization, + cert_locality, cert_common_name) + + private_key = rsa.generate_private_key(public_exponent=65537, key_size=4096) + + now = datetime.now(timezone.utc) + cert = ( + x509.CertificateBuilder() + .subject_name(subject) + .issuer_name(subject) # self-signed + .public_key(private_key.public_key()) + .serial_number(1) + .not_valid_before(now) + .not_valid_after(now + timedelta(days=valid_days)) + .add_extension(x509.BasicConstraints(ca=True, path_length=None), + critical=True) + .add_extension(x509.KeyUsage( + key_cert_sign=True, crl_sign=True, + digital_signature=False, content_commitment=False, + key_encipherment=False, data_encipherment=False, + key_agreement=False, encipher_only=False, decipher_only=False, + ), critical=True) + .add_extension(x509.SubjectKeyIdentifier.from_public_key( + private_key.public_key()), critical=False) + .sign(private_key, hashes.SHA256()) + ) + + cert_pem = cert.public_bytes(serialization.Encoding.PEM) + key_pem = private_key.private_bytes( + encoding=serialization.Encoding.PEM, + format=serialization.PrivateFormat.TraditionalOpenSSL, + encryption_algorithm=serialization.NoEncryption(), + ) + + _ensure_crt_dir() + _save_pem(CA_KEY_FILE, key_pem) + _save_pem(CA_CRT_FILE, cert_pem) + + print(f"CA erstellt: {CA_KEY_FILE}, {CA_CRT_FILE}") + return cert_pem, key_pem + + +def load_ca(): + """ + Load CA certificate and private key from disk. + Returns (ca_cert, ca_pkey) as cryptography objects, or None if missing. + """ + if not os.path.exists(CA_CRT_FILE) or not os.path.exists(CA_KEY_FILE): + return None + + with open(CA_CRT_FILE, "rb") as f: + ca_cert = x509.load_pem_x509_certificate(f.read()) + with open(CA_KEY_FILE, "rb") as f: + ca_pkey = serialization.load_pem_private_key(f.read(), password=None) + + return ca_cert, ca_pkey + + +def generate_cert_signed_by_ca(ca_cert, ca_pkey, + cert_country, cert_state, cert_organization, + cert_locality, cert_organizational_unit, + cert_common_name, valid_days, serial_number): + """ + Generate a certificate signed by the given CA. + Returns (cert_pem, key_pem) as strings. + """ + subject = _build_subject(cert_country, cert_state, cert_organization, + cert_locality, cert_common_name, + cert_organizational_unit) + + private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048) + + now = datetime.now(timezone.utc) + cert = ( + x509.CertificateBuilder() + .subject_name(subject) + .issuer_name(ca_cert.subject) + .public_key(private_key.public_key()) + .serial_number(serial_number) + .not_valid_before(now) + .not_valid_after(now + timedelta(days=valid_days)) + .add_extension(x509.BasicConstraints(ca=False, path_length=None), + critical=True) + .add_extension(x509.KeyUsage( + digital_signature=True, key_encipherment=True, + key_cert_sign=False, crl_sign=False, + content_commitment=False, data_encipherment=False, + key_agreement=False, encipher_only=False, decipher_only=False, + ), critical=True) + .add_extension(x509.SubjectKeyIdentifier.from_public_key( + private_key.public_key()), critical=False) + .add_extension(x509.AuthorityKeyIdentifier.from_issuer_public_key( + ca_pkey.public_key()), critical=False) + .sign(ca_pkey, hashes.SHA256()) + ) + + cert_pem = cert.public_bytes(serialization.Encoding.PEM) + key_pem = private_key.private_bytes( + encoding=serialization.Encoding.PEM, + format=serialization.PrivateFormat.TraditionalOpenSSL, + encryption_algorithm=serialization.NoEncryption(), + ) + + return str(cert_pem.decode()), str(key_pem.decode()) + + +def generate_and_save_cert(cert_country, cert_state, cert_organization, + cert_locality, cert_organizational_unit, + cert_common_name, valid_days=365, serial_number=100, + ca_country="DE", ca_state="Sachsen", + ca_organization="IchAG", + ca_locality="Dresden", + ca_common_name="My Root CA", + cert_name="server"): + """ + High-level entry point: + 1. If CA not present, create it. + 2. Generate certificate signed by the CA. + 3. Save key and cert (with optional chain) to .key / .crt. + """ + ca = load_ca() + if ca is None: + print("CA nicht gefunden – erstelle CA ...") + generate_ca_cert(ca_country, ca_state, ca_organization, + ca_locality, ca_common_name) + ca = load_ca() + if ca is None: + raise RuntimeError("CA konnte nicht erstellt/geladen werden.") + + ca_cert, ca_pkey = ca + + cert_pem, key_pem = generate_cert_signed_by_ca( + ca_cert, ca_pkey, + cert_country, cert_state, cert_organization, + cert_locality, cert_organizational_unit, + cert_common_name, valid_days, serial_number, + ) + + key_file = os.path.join(CRT_DIR, f"{cert_name}.key") + crt_file = os.path.join(CRT_DIR, f"{cert_name}.crt") + chain_file = os.path.join(CRT_DIR, f"{cert_name}-chain.crt") + + _ensure_crt_dir() + _save_pem(key_file, key_pem) + _save_pem(crt_file, cert_pem) + + # Chain file: server cert + CA cert + chain = cert_pem.replace("\r", "") + ca_pem = ca_cert.public_bytes(serialization.Encoding.PEM).decode() + chain += "\n" + ca_pem + _save_pem(chain_file, chain) + + print(f"Zertifikat erstellt: {key_file}, {crt_file}, {chain_file}") + return cert_pem, key_pem + + +if __name__ == "__main__": + generate_and_save_cert( + cert_country="DE", + cert_state="Dresden", + cert_organization="IchAG", + cert_locality="Sachsen", + cert_organizational_unit="mandan01", + cert_common_name="mandan01", + valid_days=365, + serial_number=12, + cert_name="test", + ) \ No newline at end of file diff --git a/create_selfsign/selfsing.py b/create_selfsign/selfsing.py deleted file mode 100755 index c061003..0000000 --- a/create_selfsign/selfsing.py +++ /dev/null @@ -1,50 +0,0 @@ -from OpenSSL import crypto -from Crypto.PublicKey import RSA - - -def generate_self_signed_cert(cert_country, cert_state, cert_organization, - cert_locality, cert_organizational_unit, - cert_common_name, valid_days, serial_number): - rsa_key = RSA.generate(2048) - - pk = crypto.load_privatekey(crypto.FILETYPE_PEM, - rsa_key.exportKey('PEM', pkcs=1)) - cert = crypto.X509() - sub = cert.get_subject() - sub.CN = cert_common_name - sub.C = cert_country - sub.ST = cert_state - sub.L = cert_locality - sub.O = cert_organization - - # optional - if cert_organizational_unit: - sub.OU = cert_organizational_unit - - cert.set_serial_number(serial_number) - cert.gmtime_adj_notBefore(0) - cert.gmtime_adj_notAfter(valid_days * 24 * 60 * 60) # Valid for a year - cert.set_issuer(sub) - cert.set_pubkey(pk) - cert.sign(pk, 'sha1') - - cert_text = crypto.dump_certificate(crypto.FILETYPE_PEM, cert) - priv_key_text = rsa_key.exportKey('PEM', pkcs=1) - - return str(cert_text), str(priv_key_text) - - -if __name__ == "__main__": - test = generate_self_signed_cert(cert_country="DE", cert_state="Dresden", cert_organization="IchAG", cert_locality="Sachsen", cert_organizational_unit="mandan01", cert_common_name="mandan01", valid_days=365, serial_number=12) - privatekey = test[1].rstrip("'").strip("b'") - cert = test[0].rstrip("'").strip("b'") - #print(privatekey) - for key in privatekey.split("\\n"): - with open("testkey", "a") as testcert: - print(key, file=testcert) - for cert_out in cert.split("\\n"): - with open("testcert", "a") as testcert_out: - print(cert_out, file=testcert_out) - - #test2 = "xccj\njdkjd\n" - #print(test2) \ No newline at end of file diff --git a/create_systemd_unit/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/create_systemd_unit/.ipynb_checkpoints/Untitled-checkpoint.ipynb new file mode 100644 index 0000000..3d974a2 --- /dev/null +++ b/create_systemd_unit/.ipynb_checkpoints/Untitled-checkpoint.ipynb @@ -0,0 +1,88 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "id": "70914fb0-e3d4-4233-ad33-70a1a2517a6b", + "metadata": {}, + "outputs": [], + "source": [ + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b04d189c-260b-427d-af65-9ad88ac5ecf2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['.bash_logout', '.bash_profile', '.bashrc', '.zshrc', '.config', '.Xclients', '.dir_colors', '.profile', '.zshenv', '.local', 'Schreibtisch', 'Downloads', 'Vorlagen', 'Öffentlich', 'Dokumente', 'Musik', 'Bilder', 'Videos', '.cache', '.mozilla', '.lyrics', '.gemini', 'my_sway_konfig', 'Projekte', '.ansible', '.ssh', '.vim', '.tmux.conf', '.npm', 'create_lxc', 'lxc_folder', '.docker', 'ebook', '.bash_history', '.zhistory', 'Nextcloud', '.yarn', '.pki', 'sonovum', '.wget-hsts', '.joplin', 'JoplinBackup', '.python_history', '.gnupg', '.gitconfig', '.gitignore', '.env', '.ollama', '.claude', '.steam', '.pulse-cookie', '.icons', 'cert', 'podcast-studio', 'scripts', 'Screenshots', '.claude.json.backup.1772740061126', '.claude.json.backup.1772740061140', '.claude.json.backup.1772740137318', '.claude.json.backup.1772740278244', '.claude.json.backup.1772740278252', '.claude.json', 'Media-Data', '.smbcredentials-media', 'nfs', '.mplayer', '.steampath', '.steampid', '.eclipse', '.swt', '.java', 'conf.ini', 'token_vaultwarden', 'jenkins_status_example', '.sigstore', 'tinydb_vs_sqlite.md', '.cargo', '.viminfo', '.ipython', '.jupyter']\n" + ] + } + ], + "source": [ + "print(os.listdir(\"/home/jonnybravo/\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "55709fef-1402-4c9f-b2ee-2be8e55a137c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ver_next_einbinden.md', 'yubikey_setup_guide.md', 'networkconfig_dns.md', 'blueray_install_manjaro.md', 'calcurse_tastenkürzel.md', 'Stretchen_laufen.md']\n" + ] + } + ], + "source": [ + "all_files_with_md = [ x for x in os.listdir(\"/home/jonnybravo/Dokumente\") if x.endswith(\".md\") ]\n", + "print(all_files_with_md)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89b5f549-36c9-4a62-83ba-69ad84ec6be6", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "692cc39e-ddf8-4bcb-ad08-baed47e37a74", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.14.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/create_systemd_unit/.ipynb_checkpoints/main-checkpoint.py b/create_systemd_unit/.ipynb_checkpoints/main-checkpoint.py new file mode 100644 index 0000000..63e9e0a --- /dev/null +++ b/create_systemd_unit/.ipynb_checkpoints/main-checkpoint.py @@ -0,0 +1,39 @@ +#! /usr/bin/env Python3 + +import os + +class create_unit_service(): + def __init__(self, UnitName = str,systemd_sysfolder = "/etc/systemd/system", execstart = str, systemd_type = "simple") -> None: + self.UnitName = UnitName + self.systemd_systemfolder = systemd_sysfolder + self.execstart = execstart + if systemd_type == "simple" or systemd_type == "oneshot": + self.systemd_type = systemd_type + else: + print("Kein richtiger Typ") + raise "systemd_type ist nicht richtig" + + def create_unit(self): + UnitFile = self.systemd_systemfolder + os.sep + self.UnitName + ".service" + if os.path.exists(self.systemd_systemfolder): + if os.path.exists(UnitFile): + print("Gibt es bereits") + else: + print("Wird angelegt !!") + with open(UnitFile, "w") as ufile: + print("[Unit]", + "[Service]", + "Type=oneshot", + "PrivateTmp=yes", + "DynamicUser=yes", + "ExecStart={my_execStart}".format(my_execStart=self.execstart), file=ufile, sep="\n") + os.popen("systemctl daemon-reload") + + def delete_unit(self): + pass + +if __name__ == "__main__": + new_unit = create_unit_service(UnitName="TestUnit", + execstart="""/usr/bin/echo "Ich bin eine TestUnit %p" """, + systemd_type="oneshot") + new_unit.create_unit() \ No newline at end of file diff --git a/create_systemd_unit/.virtual_documents/Untitled.ipynb b/create_systemd_unit/.virtual_documents/Untitled.ipynb new file mode 100644 index 0000000..abe142d --- /dev/null +++ b/create_systemd_unit/.virtual_documents/Untitled.ipynb @@ -0,0 +1,14 @@ +import os + + +print(os.listdir("/home/jonnybravo/")) + + +all_files_with_md = [ x for x in os.listdir("/home/jonnybravo/Dokumente") if x.endswith(".md") ] +print(all_files_with_md) + + + + + + diff --git a/create_systemd_unit/Untitled.ipynb b/create_systemd_unit/Untitled.ipynb new file mode 100644 index 0000000..3d974a2 --- /dev/null +++ b/create_systemd_unit/Untitled.ipynb @@ -0,0 +1,88 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 5, + "id": "70914fb0-e3d4-4233-ad33-70a1a2517a6b", + "metadata": {}, + "outputs": [], + "source": [ + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b04d189c-260b-427d-af65-9ad88ac5ecf2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['.bash_logout', '.bash_profile', '.bashrc', '.zshrc', '.config', '.Xclients', '.dir_colors', '.profile', '.zshenv', '.local', 'Schreibtisch', 'Downloads', 'Vorlagen', 'Öffentlich', 'Dokumente', 'Musik', 'Bilder', 'Videos', '.cache', '.mozilla', '.lyrics', '.gemini', 'my_sway_konfig', 'Projekte', '.ansible', '.ssh', '.vim', '.tmux.conf', '.npm', 'create_lxc', 'lxc_folder', '.docker', 'ebook', '.bash_history', '.zhistory', 'Nextcloud', '.yarn', '.pki', 'sonovum', '.wget-hsts', '.joplin', 'JoplinBackup', '.python_history', '.gnupg', '.gitconfig', '.gitignore', '.env', '.ollama', '.claude', '.steam', '.pulse-cookie', '.icons', 'cert', 'podcast-studio', 'scripts', 'Screenshots', '.claude.json.backup.1772740061126', '.claude.json.backup.1772740061140', '.claude.json.backup.1772740137318', '.claude.json.backup.1772740278244', '.claude.json.backup.1772740278252', '.claude.json', 'Media-Data', '.smbcredentials-media', 'nfs', '.mplayer', '.steampath', '.steampid', '.eclipse', '.swt', '.java', 'conf.ini', 'token_vaultwarden', 'jenkins_status_example', '.sigstore', 'tinydb_vs_sqlite.md', '.cargo', '.viminfo', '.ipython', '.jupyter']\n" + ] + } + ], + "source": [ + "print(os.listdir(\"/home/jonnybravo/\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "55709fef-1402-4c9f-b2ee-2be8e55a137c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['ver_next_einbinden.md', 'yubikey_setup_guide.md', 'networkconfig_dns.md', 'blueray_install_manjaro.md', 'calcurse_tastenkürzel.md', 'Stretchen_laufen.md']\n" + ] + } + ], + "source": [ + "all_files_with_md = [ x for x in os.listdir(\"/home/jonnybravo/Dokumente\") if x.endswith(\".md\") ]\n", + "print(all_files_with_md)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89b5f549-36c9-4a62-83ba-69ad84ec6be6", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "692cc39e-ddf8-4bcb-ad08-baed47e37a74", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.14.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/create_systemd_unit/main.py b/create_systemd_unit/main.py index 63e9e0a..32fcef8 100644 --- a/create_systemd_unit/main.py +++ b/create_systemd_unit/main.py @@ -1,12 +1,34 @@ #! /usr/bin/env Python3 -import os +import os +from posix import stat +from jinja2 import Template +import subprocess + + +def is_root(): + if os.geteuid() == 0: + return True + else: + return False class create_unit_service(): - def __init__(self, UnitName = str,systemd_sysfolder = "/etc/systemd/system", execstart = str, systemd_type = "simple") -> None: + def __init__(self, + UnitName: str, + systemd_sysfolder: str = "/etc/systemd/system", + UnitExecStart = str, + systemd_type: str = "simple", + UnitDescription: str = "Meine Unit", + UnitUser = str, + UnitWorkDir: str = "/home/jonnybravo/" + ) -> None: + self.UnitName = UnitName self.systemd_systemfolder = systemd_sysfolder - self.execstart = execstart + self.UnitExecStart = UnitExecStart + self.UnitDescription = UnitDescription + self.UnitWorkDir = UnitWorkDir + self.UnitUser = UnitUser if systemd_type == "simple" or systemd_type == "oneshot": self.systemd_type = systemd_type else: @@ -20,20 +42,38 @@ class create_unit_service(): print("Gibt es bereits") else: print("Wird angelegt !!") - with open(UnitFile, "w") as ufile: - print("[Unit]", - "[Service]", - "Type=oneshot", - "PrivateTmp=yes", - "DynamicUser=yes", - "ExecStart={my_execStart}".format(my_execStart=self.execstart), file=ufile, sep="\n") - os.popen("systemctl daemon-reload") + with open('template/LinuxUnit.j2') as f: + tmpl = Template(f.read()) + with open(UnitFile, "w") as uf: + print(tmpl.render( + description = self.UnitDescription, + working_dir = self.UnitWorkDir, + exec_command = self.UnitExecStart, + user = self.UnitUser, + env_vars = {"PYTHONPATH": "."}, + service_type = self.systemd_type + ),file=uf) + + def unit_start_and_load(self): + UnitFile = self.systemd_systemfolder + os.sep + self.UnitName + ".service" + status_daemon_reload = subprocess.run(["systemctl", "daemon-reload"]) + if status_daemon_reload.returncode != 0: + raise Exception( f'Systemd reload Invalid result: { status_daemon_reload.returncode }' ) + else: + print(f"{self.UnitName} wurde angelegt und kann genutzt werden !!! Ein starten oder Enable wurde bewusst nicht eingebaut.") def delete_unit(self): pass if __name__ == "__main__": - new_unit = create_unit_service(UnitName="TestUnit", - execstart="""/usr/bin/echo "Ich bin eine TestUnit %p" """, - systemd_type="oneshot") - new_unit.create_unit() \ No newline at end of file + if is_root(): + new_unit = create_unit_service(UnitName="TestUnit", + UnitExecStart="""/usr/bin/echo "Ich bin eine TestUnit %p" """, + UnitUser="jonnybravo", + systemd_type="oneshot") + new_unit.create_unit() + new_unit.unit_start_and_load() + else: + print("Du bist nicht root führe das Skript mit sudo aus") + print('sudo python ') + diff --git a/create_systemd_unit/offen.md b/create_systemd_unit/offen.md new file mode 100644 index 0000000..5ee1adf --- /dev/null +++ b/create_systemd_unit/offen.md @@ -0,0 +1,3 @@ +- systemd reload +- systemd start +- systemd enable diff --git a/create_systemd_unit/template/LinuxUnit.j2 b/create_systemd_unit/template/LinuxUnit.j2 new file mode 100644 index 0000000..4ec15ae --- /dev/null +++ b/create_systemd_unit/template/LinuxUnit.j2 @@ -0,0 +1,40 @@ +[Unit] +Description={{ description }} +# Stellt sicher, dass das Netzwerk bereit ist +After=network-online.target +Wants=network-online.target + +[Service] +# 'simple' ist der Standard, 'exec' wartet, bis der Prozess wirklich gestartet ist +Type={{ service_type }} + +# Arbeitsverzeichnis (wichtig für relative Pfade im Skript) +WorkingDirectory={{ working_dir }} + +# Ausführen als spezifischer Benutzer (Sicherheit!) +User={{ user }} +Group={{ user }} + +# Umgebungsvariablen (z.B. für Python Pfade oder API Keys) +{% if env_vars -%} +{% for key, value in env_vars.items() -%} +Environment="{{ key }}={{ value }}" +{% endfor -%} +{% endif %} + +# Vor dem Start kurz warten (optional, falls nötig) +{% if wait_before_start -%} +ExecStartPre=/usr/bin/sleep {{ wait_before_start }} +{% endif %} + +# Der eigentliche Befehl +ExecStart={{ exec_command }} + +# Neustart-Logik: Startet den Dienst automatisch neu, wenn er abstürzt +Restart=on-failure +# Wartezeit zwischen Neustartversuchen +RestartSec=5s + +[Install] +# Definiert, wann die Unit beim Booten gestartet wird +WantedBy=multi-user.target diff --git a/imdb_suche.py b/imdb_suche.py new file mode 100644 index 0000000..840731f --- /dev/null +++ b/imdb_suche.py @@ -0,0 +1,59 @@ +# Benötigt die Installation von 'requests' und 'beautifulsoup4' +# pip install requests beautifulsoup4 + +import requests +from bs4 import BeautifulSoup +import sys +import re + +def suche_film_url(film_titel): + """ + Sucht auf IMDb nach einem Film und gibt die deutsche URL der Filmseite zurück. + + Args: + film_titel: Der Titel des Films, nach dem gesucht werden soll. + + Returns: + Die deutsche URL der Filmseite oder None, wenn nichts gefunden wurde. + """ + such_url = f"https://www.imdb.com/find?q={film_titel.replace(' ', '+')}" + # Header, um die deutsche Seite zu bevorzugen + headers = { + 'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' + } + + try: + response = requests.get(such_url, headers=headers) + response.raise_for_status() # Löst eine Ausnahme für HTTP-Fehler aus + + soup = BeautifulSoup(response.text, 'html.parser') + + # Finden des ersten Links im Titel-Ergebnisbereich + ergebnis_bereich = soup.find('section', {'data-testid': 'find-results-section-title'}) + if ergebnis_bereich: + link_tag = ergebnis_bereich.find('a', href=re.compile(r'/title/tt\d+')) + if link_tag and 'href' in link_tag.attrs: + pfad = link_tag['href'] + # Extrahieren der Titel-ID (z.B. tt0133093) + match = re.search(r'(tt\d+)', pfad) + if match: + titel_id = match.group(1) + return f"https://www.imdb.com/de/title/{titel_id}" + + except requests.exceptions.RequestException as e: + print(f"Ein Fehler bei der Anfrage ist aufgetreten: {e}") + return None + + return None + +if __name__ == "__main__": + if len(sys.argv) > 1: + film_name = " ".join(sys.argv[1:]) + url = suche_film_url(film_name) + if url: + print(f"URL für '{film_name}' gefunden: {url}") + else: + print(f"Konnte keinen Film mit dem Titel '{film_name}' finden.") + else: + print("Benutzung: python imdb_suche.py ") diff --git a/imdb_web_scraper.py b/imdb_web_scraper.py new file mode 100755 index 0000000..56f2685 --- /dev/null +++ b/imdb_web_scraper.py @@ -0,0 +1,99 @@ + +import urllib.request +import json +import re +import ssl +import imdb_suche +import sys + + +def get_movie_details(imdb_url): + """ + Ruft eine IMDb-Filmseite auf und extrahiert den Regisseur und die Hauptdarsteller. + + Args: + imdb_url (str): Die vollständige URL zur IMDb-Filmseite. + + Returns: + dict: Ein Wörterbuch mit "director" und "actors" oder None bei einem Fehler. + """ + if not re.match(r"https://www.imdb.com/de/title/tt\d+/?", imdb_url): + print("Fehler: Ungültige IMDb-URL. Die URL sollte so aussehen: https://www.imdb.com/title/tt...") + return None + + try: + # SSL-Kontext erstellen, um Zertifikatsüberprüfungsfehler zu umgehen + context = ssl._create_unverified_context() + + # User-Agent setzen, um wie ein Browser auszusehen und Blockaden zu vermeiden + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'} + + req = urllib.request.Request(imdb_url, headers=headers) + + with urllib.request.urlopen(req, context=context) as response: + html_content = response.read().decode('utf-8') + + # Suchen Sie nach dem strukturierten Datenblock (JSON-LD), der Filminformationen enthält + match = re.search( + r'', html_content, re.DOTALL) + + if not match: + print("Fehler: Konnte den JSON-LD-Datenblock auf der Seite nicht finden.") + return None + + json_data = json.loads(match.group(1)) + + # Extrahieren des Regisseurs + director = [d.get('name') for d in json_data.get('director', [])] if isinstance( + json_data.get('director'), list) else [json_data.get('director', {}).get('name')] + + # Extrahieren der Schauspieler + actors = [a.get('name') for a in json_data.get('actor', [])] + + # Extrahieren des Erscheinungsjahres + release_year = json_data.get('datePublished', '').split('-')[0] + + + return { + "director": [d for d in director if d], + "actors": [a for a in actors if a], + "release_year": release_year + } + + except urllib.error.HTTPError as e: + print(f"HTTP-Fehler beim Abrufen der URL: {e.code} {e.reason}") + return None + except Exception as e: + print(f"Ein Fehler ist aufgetreten: {e}") + return None + + +if __name__ == "__main__": + + if len(sys.argv) > 1: + film_name = " ".join(sys.argv[1:]) + url = imdb_suche.suche_film_url(film_name) + if url: + print(f"URL für '{film_name}' gefunden: {url}") + + # Beispiel-URL für den Film "Inception" + # Du kannst jede andere IMDb-Film-URL hier einfügen + movie_url = url + + print(f"Rufe Informationen für den Film ab: {movie_url}") + + details = get_movie_details(movie_url) + + if details: + print("\n--- Filminformationen ---") + print(f"Regisseur(e): {', '.join(details['director'])}") + # Zeigt die ersten 5 Schauspieler an + print(f"Hauptdarsteller: {', '.join(details['actors'][:5])}") + if details.get('release_year'): + print(f"Erscheinungsjahr: {details['release_year']}") + print("-------------------------") + else: + print(f"Konnte keinen Film mit dem Titel '{film_name}' finden.") + else: + print("Benutzung: python imdb_suche.py ") diff --git a/movie-db/.ipynb_checkpoints/README-checkpoint.md b/movie-db/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100644 index 6efa3b9..0000000 --- a/movie-db/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,7 +0,0 @@ -Folgende Punkte - -- erstellen eine SQlite DB -- Die DB soll folgende Tabellen haben Genre, MyList, -- Die Anzeige soll über Flask angezeigt werden - -Weitere Schritte folgen !!! diff --git a/movie-db/.ipynb_checkpoints/moviedb_func-checkpoint.py b/movie-db/.ipynb_checkpoints/moviedb_func-checkpoint.py deleted file mode 100644 index a82ed89..0000000 --- a/movie-db/.ipynb_checkpoints/moviedb_func-checkpoint.py +++ /dev/null @@ -1,69 +0,0 @@ -import DBcm - - -def create_movie_database(db_name="movie_db.db"): - - create_my_list = """ - create table if not exists movie_list ( - id integer not null primary key autoincrement, - titel varchar(64) not null, - genre_id integer not null, - regie_id integer not null - ) - """ - - create_genre = """ - create table if not exists genre ( - id integer not null primary key autoincrement, - name varchar(64) not null - ) - """ - - create_regie = """ - create table if not exists regie ( - id integer not null primary key autoincrement, - surname varchar(64) not null, - lastname varchr(64) not null - ) - """ - - create_medium = """ - create table if not exists medium ( - id integer not null primary key autoincrement, - medium varchar(64) not null - ) - """ - - with DBcm.UseDatabase(db_name) as db: - db.execute(create_my_list) - db.execute(create_genre) - db.execute(create_regie) - db.execute(create_medium) - - -def all_genres(db_name="movie_db.db"): - ALL_GENRE = "SELECT * from genre" - with DBcm.UseDatabase(db_name) as db: - db.execute(ALL_GENRE) - all_genre = [i[1] for i in db.fetchall()] - return all_genre - - -def search_genre_id(db_name="movie_db.db", genre_name=str): - GENRE_QUERY = """ - select id from genre - where name = ? - """ - try: - with DBcm.UseDatabase(db_name) as db: - db.execute(GENRE_QUERY, (genre_name,)) - genre_id = db.fetchone()[0] - return int(genre_id) - except: - return int(0) - - -if __name__ == "__main__": - create_movie_database() - print(all_genres()) - print(search_genre_id(genre_name="war")) diff --git a/movie-db/.ipynb_checkpoints/test_jup-checkpoint.ipynb b/movie-db/.ipynb_checkpoints/test_jup-checkpoint.ipynb deleted file mode 100644 index 4dca615..0000000 --- a/movie-db/.ipynb_checkpoints/test_jup-checkpoint.ipynb +++ /dev/null @@ -1,534 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "5263a987-da36-46d7-a2e7-d0658cda09c1", - "metadata": {}, - "outputs": [], - "source": [ - "import DBcm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "3f6b0763-4106-4bfa-9aef-7afbd180c6d4", - "metadata": {}, - "outputs": [], - "source": [ - "db_name = \"movie_db.db\"\n", - "\n", - "create_my_list = \"\"\"\n", - " create table if not exists movie_list (\n", - " id integer not null primary key autoincrement,\n", - " titel varchar(64) not null,\n", - " genre_id integer not null,\n", - " regie_id integer not null\n", - " \n", - " )\n", - "\n", - "\"\"\"\n", - "\n", - "create_genre = \"\"\"\n", - " create table if not exists genre (\n", - " id integer not null primary key autoincrement,\n", - " name varchar(64) not null\n", - " )\n", - "\"\"\"\n", - "\n", - "create_regie = \"\"\"\n", - " create table if not exists regie (\n", - " id integer not null primary key autoincrement,\n", - " surname varchar(64) not null,\n", - " lastname varchr(64) not null\n", - " )\n", - "\"\"\"\n", - "\n", - "\n", - "with DBcm.UseDatabase(db_name) as db: \n", - " db.execute(create_my_list)\n", - " db.execute(create_genre)\n", - " db.execute(create_regie)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "376ef812-97b5-45ba-8ef1-eb8d7829494a", - "metadata": {}, - "outputs": [], - "source": [ - "# ADDed Genre values\n", - "\n", - "ADD_GENRE_VALUE = \"\"\"\n", - " INSERT INTO genre(name)\n", - " SELECT ?\n", - " WHERE NOT EXISTS (SELECT 1 FROM genre WHERE name = ?);\n", - " \"\"\"\n", - "\n", - "with open(\"genre_list\", \"r\") as fs: \n", - " for genre_value in fs.readlines():\n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(ADD_GENRE_VALUE, (genre_value.strip(), genre_value.strip()))\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "63b16a41-88bf-4832-a26c-09180832f597", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['action', 'adventure', 'animation', 'biography', 'comedy', 'crime', 'cult movie', 'disney', 'documentary', 'drama', 'erotic', 'family', 'fantasy', 'film-noir', 'gangster', 'gay and lesbian', 'history', 'horror', 'military', 'music', 'musical', 'mystery', 'nature', 'neo-noir', 'period', 'pixar', 'road movie', 'romance', 'sci-fi', 'short', 'spy', 'super hero', 'thriller', 'visually stunning', 'war', 'western']\n" - ] - } - ], - "source": [ - "def all_genres():\n", - " ALL_GENRE = \"\"\"\n", - " SELECT * from genre \n", - " \"\"\" \n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(ALL_GENRE)\n", - " all_genre = [i[1] for i in db.fetchall()]\n", - " \n", - " return all_genre\n", - "\n", - "print(all_genres())\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "89b20b5f-34aa-4490-a4c0-c186c9fa30bd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n", - "36\n" - ] - } - ], - "source": [ - "def search_genre_id(genre_name):\n", - " GENRE_QUERY = \"\"\"\n", - " select id from genre\n", - " where name = ?\n", - " \"\"\"\n", - " try:\n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(GENRE_QUERY,(genre_name,))\n", - " genre_id = db.fetchone()[0]\n", - " return int(genre_id)\n", - " except:\n", - " return int(0)\n", - "\n", - "\n", - "def search_medium_id(genre_name):\n", - " GENRE_QUERY = \"\"\"\n", - " select id from genre\n", - " where medium = ?\n", - " \"\"\"\n", - " try:\n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(GENRE_QUERY,(genre_name,))\n", - " genre_id = db.fetchone()[0]\n", - " return int(genre_id)\n", - " except:\n", - " return int(0)\n", - "\n", - "print(search_genre_id(genre_name=\"action\"))\n", - "print(search_genre_id(genre_name=\"western\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "c70d91a5-7855-465d-a4a6-daebc065ee37", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0-John-Smith\n", - "1-James-Johnson\n", - "2-William-Williams\n", - "3-Michael-Brown\n", - "4-David-Davis\n", - "5-Richard-Miller\n", - "6-Joseph-Wilson\n", - "7-Charles-Moore\n", - "8-Thomas-Taylor\n", - "9-Daniel-Anderson\n", - "10-Paul-Thomas\n", - "11-Mark-Jackson\n", - "12-Donna-White\n", - "13-Michelle-Harris\n", - "14-Laura-Martin\n", - "15-Sara-Thompson\n", - "16-Ana-Garcia\n", - "17-Carlos-Rodriguez\n", - "18-Maria-Martinez\n", - "19-Jose-Hernandez\n", - "20-Luis-Lopez\n", - "21-Rosa-Gonzalez\n", - "22-Pedro-Perez\n", - "23-Miguel-Sanchez\n", - "24-Juan-Ramirez\n", - "25-Ana-Flores\n", - "26-Isabella-Cruz\n", - "27-Victor-Rivera\n", - "28-Kevin-Lee\n", - "29-Brian-Walker\n", - "30-Emily-Hall\n", - "31-Ryan-Allen\n", - "32-Aaron-Young\n", - "33-Jeffrey-King\n", - "34-Joshua-Wright\n", - "35-Brandon-Scott\n", - "36-Frank-Turner\n", - "37-Gregory-Carter\n", - "38-Samuel-Phillips\n", - "39-Chris-Evans\n", - "40-Anthony-Collins\n", - "41-Eric-Stewart\n", - "42-Frank-Snyder\n", - "43-Thomas-Baker\n", - "44-Jeremy-Nelson\n", - "45-Steven-Roberts\n", - "46-Edward-Campbell\n", - "47-Ryan-Miller\n", - "48-Jacob-Davis\n", - "49-David-Garcia\n", - "50-Sophia-Rodriguez\n", - "51-Emma-Martinez\n", - "52-Noah-Hernandez\n", - "53-Ava-Lopez\n", - "54-Ethan-Gonzalez\n", - "55-Mia-Perez\n", - "56-William-Sanchez\n", - "57-James-Ramirez\n", - "58-Olivia-Flores\n", - "59-Lucas-Cruz\n", - "60-Isabella-Rivera\n", - "61-David-Lee\n", - "62-Sophie-Walker\n", - "63-Matthew-Hall\n", - "64-Emma-Allen\n", - "65-Ryan-Young\n", - "66-Ava-King\n", - "67-Ethan-Wright\n", - "68-Mia-Scott\n", - "69-William-Turner\n", - "70-James-Carter\n", - "71-Olivia-Phillips\n", - "72-Lucas-Evans\n", - "73-Sophie-Collins\n", - "74-Noah-Stewart\n", - "75-Ava-Snyder\n", - "76-Ethan-Baker\n", - "77-Mia-Nelson\n", - "78-Noah-Roberts\n", - "79-Emma-Campbell\n", - "80-William-Miller\n", - "81-James-Davis\n", - "82-Olivia-Garcia\n", - "83-Lucas-Rodriguez\n", - "84-Sophie-Martinez\n", - "85-Noah-Hernandez\n", - "86-Ava-Lopez\n", - "87-Ethan-Gonzalez\n", - "88-Mia-Perez\n", - "89-William-Sanchez\n", - "90-James-Ramirez\n", - "91-Olivia-Flores\n", - "92-Lucas-Cruz\n", - "93-Isabella-Rivera\n", - "94-David-Lee\n", - "95-Sophie-Walker\n", - "96-Matthew-Hall\n", - "97-Emma-Allen\n", - "98-Ryan-Young\n", - "99-Ava-King\n", - "100-Ethan-Wright\n", - "101-Mia-Scott\n", - "102-William-Turner\n", - "103-James-Carter\n", - "104-Olivia-Phillips\n", - "105-Lucas-Evans\n", - "106-Sophie-Collins\n", - "107-Noah-Stewart\n", - "108-Ava-Snyder\n", - "109-Ethan-Baker\n", - "110-Mia-Nelson\n", - "111-Noah-Roberts\n", - "112-Emma-Campbell\n", - "113-William-Miller\n", - "114-James-Davis\n", - "115-Olivia-Garcia\n", - "116-Lucas-Rodriguez\n", - "117-Sophie-Martinez\n", - "118-Noah-Hernandez\n", - "119-Ava-Lopez\n", - "120-Ethan-Gonzalez\n", - "121-Mia-Perez\n", - "122-William-Sanchez\n", - "123-James-Ramirez\n", - "124-Olivia-Flores\n", - "125-Lucas-Cruz\n", - "126-Isabella-Rivera\n", - "127-David-Lee\n", - "128-Sophie-Walker\n", - "129-Matthew-Hall\n", - "130-Emma-Allen\n", - "131-Ryan-Young\n", - "132-Ava-King\n", - "133-Ethan-Wright\n", - "134-Mia-Scott\n", - "135-William-Turner\n", - "136-James-Carter\n", - "137-Olivia-Phillips\n", - "138-Lucas-Evans\n", - "139-Sophie-Collins\n", - "140-Noah-Stewart\n", - "141-Ava-Snyder\n", - "142-Ethan-Baker\n", - "143-Mia-Nelson\n", - "144-Noah-Roberts\n", - "145-Emma-Campbell\n", - "146-William-Miller\n", - "147-James-Davis\n", - "148-Olivia-Garcia\n", - "149-Lucas-Rodriguez\n", - "150-Sophie-Martinez\n", - "151-Noah-Hernandez\n", - "152-Ava-Lopez\n", - "153-Ethan-Gonzalez\n", - "154-Mia-Perez\n", - "155-William-Sanchez\n", - "156-James-Ramirez\n", - "157-Olivia-Flores\n", - "158-Lucas-Cruz\n", - "159-Isabella-Rivera\n", - "160-David-Lee\n", - "161-Sophie-Walker\n", - "162-Matthew-Hall\n", - "163-Emma-Allen\n", - "164-Ryan-Young\n", - "165-Ava-King\n", - "166-Ethan-Wright\n", - "167-Mia-Scott\n", - "168-William-Turner\n", - "169-James-Carter\n", - "170-Olivia-Phillips\n", - "171-Lucas-Evans\n", - "172-Sophie-Collins\n", - "173-Noah-Stewart\n", - "174-Ava-Snyder\n", - "175-Ethan-Baker\n", - "176-Mia-Nelson\n", - "177-Noah-Roberts\n", - "178-Emma-Campbell\n", - "179-William-Miller\n", - "180-James-Davis\n", - "181-Olivia-Garcia\n", - "182-Lucas-Rodriguez\n", - "183-Sophie-Martinez\n", - "184-Noah-Hernandez\n", - "185-Ava-Lopez\n", - "186-Ethan-Gonzalez\n", - "187-Mia-Perez\n", - "188-William-Sanchez\n", - "189-James-Ramirez\n", - "190-Olivia-Flores\n", - "191-Lucas-Cruz\n", - "192-Isabella-Rivera\n", - "193-David-Lee\n", - "194-Sophie-Walker\n", - "195-Matthew-Hall\n", - "196-Emma-Allen\n", - "197-Ryan-Young\n", - "198-Ava-King\n", - "199-Ethan-Wright\n", - "200-Mia-Scott\n", - "201-William-Turner\n", - "202-James-Carter\n", - "203-Olivia-Phillips\n", - "204-Lucas-Evans\n", - "205-Sophie-Collins\n", - "206-Noah-Stewart\n", - "207-Ava-Snyder\n", - "208-Ethan-Baker\n", - "209-Mia-Nelson\n", - "210-Noah-Roberts\n", - "211-Emma-Campbell\n", - "212-William-Miller\n", - "213-James-Davis\n", - "214-Olivia-Garcia\n", - "215-Lucas-Rodriguez\n", - "216-Sophie-Martinez\n", - "217-Noah-Hernandez\n", - "218-Ava-Lopez\n", - "219-Ethan-Gonzalez\n", - "220-Mia-Perez\n", - "221-William-Sanchez\n", - "222-James-Ramirez\n", - "223-Olivia-Flores\n", - "224-Lucas-Cruz\n", - "225-Isabella-Rivera\n", - "226-David-Lee\n", - "227-Sophie-Walker\n", - "228-Matthew-Hall\n", - "229-Emma-Allen\n", - "230-Ryan-Young\n", - "231-Ava-King\n", - "232-Ethan-Wright\n", - "233-Mia-Scott\n", - "234-William-Turner\n", - "235-James-Carter\n", - "236-Olivia-Phillips\n", - "237-Lucas-Evans\n", - "238-Sophie-Collins\n", - "239-Noah-Stewart\n", - "240-Ava-Snyder\n", - "241-Ethan-Baker\n", - "242-Mia-Nelson\n", - "243-Noah-Roberts\n", - "244-Emma-Campbell\n", - "245-William-Miller\n", - "246-James-Davis\n", - "247-Olivia-Garcia\n", - "248-Lucas-Rodriguez\n", - "249-Sophie-Martinez\n", - "250-Noah-Hernandez\n", - "251-Ava-Lopez\n", - "252-Ethan-Gonzalez\n", - "253-Mia-Perez\n", - "254-William-Sanchez\n", - "255-James-Ramirez\n", - "256-Olivia-Flores\n", - "257-Lucas-Cruz\n", - "258-Isabella-Rivera\n", - "259-David-Lee\n", - "260-Sophie-Walker\n", - "261-Matthew-Hall\n", - "262-Emma-Allen\n", - "263-Ryan-Young\n", - "264-Ava-King\n", - "265-Ethan-Wright\n", - "266-Mia-Scott\n", - "267-William-Turner\n", - "268-James-Carter\n", - "269-Olivia-Phillips\n", - "270-Lucas-Evans\n", - "271-Sophie-Collins\n", - "272-Noah-Stewart\n", - "273-Ava-Snyder\n", - "274-Ethan-Baker\n", - "275-Mia-Nelson\n", - "276-Noah-Roberts\n", - "277-Emma-Campbell\n", - "278-William-Miller\n", - "279-James-Davis\n", - "280-Olivia-Garcia\n", - "281-Lucas-Rodriguez\n", - "282-Sophie-Martinez\n", - "283-Noah-Hernandez\n", - "284-Ava-Lopez\n", - "285-Ethan-Gonzalez\n", - "286-Mia-Perez\n", - "287-William-Sanchez\n", - "288-James-Ramirez\n", - "289-Olivia-Flores\n", - "290-Lucas-Cruz\n", - "291-Isabella-Rivera\n", - "292-David-Lee\n", - "293-Sophie-Walker\n", - "294-Matthew-Hall\n", - "295-Emma-Allen\n", - "296-Ryan-Young\n", - "297-Ava-King\n", - "298-Ethan-Wright\n", - "299-Mia-Scott\n", - "300-William-Turner\n", - "301-James-Carter\n", - "302-Olivia-Phillips\n", - "303-Lucas-Evans\n", - "304-Sophie-Collins\n", - "305-Noah-Stewart\n", - "306-Ava-Snyder\n", - "307-Ethan-Baker\n", - "308-Mia-Nelson\n", - "309-Noah-Roberts\n", - "310-Emma-Campbell\n", - "311-William-Miller\n", - "312-James-Davis\n", - "313-Olivia-Garcia\n", - "314-Lucas-Rodriguez\n", - "315-Sophie-Martinez\n", - "316-Noah-Hernandez\n", - "317-Ava-Lopez\n", - "318-Ethan-Gonzalez\n", - "319-Mia-Perez\n", - "320-William-Sanchez\n", - "321-James-Ramirez\n", - "322-Olivia-Flores\n", - "323-Lucas-Cruz\n", - "324-Isabella-Rivera\n", - "325-David-Lee\n", - "326-Sophie-Walker\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "usecols = [\"Name\", \"Vorname\"]\n", - "air = pd.read_csv(\"regie_name.csv\", usecols=usecols)\n", - "\n", - "for count, (i, b) in enumerate(zip(air[\"Name\"], air[\"Vorname\"])):\n", - " print(count, b, i, sep=\"-\")\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ee4b5dee-6b41-49eb-8d75-9db50d20fdef", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/movie-db/Dockerfile b/movie-db/Dockerfile new file mode 100644 index 0000000..ddd157c --- /dev/null +++ b/movie-db/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.9-slim-bookworm + +WORKDIR /app + +# Install build dependencies for mariadb-connector-c +RUN apt-get update && apt-get install -y \ + default-libmysqlclient-dev \ + gcc \ + pkg-config \ + && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +EXPOSE 5082 + +CMD ["python3", "main.py"] \ No newline at end of file diff --git a/movie-db/README.md b/movie-db/README.md index 6efa3b9..f13758e 100644 --- a/movie-db/README.md +++ b/movie-db/README.md @@ -1,7 +1,118 @@ -Folgende Punkte +# Movie-DB -- erstellen eine SQlite DB -- Die DB soll folgende Tabellen haben Genre, MyList, -- Die Anzeige soll über Flask angezeigt werden +Eine webbasierte Anwendung zur Verwaltung einer persönlichen Filmsammlung. -Weitere Schritte folgen !!! +## Funktionsumfang (Features) + +* **Benutzer-System:** Vollständiges Registrierungs- und Login-System, sodass jeder Benutzer seine eigene, private Filmsammlung verwalten kann. +* **Persönliche Filmlisten:** Jeder Benutzer sieht und durchsucht nur die Filme, die er selbst hinzugefügt hat. +* **Filme hinzufügen:** Filme können manuell oder durch ein automatisiertes Scraping von IMDb hinzugefügt werden. +* **Umfassende Suche:** Eine globale Suchleiste ermöglicht die gleichzeitige Suche nach Titel, Genre und Regisseur. +* **Paginierung:** Die Filmliste ist in Seiten aufgeteilt, um auch bei großen Sammlungen übersichtlich zu bleiben. +* **Sichere Verbindung:** Die Anwendung wird über HTTPS mit einem selbst-signierten SSL-Zertifikat bereitgestellt. +* **Containerisierung:** Die gesamte Anwendung ist mit Docker und Docker Compose containerisiert, was die Bereitstellung vereinfacht. +* **Automatisierte Bereitstellung:** Ein Ansible-Playbook automatisiert das Deployment der Anwendung. + +## Voraussetzungen + +Stellen Sie sicher, dass die folgende Software auf Ihrem System installiert ist: + +* Python 3 +* pip +* Docker +* Docker Compose +* Ansible + +## Inbetriebnahme + +Es gibt drei Möglichkeiten, die Anwendung zu starten. + +### 1. Direkter Start mit Python + +Dies ist die klassische Methode für die lokale Entwicklung. + +1. **Abhängigkeiten installieren:** + ```bash + pip install -r requirements.txt + ``` +2. **Anwendung starten:** + ```bash + python3 main.py + ``` +3. **Zugriff:** Öffnen Sie Ihren Browser und gehen Sie zu `https://localhost:5082`. Sie müssen eine Browser-Warnung aufgrund des selbst-signierten Zertifikats akzeptieren. + +### 2. Start mit Docker + +Diese Methode kapselt die Anwendung in einem Container. + +1. **Docker-Image erstellen:** + ```bash + docker build -t movie-db-app . + ``` +2. **Docker-Container starten:** + ```bash + docker run -p 5082:5082 movie-db-app + ``` +3. **Zugriff:** Öffnen Sie Ihren Browser und gehen Sie zu `https://localhost:5082`. + +### 3. Start mit Ansible und Docker Compose (Empfohlen) + +Dies ist die automatisierte Methode, die einen sauberen Deployment-Prozess sicherstellt. + +1. **Ansible Docker-Sammlung installieren (falls noch nicht geschehen):** + ```bash + ansible-galaxy collection install community.docker + ``` +2. **Ansible-Playbook ausführen:** + ```bash + ansible-playbook start.yml + ``` + (Möglicherweise müssen Sie Ihr `sudo`-Passwort eingeben.) + +3. **Zugriff:** Öffnen Sie Ihren Browser und gehen Sie zu `https://localhost:5082`. + +## Projektstruktur + +Die wichtigsten Dateien und Ordner im Überblick: + +``` +. +├── Dockerfile +├── docker-compose.yml +├── main.py +├── moviedb_func.py +├── movie_db.db +├── README.md +├── requirements.txt +├── start.yml +├── cert.pem +├── key.pem +└── templates/ + ├── base.html + ├── index.html + ├── login.html + └── register.html +``` + +* `main.py`: Die Hauptdatei der Flask-Anwendung. Sie enthält die Routen und die Anwendungslogik. +* `moviedb_func.py`: Enthält die gesamte Geschäftslogik, Datenbankfunktionen und die `User`-Klasse. +* `templates/`: Der Ordner für alle HTML-Templates. +* `movie_db.db`: Die SQLite-Datenbankdatei. +* `Dockerfile`: Die Bauanleitung für das Docker-Image der Anwendung. +* `docker-compose.yml`: Definiert die Anwendung als Docker-Dienst für eine einfache Verwaltung. +* `start.yml`: Das Ansible-Playbook für die automatisierte Bereitstellung. +* `requirements.txt`: Liste der Python-Abhängigkeiten. +* `cert.pem`, `key.pem`: Das selbst-signierte SSL-Zertifikat und der private Schlüssel. + +## Benutzung + +1. **Registrieren:** Erstellen Sie auf der Registrierungsseite einen neuen Benutzeraccount. +2. **Einloggen:** Melden Sie sich mit Ihren neuen Zugangsdaten an. +3. **Filme hinzufügen:** Nutzen Sie den "Film hinzufügen"-Button, um Filme entweder durch die IMDb-Suche oder manuell zu Ihrer Sammlung hinzuzufügen. +4. **Suchen:** Verwenden Sie die Suchleiste, um Ihre Sammlung nach Titeln, Genres oder Regisseuren zu durchsuchen. + +## Mögliche zukünftige Erweiterungen + +* **Bearbeiten & Löschen:** Funktionen zum Bearbeiten und Löschen von bereits hinzugefügten Filmen. +* **Detailseite:** Eine eigene Seite für jeden Film mit mehr Details (Schauspieler, Handlung, etc.). +* **Sortieroptionen:** Die Möglichkeit, die Filmliste nach verschiedenen Kriterien zu sortieren. \ No newline at end of file diff --git a/movie-db/__pycache__/moviedb_func.cpython-313.pyc b/movie-db/__pycache__/moviedb_func.cpython-313.pyc deleted file mode 100644 index f058568..0000000 Binary files a/movie-db/__pycache__/moviedb_func.cpython-313.pyc and /dev/null differ diff --git a/movie-db/cert.pem b/movie-db/cert.pem new file mode 100644 index 0000000..afa98ca --- /dev/null +++ b/movie-db/cert.pem @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIIFCTCCAvGgAwIBAgIUDplU7xn71S8Rb5v7dXQ9cZmD1S4wDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTI1MDgyNjExNTIwMVoXDTI2MDgy +NjExNTIwMVowFDESMBAGA1UEAwwJbG9jYWxob3N0MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA0J1PNqsrg+BL/zy7nTaRwfP96gGGvnQtHFHBifX7qF6e +bXKvxU77tGE9D0i5t36N2ktMl6PGI2CmhFz5mkcVrXnfWGLoYV2jLlYQOdKvwFJo +7R4QuGa8nLHLdGUkhSSgRxkol9rHUcok5ZpfA1iVFbrpgqel3Lmh0h3qXx7YiPTo +Y8ZhFQDoF4TXJYGrSC2BlAtbOSwT/L/n983VIA3dugzQ+3H78OWmfGcCB8Q8d5hN +FP+igWj/29U3vCmvlgXpzaM+X1TtL9uxqm/GWw/+jIj4Wn+2mxhMFS2B/OeWEW5y +oTYvZywK/eap9ieyKpzi+lND3eTvD+icpj1hFBt5qa+R9P1bj369q6IMSxNrf5YJ +cDesywy5MIIAPN+21nNYi13ZSwSnfEI/13klBk0rdhBulDAPGvH1DZEAc4ePagMQ +uhJtW6wl50yNJADxszAa1mbIIk/v7r+vPt32XTylqlaI3koU2XjjmyXcsAFLdgcS +ymCtxNWe37U58qb1J3QKDbaskq6kJiJBWZlASa3ANp19UdWvAnuznhhfXws0cV6b +qFoeKKkyWOsPln+Ifuw1VONJOMJmoT4L+kHuKnMDqdusuGdIlJXfeW00vMLIRx8O +8j8dUHfFqWRnE98VO9WZlsbagYgW96n9zyeZvfW3VgncrqMVZYC2YadbSH+hG40C +AwEAAaNTMFEwHQYDVR0OBBYEFIp7yQD9oKNeYS2hFMBzgIQWoZzGMB8GA1UdIwQY +MBaAFIp7yQD9oKNeYS2hFMBzgIQWoZzGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggIBAHQpvGXNoeHjmVxuMmZSuiccOdfJXiWBTM7g7Eqq0nzTuzK/ +IvmBkTxK8BG1j9X+9vBDJ3KZAIMVviepqxUNMGMQNa9DcVnOxaB01UdRqM9hh+jg +EkBgN325BgrX5Vh/HS7MX2VboM+WmBcfWtt3afKv2Tv2mzZ6bPPDdbH/SJouxfXD +Ea+n3IXniskmY7kUVTy7uRQUAJXyLulcrXAJgOwws80JEXrrjZwcpt9PxzzxXu4c +TUZQ1A5FgHgXecYM1WJA9nQr7NH9TewssKaoYOEltwOxbqc0bxAOtFX02dSTpRY/ +0LwLC1Nqm34c96CX1t/WLfWf/RY2j5FoqFKxOY6CnpCW4DXjMZ3OEPmikT6XJ85G +q9LB4AqT/G1cyQzoT78SwDk6Ln3ahzP0MiaQeZ/KBJbqnfxOtcDWAmRTtIPYpMYH +eW8K+Y0Z3UvR+FqawuR5pvz5T/XYC/tutK4+KLCecorruT/Ye5qEALb+XcugU5iE +3FeZ/iAUxn8UKAGtfogQHYMOZ5lllAgRCKYhEYp28Rlkrk9LBXPzMimUfPZ2RSwx +XSkTYZEFEMw+4YQdOGqesW/hGpG6Ojmb/bmqG5TAzTdFUXsc6YgrJIP7lCIkEBnb +jF+S8Yb9Gq1s3ohiyI71kdVoOgWUGbqkkQ9xEZQzRzB1zcOLKelpdI7BEkjE +-----END CERTIFICATE----- diff --git a/movie-db/docker-compose.yml b/movie-db/docker-compose.yml new file mode 100644 index 0000000..6214c68 --- /dev/null +++ b/movie-db/docker-compose.yml @@ -0,0 +1,10 @@ +services: + web: + build: . + container_name: movie-db-web + ports: + - "5082:5082" + volumes: + - .:/app + restart: always + # command: python3 main.py # Use this if you want to run in foreground for debugging \ No newline at end of file diff --git a/movie-db/imdb_suche.py b/movie-db/imdb_suche.py new file mode 100644 index 0000000..840731f --- /dev/null +++ b/movie-db/imdb_suche.py @@ -0,0 +1,59 @@ +# Benötigt die Installation von 'requests' und 'beautifulsoup4' +# pip install requests beautifulsoup4 + +import requests +from bs4 import BeautifulSoup +import sys +import re + +def suche_film_url(film_titel): + """ + Sucht auf IMDb nach einem Film und gibt die deutsche URL der Filmseite zurück. + + Args: + film_titel: Der Titel des Films, nach dem gesucht werden soll. + + Returns: + Die deutsche URL der Filmseite oder None, wenn nichts gefunden wurde. + """ + such_url = f"https://www.imdb.com/find?q={film_titel.replace(' ', '+')}" + # Header, um die deutsche Seite zu bevorzugen + headers = { + 'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' + } + + try: + response = requests.get(such_url, headers=headers) + response.raise_for_status() # Löst eine Ausnahme für HTTP-Fehler aus + + soup = BeautifulSoup(response.text, 'html.parser') + + # Finden des ersten Links im Titel-Ergebnisbereich + ergebnis_bereich = soup.find('section', {'data-testid': 'find-results-section-title'}) + if ergebnis_bereich: + link_tag = ergebnis_bereich.find('a', href=re.compile(r'/title/tt\d+')) + if link_tag and 'href' in link_tag.attrs: + pfad = link_tag['href'] + # Extrahieren der Titel-ID (z.B. tt0133093) + match = re.search(r'(tt\d+)', pfad) + if match: + titel_id = match.group(1) + return f"https://www.imdb.com/de/title/{titel_id}" + + except requests.exceptions.RequestException as e: + print(f"Ein Fehler bei der Anfrage ist aufgetreten: {e}") + return None + + return None + +if __name__ == "__main__": + if len(sys.argv) > 1: + film_name = " ".join(sys.argv[1:]) + url = suche_film_url(film_name) + if url: + print(f"URL für '{film_name}' gefunden: {url}") + else: + print(f"Konnte keinen Film mit dem Titel '{film_name}' finden.") + else: + print("Benutzung: python imdb_suche.py ") diff --git a/movie-db/key.pem b/movie-db/key.pem new file mode 100644 index 0000000..37e0097 --- /dev/null +++ b/movie-db/key.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDQnU82qyuD4Ev/ +PLudNpHB8/3qAYa+dC0cUcGJ9fuoXp5tcq/FTvu0YT0PSLm3fo3aS0yXo8YjYKaE +XPmaRxWted9YYuhhXaMuVhA50q/AUmjtHhC4Zrycsct0ZSSFJKBHGSiX2sdRyiTl +ml8DWJUVuumCp6XcuaHSHepfHtiI9OhjxmEVAOgXhNclgatILYGUC1s5LBP8v+f3 +zdUgDd26DND7cfvw5aZ8ZwIHxDx3mE0U/6KBaP/b1Te8Ka+WBenNoz5fVO0v27Gq +b8ZbD/6MiPhaf7abGEwVLYH855YRbnKhNi9nLAr95qn2J7IqnOL6U0Pd5O8P6Jym +PWEUG3mpr5H0/VuPfr2rogxLE2t/lglwN6zLDLkwggA837bWc1iLXdlLBKd8Qj/X +eSUGTSt2EG6UMA8a8fUNkQBzh49qAxC6Em1brCXnTI0kAPGzMBrWZsgiT+/uv68+ +3fZdPKWqVojeShTZeOObJdywAUt2BxLKYK3E1Z7ftTnypvUndAoNtqySrqQmIkFZ +mUBJrcA2nX1R1a8Ce7OeGF9fCzRxXpuoWh4oqTJY6w+Wf4h+7DVU40k4wmahPgv6 +Qe4qcwOp26y4Z0iUld95bTS8wshHHw7yPx1Qd8WpZGcT3xU71ZmWxtqBiBb3qf3P +J5m99bdWCdyuoxVlgLZhp1tIf6EbjQIDAQABAoICAD8OHWBX0ppU1IO8drTpRptK +RYhSl8i/UtdJeudZW4yjtN0+GhTYb8owzgTtpXzqGrRNqEP5c61DzHEbrTJNpCbA +PJr5omWzqNwblWH05byK7D4npUQngYEXWHjBDY3U6UE0QInNzgtRv19LDsbzInTj +/yrHw6F41omtEydXKnoTFJ772mI/2Ocq9uDWVdBGOPFnkVYxlYUC+Hl1VKMQreFL +eGtYI5/Huk/Fzt5MGT7I4RukvRjChPuMcgFE1FbTSL0oR3UHNX4OuJ/ckyb5KaaO +zAqGqcotSOnpzG2GDl0Mdkd2GlPkAxqFev/1NawdqZmiS1Qpm3zCgX7Z9JrgRyBP +nMKMdH/+Yi6sQ16BLuq1/wBSoN4hh5AIjbS2SRV8P0RR9TfuKP0G3UZeXEJVu7VZ +LjMqfNc5Frco8iJdm4dv9bAjMgDgKBwRzECTSPcUByS7H72v7I81X9HDaNlMk9Py +B0sy5mduihQE4ZeSUVloiq/Mm8K3/6lPuC94+8hfZ7ZhmMTsXkeHtyo+tNNEHtFS +wnF96zzUE5l7quCmqPzz5l5ll9wYAjMXr48Fv9C5E5QshoYhmzBrF6+Kn315bSa6 +PHf3v2nJ//lJHyJR6o/MWLAdW61nbvnlLbwBUt0blv+PUnoOFKQhDcHteU7Ht5zi +vyzJKEGK0nL+hScit94dAoIBAQD+ttlWLHVo32jX83cVLNQFo5TVQJlbf05yZUqm +rEVu+kH59JAUPYxypiQ+CWc3OMFqDHiSrP9VdL1HSfZURS3K8hw25ThWn5jXEoWF +SkyCWBcPp8EyCwW14DUCp45VKyZlNpM/halT+eG04lElEilUHDMbinz01R2Gwkrk +zgirxRBpAU1OMnvCTTjwmLUXCKvHBDek4AZBY0Gw9eWgir+If6Gyn88Nr2N1ZtFt ++kkHrLgyo+nanOu1N/02RC3Je3lSxI7VsLP0Lt/zs5Qag8r/a7lEDUI69eQbh/Rh +29NaqUyPOQn8DjfPzB8a0F7qXbcB94CYWfoKZ/RkdJ9dj4mTAoIBAQDRquN/ftwE +CBfgwE5BJNZuofj733LBrnvZH51UOMvnoTxPDdCyf684un8qylmYu4WIV5VvWZUH +G3gOw+zmmpEOHerh8/G7X9FPST8txTlAxlFBVN0iXMyU8SDypw2XF+CKcq0goz2s +/XA0b9NdtF9zziYsZSj+hR5E1Nf16GX2SeczSlaxPRTZ1pxqRbmC+1iE+yJuXcQ2 +sJgr2zI9jUf0zGamYPqpKvZDKLclZSJAIYTLE/nUMR87QqgLU90x3bBeRR4uLnD3 +yemtFuJDRcSZa+4j/m5fmLZvA2wpvZvvd70DC3xfh6RKZYyzj26rHgK3qnY9owzS +q44qLTbNH3pfAoIBAQCHmjy2XdDb1iRw41LAWS8/GUlBBrUeOvY+fKJzfT8xx9Wc +BpE11VaSKtUcmdDzWynNFXqTS7pbelzSORQE5Rdt9dsDdqC5rRmnVlrzDQ0ST2dn +lD2MMMYHf6d5FE74FJLKS3W02am95Ug+DkZ43+RUvPaQcPf5OAQSHBnXGcEQAUet +P14yhTnRxV7M599wtdMNjrc49XMfGIJ+fUqUX4l8V8Zz3BRVCsx+UhCo5hg/F7qw +awcytVvfDEGnxEBEBZIfeDk6lmoXU2UyzqXIP+WweV8WVaCu1v1rksON3YP1vi/e +B9XC9KbN37OniMsfJmkpiORTN4OgSpuXZ2b4XlQ1AoIBAQCsVFMMdc6MmcJWfnlT +Xd3JrOOi0fPWcX1l5nA/yzb9OS8Cow5HyF7St6bSGuMtf+OvPp2amfy9jLxPFoZe +u+hBvCFUelbTdVvqWP/OtO3r6ZTbp87h8XhNaytzhg7Lg1qRMNRPoRyOVPimgMsv +l5Nk8am6j6L0H6HTXUXr3on/tpqLM6yxnMzIh3akeo6Rs9j75BZWtEcT1G4ejdlr +cfYUpPQyCD++T4t9g7eUyt0t7N7is5aB66YJ5S2Nse56kAXoVdMKji1X3ONt2wM5 +29xNZcKkXvmFJVW9RQjf/fJvDvGR0Rz2v9wvMexFobyKdO4y26631o4xkcQVsnf6 +fMbtAoIBAE6rOneLYxM8X6hJ7NoyVIwUH52WKuqWn4SFHU42C8SGeUTxFtr6ze+L +z0ZYTowYufMOUMjtS4nwa2kWkohPJccDfJHG1NJf6WA80Yt/qQItsjv/TGItxDE0 +4j47r+h1NGj01xzJHe0QG38NWnnpw0hHFSG5q73qWFyYSWs/unz+HMSGsg+KtpPT +K7RJMx2ROUXlMku8TmEWO0EfwhVmTp2g/1XoH7DvtAIv5GLiUL+pYp9qs7LtSVI/ +3WYsk3Op/x5VRG/V2hByPf25IrpLS3eoDB3uPeeIHb0rXx0QdMr2rElGg4vgcLUw +krvHLxyb9R+o1UzlvYkUiF+lOMVpLB8= +-----END PRIVATE KEY----- diff --git a/movie-db/main.py b/movie-db/main.py index c47b7b2..c9a520b 100644 --- a/movie-db/main.py +++ b/movie-db/main.py @@ -1,59 +1,127 @@ import flask +from flask import render_template, redirect, url_for, flash +from flask_login import LoginManager, login_user, logout_user, login_required, current_user import moviedb_func app = flask.Flask(__name__) app.secret_key = "Start1234!" +login_manager = LoginManager() +login_manager.init_app(app) +login_manager.login_view = "login" + +@login_manager.user_loader +def load_user(user_id): + return moviedb_func.get_user_by_id(user_id) + +@app.route("/register", methods=["GET", "POST"]) +def register(): + if flask.request.method == "POST": + username = flask.request.form.get("username") + password = flask.request.form.get("password") + if moviedb_func.get_user_by_username(username): + flash("Benutzername existiert bereits") + return redirect(url_for("register")) + moviedb_func.add_user(username, password) + return redirect(url_for("login")) + return render_template("register.html") + +@app.route("/login", methods=["GET", "POST"]) +def login(): + if flask.request.method == "POST": + username = flask.request.form.get("username") + password = flask.request.form.get("password") + user = moviedb_func.get_user_by_username(username) + if user and user.check_password(password): + login_user(user) + return redirect(url_for("index")) + flash("Ungültiger Benutzername oder Passwort") + return render_template("login.html") + +@app.route("/logout") +@login_required +def logout(): + logout_user() + return redirect(url_for("login")) + + +@app.route("/", methods=["GET", "POST"]) +@login_required +def index(): + page = flask.request.args.get('page', 1, type=int) + per_page = 20 + search_query = None + if flask.request.method == "POST": + search_query = flask.request.form.get("search") + else: + search_query = flask.request.args.get("search") + + data_all, total_pages = moviedb_func.show_movie_list(user_id=current_user.id, search_query=search_query, page=page, per_page=per_page) + return render_template( + "index.html", + sitename="Meine Movieliste !!!", + data_all=data_all, + total_pages=total_pages, + current_page=page, + search_query=search_query + ) + @app.get("/add_movie") def add_movie(): - return flask.render_template( + return render_template( "add_movie.html", sitename="Meine Movieliste !!!", url="output", select_movie="add_movie", select_genre="add_genre", select_medium="add_medium", - select_regie="add_regie", data=moviedb_func.all_select(), - data_medium=moviedb_func.all_select(what_select="medium"), - data_regie=moviedb_func.all_select(what_select="regie"), - data_all=moviedb_func.show_movie_list() + data_medium=moviedb_func.all_select(what_select="medium") ) @app.post("/output") +@login_required def csv_output(): select_add_movie = flask.request.form["add_movie"] - select_genre = flask.request.form["add_genre"] - select_genre_id = moviedb_func.search_id( - search_name=flask.request.form["add_genre"]) - select_medium = flask.request.form["add_medium"] select_medium_id = moviedb_func.search_id( - search_name=flask.request.form["add_medium"], select_from="medium", select_where="medium") - select_regie = flask.request.form["add_regie"] - select_regie_id = moviedb_func.search_id( - search_name=flask.request.form["add_regie"], select_from="regie", select_where="regie") + search_name=select_medium, select_from="medium", select_where="medium") - moviedb_func.add_movie_to_list(movie_name=select_add_movie, regie_id=select_regie_id, - medium_id=select_medium_id, genre_id=select_genre_id) + if moviedb_func.scrape_and_add_movie(movie_name=select_add_movie, + medium_id=select_medium_id, user_id=current_user.id): + return redirect(url_for('index')) + else: + return redirect(url_for('add_movie_manually', movie_name=select_add_movie, medium_id=select_medium_id)) - return flask.render_template( - "output.html", - sitename="Meine Movieliste !!!", - add_movie=select_add_movie, - add_genre=select_genre, - add_medium=select_medium, - add_regie=select_regie, - add_genre_id=select_genre_id, - add_medium_id=select_medium_id, - add_regie_id=select_regie_id - # data=modify_csv.read_csv_file(), - # sum_all=modify_csv.sum_all(), +@app.get("/add_movie_manually") +@login_required +def add_movie_manually(): + movie_name = flask.request.args.get('movie_name') + medium_id = flask.request.args.get('medium_id') + return render_template( + "add_movie_manually.html", + sitename="Manuelle Eingabe", + movie_name=movie_name, + medium_id=medium_id ) +@app.post("/save_manual") +@login_required +def save_manual(): + movie_name = flask.request.form["movie_name"] + medium_id = flask.request.form["medium_id"] + director_name = flask.request.form["director_name"] + release_year = flask.request.form["release_year"] + genre_name = flask.request.form["genre_name"] + + moviedb_func.add_manual_movie(movie_name=movie_name, medium_id=int(medium_id), director_name=director_name, release_year=int(release_year), genre_name=genre_name, user_id=current_user.id) + + return redirect("/") + if __name__ == "__main__": - app.run(port=5082, host="0.0.0.0", debug=True) + moviedb_func.create_movie_database() + app.run(port=5082, host="0.0.0.0", debug=True, ssl_context=('cert.pem', 'key.pem')) diff --git a/movie-db/movie_db.db b/movie-db/movie_db.db index cceacad..e69de29 100644 Binary files a/movie-db/movie_db.db and b/movie-db/movie_db.db differ diff --git a/movie-db/moviedb_func.py b/movie-db/moviedb_func.py index eedb6f3..d8b76cd 100644 --- a/movie-db/moviedb_func.py +++ b/movie-db/moviedb_func.py @@ -2,17 +2,103 @@ import DBcm from mariadb import ProgrammingError import pandas as pd import sqlite3 +import urllib.request +import json +import re +import ssl +import imdb_suche +from werkzeug.security import generate_password_hash, check_password_hash +from flask_login import UserMixin + + +def get_movie_details(imdb_url): + """ + Ruft eine IMDb-Filmseite auf und extrahiert den Regisseur und die Hauptdarsteller. + + Args: + imdb_url (str): Die vollständige URL zur IMDb-Filmseite. + + Returns: + dict: Ein Wörterbuch mit "director" und "actors" oder None bei einem Fehler. + """ + if not re.match(r"https://www.imdb.com/de/title/tt\d+/?", imdb_url): + print(f"Fehler: Ungültige IMDb-URL: {imdb_url}. Die URL sollte so aussehen: https://www.imdb.com/de/title/tt...") + return None + + try: + # SSL-Kontext erstellen, um Zertifikatsüberprüfungsfehler zu umgehen + context = ssl._create_unverified_context() + + # User-Agent setzen, um wie ein Browser auszusehen und Blockaden zu vermeiden + headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'} + + req = urllib.request.Request(imdb_url, headers=headers) + + with urllib.request.urlopen(req, context=context) as response: + html_content = response.read().decode('utf-8') + + # Suchen Sie nach dem strukturierten Datenblock (JSON-LD), der Filminformationen enthält + match = re.search( + r'', html_content, re.DOTALL) + + if not match: + print("Fehler: Konnte den JSON-LD-Datenblock auf der Seite nicht finden.") + return None + + json_data = json.loads(match.group(1)) + + # Extrahieren des Regisseurs + director = [d.get('name') for d in json_data.get("director", [])] if isinstance( + json_data.get("director"), list) else [json_data.get("director", {}).get("name")] + + # Extrahieren der Schauspieler + actors = [a.get('name') for a in json_data.get("actor", [])] + + # Extrahieren des Erscheinungsjahres + release_year = json_data.get("datePublished", "").split("-")[0] + + # Extrahieren des Genres + genre = json_data.get("genre", []) + if isinstance(genre, list): + genre = ", ".join(genre) + + + return { + "director": [d for d in director if d], + "actors": [a for a in actors if a], + "release_year": release_year, + "genre": genre + } + + except urllib.error.HTTPError as e: + print(f"HTTP-Fehler beim Abrufen der URL: {e.code} {e.reason}") + return None + except Exception as e: + print(f"Ein Fehler ist aufgetreten: {e}") + return None def create_movie_database(db_name="movie_db.db"): + create_user_table = """ + CREATE TABLE IF NOT EXISTS user ( + id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + username VARCHAR(64) NOT NULL UNIQUE, + password_hash VARCHAR(128) NOT NULL + ); + """ + create_my_list = """ create table if not exists movie_list ( id integer not null primary key autoincrement, titel varchar(64) not null, genre_id integer not null, - regie_id integer not null, - medium_id integer not null + regie_id integer, + medium_id integer not null, + release_year integer, + user_id integer not null, + FOREIGN KEY (user_id) REFERENCES user (id) ) """ @@ -60,6 +146,7 @@ def create_movie_database(db_name="movie_db.db"): """ with DBcm.UseDatabase(db_name) as db: + db.execute(create_user_table) db.execute(create_my_list) db.execute(create_genre) db.execute(create_regie) @@ -104,7 +191,39 @@ def all_select(db_name="movie_db.db", what_select="genre"): return "Wrong Value !!!" -def search_id(db_name="movie_db.db", search_name=str, select_from="genre", select_where="name"): +def get_or_create_regie(director_name: str, db_name: str = "movie_db.db"): + ADD_REGIE_VALUE = """ + INSERT INTO regie (surname, lastname ) + SELECT ?, ? + WHERE NOT EXISTS + (SELECT surname, lastname + FROM regie + WHERE surname = ? AND lastname = ?); + """ + director_split = director_name.split(" ") + surname = director_split[0] + lastname = " ".join(director_split[1:]) + with DBcm.UseDatabase(db_name) as db: + db.execute(ADD_REGIE_VALUE, (surname, lastname, surname, lastname)) + db.execute("SELECT id FROM regie WHERE surname = ? AND lastname = ?", (surname, lastname)) + regie_id = db.fetchone()[0] + return regie_id + + +def get_or_create_genre(genre_name: str, db_name: str = "movie_db.db"): + ADD_GENRE_VALUE = """ + INSERT INTO genre(name) + SELECT ? + WHERE NOT EXISTS (SELECT 1 FROM genre WHERE name = ?); + """ + with DBcm.UseDatabase(db_name) as db: + db.execute(ADD_GENRE_VALUE, (genre_name, genre_name)) + db.execute("SELECT id FROM genre WHERE name = ?", (genre_name,)) + genre_id = db.fetchone()[0] + return genre_id + + +def search_id(search_name: str, select_from: str = "genre", select_where: str = "name", db_name: str = "movie_db.db"): if select_from == "regie": split_search = search_name.split(" ") GENRE_QUERY = f"""select id from {select_from} @@ -125,43 +244,176 @@ def search_id(db_name="movie_db.db", search_name=str, select_from="genre", selec return int(0) -def add_movie_to_list(db_name="movie_db.db", movie_name=str, genre_id=int, regie_id=int, medium_id=int): +def scrape_and_add_movie(movie_name: str, medium_id: int, user_id: int, db_name: str = "movie_db.db"): + url = imdb_suche.suche_film_url(movie_name) + if not url: + return False + + details = get_movie_details(url + "/") + if not details: + return False + + regie_id = None + if details.get("director"): + regie_id = get_or_create_regie(director_name=details["director"][0]) + + release_year = details.get("release_year") + genre_name = details.get("genre") + genre_id = None + if genre_name: + genre_id = get_or_create_genre(genre_name=genre_name) + SQL_PARAM = f""" - INSERT INTO movie_list (titel, genre_id, regie_id, medium_id ) - SELECT ?, ?, ?, ? - WHERE NOT EXISTS - (SELECT titel FROM movie_list WHERE titel = ?); + INSERT INTO movie_list (titel, genre_id, regie_id, medium_id, release_year, user_id) + VALUES (?, ?, ?, ?, ?, ?); """ try: with DBcm.UseDatabase(db_name) as db: db.execute(SQL_PARAM, (movie_name.lower(), genre_id, - regie_id, medium_id, movie_name.lower(),)) - except ProgrammingError: - raise ProgrammingError("Konnte nicht in die DB schreiben") + regie_id, medium_id, release_year, user_id,)) + except ProgrammingError as e: + print(f"Error adding movie: {e}") + return False return True -def show_movie_list(db_name="movie_db.db"): +def add_manual_movie(movie_name: str, medium_id: int, director_name: str, release_year: int, genre_name: str, user_id: int, db_name: str = "movie_db.db"): + regie_id = get_or_create_regie(director_name=director_name) + genre_id = get_or_create_genre(genre_name=genre_name) + + SQL_PARAM = f""" + INSERT INTO movie_list (titel, genre_id, regie_id, medium_id, release_year, user_id) + VALUES (?, ?, ?, ?, ?, ?); + """ + try: + with DBcm.UseDatabase(db_name) as db: + db.execute(SQL_PARAM, (movie_name.lower(), genre_id, + regie_id, medium_id, release_year, user_id,)) + except ProgrammingError as e: + print(f"Error adding movie: {e}") + return False + return True + + +def show_movie_list(db_name="movie_db.db", user_id=None, search_query=None, page=1, per_page=20): + """Zeigt eine paginierte Liste von Filmen an, die nach einem Suchbegriff gefiltert werden können.""" + + # Basis-SQL-Abfrage + SQL_BASE = """FROM movie_list + INNER JOIN genre ON movie_list.genre_id=genre.id + INNER JOIN regie ON movie_list.regie_id=regie.id + INNER JOIN medium ON movie_list.medium_id=medium.id""" + + # Filter-Bedingungen + params = [] + where_clauses = [] + if user_id: + where_clauses.append("movie_list.user_id = ?") + params.append(user_id) + + if search_query: + search_param = f"%{search_query}%" + where_clauses.append("(titel LIKE ? OR genre.name LIKE ? OR (regie.surname || ' ' || regie.lastname) LIKE ?)") + params.extend([search_param, search_param, search_param]) + + SQL_WHERE = "" + if where_clauses: + SQL_WHERE = " WHERE " + " AND ".join(where_clauses) + + # Verbindung zur Datenbank + db = sqlite3.connect(db_name) + + # Gesamtzahl der Filme für die Paginierung ermitteln + COUNT_SQL = f"SELECT COUNT(movie_list.id) {SQL_BASE}{SQL_WHERE}" + total_movies = db.execute(COUNT_SQL, params).fetchone()[0] + total_pages = (total_movies + per_page - 1) // per_page + + # Filme für die aktuelle Seite abrufen + offset = (page - 1) * per_page + SELECT_SQL = f"""SELECT + movie_list.id, + titel, + genre.name AS genre, + regie.surname as regie_surname, + regie.lastname as regie_lastname, + medium.medium, + movie_list.release_year + {SQL_BASE}{SQL_WHERE} + LIMIT ? OFFSET ?""" + + paginated_params = params + [per_page, offset] + SELCET_VALUE = pd.read_sql(SELECT_SQL, db, params=paginated_params) + + # Ergebnis in eine Liste von Dictionaries umwandeln + return_list_dict = [] + for id, titel, genre, regie_surname, regie_lastname, medium, release_year in zip(SELCET_VALUE["id"], SELCET_VALUE["titel"], SELCET_VALUE["genre"], SELCET_VALUE["regie_surname"], SELCET_VALUE["regie_lastname"], SELCET_VALUE["medium"], SELCET_VALUE["release_year"]): + return_list_dict.append( + {"id": id, "titel": titel, "genre": genre, "regie": regie_surname + " " + regie_lastname, "medium": medium, "release_year": release_year}) + + return return_list_dict, total_pages + + +def get_movie_by_title(movie_title: str, db_name: str = "movie_db.db"): SQL_PARAM = f"""SELECT movie_list.id, titel, genre.name AS genre, regie.surname as regie_surname, regie.lastname as regie_lastname, - medium.medium + medium.medium, + movie_list.release_year FROM movie_list INNER JOIN genre ON movie_list.genre_id=genre.id INNER JOIN regie ON movie_list.regie_id=regie.id INNER JOIN medium ON movie_list.medium_id=medium.id + WHERE movie_list.titel = ? ; """ - db = sqlite3.connect(db_name) - SELCET_VALUE = pd.read_sql(SQL_PARAM, db) - return_list_dict = [] - for id, titel, genre, regie_surname, regie_lastname, medium in zip(SELCET_VALUE["id"], SELCET_VALUE["titel"], SELCET_VALUE["genre"], SELCET_VALUE["regie_surname"], SELCET_VALUE["regie_lastname"], SELCET_VALUE["medium"]): - return_list_dict.append( - {"id": id, "titel": titel, "genre": genre, "regie": regie_surname + " " + regie_lastname, "medium": medium}) - return return_list_dict + with DBcm.UseDatabase(db_name) as db: + db.execute(SQL_PARAM, (movie_title.lower(),)) + movie = db.fetchone() + if movie: + return {"id": movie[0], "titel": movie[1], "genre": movie[2], "regie": movie[3] + " " + movie[4], "medium": movie[5], "release_year": movie[6]} + return None + +class User(UserMixin): + def __init__(self, id, username, password_hash): + self.id = id + self.username = username + self.password_hash = password_hash + + def set_password(self, password): + self.password_hash = generate_password_hash(password) + + def check_password(self, password): + return check_password_hash(self.password_hash, password) + + +def add_user(username, password, db_name="movie_db.db"): + password_hash = generate_password_hash(password) + SQL = "INSERT INTO user (username, password_hash) VALUES (?, ?)" + with DBcm.UseDatabase(db_name) as db: + db.execute(SQL, (username, password_hash)) + +def get_user_by_username(username, db_name="movie_db.db"): + SQL = "SELECT * FROM user WHERE username = ?" + with DBcm.UseDatabase(db_name) as db: + db.execute(SQL, (username,)) + user_data = db.fetchone() + if user_data: + return User(id=user_data[0], username=user_data[1], password_hash=user_data[2]) + return None + + +def get_user_by_id(user_id, db_name="movie_db.db"): + SQL = "SELECT * FROM user WHERE id = ?" + with DBcm.UseDatabase(db_name) as db: + db.execute(SQL, (user_id,)) + user_data = db.fetchone() + if user_data: + return User(id=user_data[0], username=user_data[1], password_hash=user_data[2]) + return None + if __name__ == "__main__": @@ -169,7 +421,7 @@ if __name__ == "__main__": # print(all_select()) # id_genre = search_id( # search_name="DVD", select_from="medium", select_where="medium") - add_movie_to_list(movie_name="Schlumpfland", - genre_id=1, regie_id=1, medium_id=1) + scrape_and_add_movie(movie_name="Die unglaubliche Reise in einem verrückten Flugzeug", + medium_id=1) for test in show_movie_list(): - print(test.get("id"), test.get("medium")) + print(test.get("id"), test.get("medium"), test.get("release_year")) diff --git a/movie-db/requirements.txt b/movie-db/requirements.txt index 080cc52..1f47d1d 100644 --- a/movie-db/requirements.txt +++ b/movie-db/requirements.txt @@ -1,2 +1,6 @@ flask dbcm +pandas +requests +beautifulsoup4 +Flask-Login \ No newline at end of file diff --git a/movie-db/start.yml b/movie-db/start.yml new file mode 100644 index 0000000..524ffb1 --- /dev/null +++ b/movie-db/start.yml @@ -0,0 +1,28 @@ +--- +- name: Deploy and start Movie-DB Application + hosts: localhost + connection: local + become: yes + + vars: + project_name: movie-db + install_dir: "/opt/{{ project_name }}" + project_src: "{{ playbook_dir }}" + + tasks: + - name: Create installation directory + ansible.builtin.file: + path: "{{ install_dir }}" + state: directory + mode: '0755' + + - name: Copy docker-compose file + ansible.builtin.copy: + src: "{{ project_src }}/docker-compose.yml" + dest: "{{ install_dir }}/docker-compose.yml" + + - name: Start application with Docker Compose + community.docker.docker_compose: + project_src: "{{ install_dir }}" + state: present + restarted: yes diff --git a/movie-db/templates/add_movie.html b/movie-db/templates/add_movie.html index e93c98d..a0c67f2 100644 --- a/movie-db/templates/add_movie.html +++ b/movie-db/templates/add_movie.html @@ -1,50 +1,20 @@ {% extends "base.html" %} {% block body %} -
- -   - -   - -   - -   - + +
+ +
+
+ +
+
-
- - - - - - - - - - {% for list_all in data_all %} - - - - - - - - {% endfor %} -
IdNameGenreRegieMedium
{{list_all.get("id")}}{{list_all.get("titel")}}{{list_all.get("genre")}}{{list_all.get("regie")}}{{list_all.get("medium")}}
- -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/movie-db/templates/add_movie_manually.html b/movie-db/templates/add_movie_manually.html new file mode 100644 index 0000000..1885aaf --- /dev/null +++ b/movie-db/templates/add_movie_manually.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} +{% block body %} +

Film nicht gefunden. Bitte manuell eingeben:

+
+ + + +
+ + +
+
+ + +
+
+ + +
+ +
+{% endblock %} \ No newline at end of file diff --git a/movie-db/templates/base.html b/movie-db/templates/base.html index e4f9d7d..00b43f8 100644 --- a/movie-db/templates/base.html +++ b/movie-db/templates/base.html @@ -1,12 +1,36 @@ - - - - {{ sitename }} - - -

{{ sitename }}

-

Es werden alle Filmtitel in einer Liste angezeigt. - {% block body %} - {% endblock %} - - + + + + + + {{ sitename }} + + + +

+
+ {% block body %}{% endblock %} +
+ + + \ No newline at end of file diff --git a/movie-db/templates/index.html b/movie-db/templates/index.html new file mode 100644 index 0000000..3306f9d --- /dev/null +++ b/movie-db/templates/index.html @@ -0,0 +1,60 @@ +{% extends "base.html" %} +{% block body %} + Film hinzufügen + +
+
+
+ + +
+
+ +
+ + + + + + + + + + + + + + {% for list_all in data_all %} + + + + + + + + + {% endfor %} + +
IdNameGenreRegieMediumErscheinungsjahr
{{list_all.get("id")}}{{list_all.get("titel")}}{{list_all.get("genre")}}{{list_all.get("regie")}}{{list_all.get("medium")}}{{list_all.get("release_year")}}
+ + + +{% endblock %} \ No newline at end of file diff --git a/movie-db/templates/login.html b/movie-db/templates/login.html new file mode 100644 index 0000000..04fbb85 --- /dev/null +++ b/movie-db/templates/login.html @@ -0,0 +1,25 @@ +{% extends "base.html" %} +{% block body %} +
+

Login

+ {% with messages = get_flashed_messages() %} + {% if messages %} +
+ {{ messages[0] }} +
+ {% endif %} + {% endwith %} +
+
+ + +
+
+ + +
+ +
+

Noch keinen Account? Hier registrieren.

+
+{% endblock %} \ No newline at end of file diff --git a/movie-db/templates/output.html b/movie-db/templates/output.html deleted file mode 100644 index edcc9d5..0000000 --- a/movie-db/templates/output.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends "base.html" %} - - {% block body %} -

- Film = {{ add_movie }}
- Genre = {{ add_genre }}   genre_id = {{ add_genre_id }}
- Medium = {{ add_medium }}   medium_id = {{add_medium_id }}
- Regie = {{ add_regie }}   reg_id = {{ add_regie_id }}
-

- {% endblock %} diff --git a/movie-db/templates/register.html b/movie-db/templates/register.html new file mode 100644 index 0000000..da7c72e --- /dev/null +++ b/movie-db/templates/register.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} +{% block body %} +
+

Registrieren

+
+
+ + +
+
+ + +
+ +
+

Schon einen Account? Hier einloggen.

+
+{% endblock %} \ No newline at end of file diff --git a/movie-db/test_jup.ipynb b/movie-db/test_jup.ipynb deleted file mode 100644 index 44f840e..0000000 --- a/movie-db/test_jup.ipynb +++ /dev/null @@ -1,650 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "5263a987-da36-46d7-a2e7-d0658cda09c1", - "metadata": {}, - "outputs": [], - "source": [ - "import DBcm" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "3f6b0763-4106-4bfa-9aef-7afbd180c6d4", - "metadata": {}, - "outputs": [], - "source": [ - "db_name = \"movie_db.db\"\n", - "\n", - "create_my_list = \"\"\"\n", - " create table if not exists movie_list (\n", - " id integer not null primary key autoincrement,\n", - " titel varchar(64) not null,\n", - " genre_id integer not null,\n", - " regie_id integer not null\n", - " \n", - " )\n", - "\n", - "\"\"\"\n", - "\n", - "create_genre = \"\"\"\n", - " create table if not exists genre (\n", - " id integer not null primary key autoincrement,\n", - " name varchar(64) not null\n", - " )\n", - "\"\"\"\n", - "\n", - "create_regie = \"\"\"\n", - " create table if not exists regie (\n", - " id integer not null primary key autoincrement,\n", - " surname varchar(64) not null,\n", - " lastname varchr(64) not null\n", - " )\n", - "\"\"\"\n", - "\n", - "\n", - "with DBcm.UseDatabase(db_name) as db: \n", - " db.execute(create_my_list)\n", - " db.execute(create_genre)\n", - " db.execute(create_regie)\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "376ef812-97b5-45ba-8ef1-eb8d7829494a", - "metadata": {}, - "outputs": [], - "source": [ - "# ADDed Genre values\n", - "\n", - "ADD_GENRE_VALUE = \"\"\"\n", - " INSERT INTO genre(name)\n", - " SELECT ?\n", - " WHERE NOT EXISTS (SELECT 1 FROM genre WHERE name = ?);\n", - " \"\"\"\n", - "\n", - "with open(\"genre_list\", \"r\") as fs: \n", - " for genre_value in fs.readlines():\n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(ADD_GENRE_VALUE, (genre_value.strip(), genre_value.strip()))\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "63b16a41-88bf-4832-a26c-09180832f597", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['action', 'adventure', 'animation', 'biography', 'comedy', 'crime', 'cult movie', 'disney', 'documentary', 'drama', 'erotic', 'family', 'fantasy', 'film-noir', 'gangster', 'gay and lesbian', 'history', 'horror', 'military', 'music', 'musical', 'mystery', 'nature', 'neo-noir', 'period', 'pixar', 'road movie', 'romance', 'sci-fi', 'short', 'spy', 'super hero', 'thriller', 'visually stunning', 'war', 'western']\n" - ] - } - ], - "source": [ - "def all_genres():\n", - " ALL_GENRE = \"\"\"\n", - " SELECT * from genre \n", - " \"\"\" \n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(ALL_GENRE)\n", - " all_genre = [i[1] for i in db.fetchall()]\n", - " \n", - " return all_genre\n", - "\n", - "print(all_genres())\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "89b20b5f-34aa-4490-a4c0-c186c9fa30bd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1\n", - "36\n" - ] - } - ], - "source": [ - "def search_genre_id(genre_name):\n", - " GENRE_QUERY = \"\"\"\n", - " select id from genre\n", - " where name = ?\n", - " \"\"\"\n", - " try:\n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(GENRE_QUERY,(genre_name,))\n", - " genre_id = db.fetchone()[0]\n", - " return int(genre_id)\n", - " except:\n", - " return int(0)\n", - "\n", - "\n", - "def search_medium_id(genre_name):\n", - " GENRE_QUERY = \"\"\"\n", - " select id from genre\n", - " where medium = ?\n", - " \"\"\"\n", - " try:\n", - " with DBcm.UseDatabase(db_name) as db:\n", - " db.execute(GENRE_QUERY,(genre_name,))\n", - " genre_id = db.fetchone()[0]\n", - " return int(genre_id)\n", - " except:\n", - " return int(0)\n", - "\n", - "print(search_genre_id(genre_name=\"action\"))\n", - "print(search_genre_id(genre_name=\"western\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "c70d91a5-7855-465d-a4a6-daebc065ee37", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0-John-Smith\n", - "1-James-Johnson\n", - "2-William-Williams\n", - "3-Michael-Brown\n", - "4-David-Davis\n", - "5-Richard-Miller\n", - "6-Joseph-Wilson\n", - "7-Charles-Moore\n", - "8-Thomas-Taylor\n", - "9-Daniel-Anderson\n", - "10-Paul-Thomas\n", - "11-Mark-Jackson\n", - "12-Donna-White\n", - "13-Michelle-Harris\n", - "14-Laura-Martin\n", - "15-Sara-Thompson\n", - "16-Ana-Garcia\n", - "17-Carlos-Rodriguez\n", - "18-Maria-Martinez\n", - "19-Jose-Hernandez\n", - "20-Luis-Lopez\n", - "21-Rosa-Gonzalez\n", - "22-Pedro-Perez\n", - "23-Miguel-Sanchez\n", - "24-Juan-Ramirez\n", - "25-Ana-Flores\n", - "26-Isabella-Cruz\n", - "27-Victor-Rivera\n", - "28-Kevin-Lee\n", - "29-Brian-Walker\n", - "30-Emily-Hall\n", - "31-Ryan-Allen\n", - "32-Aaron-Young\n", - "33-Jeffrey-King\n", - "34-Joshua-Wright\n", - "35-Brandon-Scott\n", - "36-Frank-Turner\n", - "37-Gregory-Carter\n", - "38-Samuel-Phillips\n", - "39-Chris-Evans\n", - "40-Anthony-Collins\n", - "41-Eric-Stewart\n", - "42-Frank-Snyder\n", - "43-Thomas-Baker\n", - "44-Jeremy-Nelson\n", - "45-Steven-Roberts\n", - "46-Edward-Campbell\n", - "47-Ryan-Miller\n", - "48-Jacob-Davis\n", - "49-David-Garcia\n", - "50-Sophia-Rodriguez\n", - "51-Emma-Martinez\n", - "52-Noah-Hernandez\n", - "53-Ava-Lopez\n", - "54-Ethan-Gonzalez\n", - "55-Mia-Perez\n", - "56-William-Sanchez\n", - "57-James-Ramirez\n", - "58-Olivia-Flores\n", - "59-Lucas-Cruz\n", - "60-Isabella-Rivera\n", - "61-David-Lee\n", - "62-Sophie-Walker\n", - "63-Matthew-Hall\n", - "64-Emma-Allen\n", - "65-Ryan-Young\n", - "66-Ava-King\n", - "67-Ethan-Wright\n", - "68-Mia-Scott\n", - "69-William-Turner\n", - "70-James-Carter\n", - "71-Olivia-Phillips\n", - "72-Lucas-Evans\n", - "73-Sophie-Collins\n", - "74-Noah-Stewart\n", - "75-Ava-Snyder\n", - "76-Ethan-Baker\n", - "77-Mia-Nelson\n", - "78-Noah-Roberts\n", - "79-Emma-Campbell\n", - "80-William-Miller\n", - "81-James-Davis\n", - "82-Olivia-Garcia\n", - "83-Lucas-Rodriguez\n", - "84-Sophie-Martinez\n", - "85-Noah-Hernandez\n", - "86-Ava-Lopez\n", - "87-Ethan-Gonzalez\n", - "88-Mia-Perez\n", - "89-William-Sanchez\n", - "90-James-Ramirez\n", - "91-Olivia-Flores\n", - "92-Lucas-Cruz\n", - "93-Isabella-Rivera\n", - "94-David-Lee\n", - "95-Sophie-Walker\n", - "96-Matthew-Hall\n", - "97-Emma-Allen\n", - "98-Ryan-Young\n", - "99-Ava-King\n", - "100-Ethan-Wright\n", - "101-Mia-Scott\n", - "102-William-Turner\n", - "103-James-Carter\n", - "104-Olivia-Phillips\n", - "105-Lucas-Evans\n", - "106-Sophie-Collins\n", - "107-Noah-Stewart\n", - "108-Ava-Snyder\n", - "109-Ethan-Baker\n", - "110-Mia-Nelson\n", - "111-Noah-Roberts\n", - "112-Emma-Campbell\n", - "113-William-Miller\n", - "114-James-Davis\n", - "115-Olivia-Garcia\n", - "116-Lucas-Rodriguez\n", - "117-Sophie-Martinez\n", - "118-Noah-Hernandez\n", - "119-Ava-Lopez\n", - "120-Ethan-Gonzalez\n", - "121-Mia-Perez\n", - "122-William-Sanchez\n", - "123-James-Ramirez\n", - "124-Olivia-Flores\n", - "125-Lucas-Cruz\n", - "126-Isabella-Rivera\n", - "127-David-Lee\n", - "128-Sophie-Walker\n", - "129-Matthew-Hall\n", - "130-Emma-Allen\n", - "131-Ryan-Young\n", - "132-Ava-King\n", - "133-Ethan-Wright\n", - "134-Mia-Scott\n", - "135-William-Turner\n", - "136-James-Carter\n", - "137-Olivia-Phillips\n", - "138-Lucas-Evans\n", - "139-Sophie-Collins\n", - "140-Noah-Stewart\n", - "141-Ava-Snyder\n", - "142-Ethan-Baker\n", - "143-Mia-Nelson\n", - "144-Noah-Roberts\n", - "145-Emma-Campbell\n", - "146-William-Miller\n", - "147-James-Davis\n", - "148-Olivia-Garcia\n", - "149-Lucas-Rodriguez\n", - "150-Sophie-Martinez\n", - "151-Noah-Hernandez\n", - "152-Ava-Lopez\n", - "153-Ethan-Gonzalez\n", - "154-Mia-Perez\n", - "155-William-Sanchez\n", - "156-James-Ramirez\n", - "157-Olivia-Flores\n", - "158-Lucas-Cruz\n", - "159-Isabella-Rivera\n", - "160-David-Lee\n", - "161-Sophie-Walker\n", - "162-Matthew-Hall\n", - "163-Emma-Allen\n", - "164-Ryan-Young\n", - "165-Ava-King\n", - "166-Ethan-Wright\n", - "167-Mia-Scott\n", - "168-William-Turner\n", - "169-James-Carter\n", - "170-Olivia-Phillips\n", - "171-Lucas-Evans\n", - "172-Sophie-Collins\n", - "173-Noah-Stewart\n", - "174-Ava-Snyder\n", - "175-Ethan-Baker\n", - "176-Mia-Nelson\n", - "177-Noah-Roberts\n", - "178-Emma-Campbell\n", - "179-William-Miller\n", - "180-James-Davis\n", - "181-Olivia-Garcia\n", - "182-Lucas-Rodriguez\n", - "183-Sophie-Martinez\n", - "184-Noah-Hernandez\n", - "185-Ava-Lopez\n", - "186-Ethan-Gonzalez\n", - "187-Mia-Perez\n", - "188-William-Sanchez\n", - "189-James-Ramirez\n", - "190-Olivia-Flores\n", - "191-Lucas-Cruz\n", - "192-Isabella-Rivera\n", - "193-David-Lee\n", - "194-Sophie-Walker\n", - "195-Matthew-Hall\n", - "196-Emma-Allen\n", - "197-Ryan-Young\n", - "198-Ava-King\n", - "199-Ethan-Wright\n", - "200-Mia-Scott\n", - "201-William-Turner\n", - "202-James-Carter\n", - "203-Olivia-Phillips\n", - "204-Lucas-Evans\n", - "205-Sophie-Collins\n", - "206-Noah-Stewart\n", - "207-Ava-Snyder\n", - "208-Ethan-Baker\n", - "209-Mia-Nelson\n", - "210-Noah-Roberts\n", - "211-Emma-Campbell\n", - "212-William-Miller\n", - "213-James-Davis\n", - "214-Olivia-Garcia\n", - "215-Lucas-Rodriguez\n", - "216-Sophie-Martinez\n", - "217-Noah-Hernandez\n", - "218-Ava-Lopez\n", - "219-Ethan-Gonzalez\n", - "220-Mia-Perez\n", - "221-William-Sanchez\n", - "222-James-Ramirez\n", - "223-Olivia-Flores\n", - "224-Lucas-Cruz\n", - "225-Isabella-Rivera\n", - "226-David-Lee\n", - "227-Sophie-Walker\n", - "228-Matthew-Hall\n", - "229-Emma-Allen\n", - "230-Ryan-Young\n", - "231-Ava-King\n", - "232-Ethan-Wright\n", - "233-Mia-Scott\n", - "234-William-Turner\n", - "235-James-Carter\n", - "236-Olivia-Phillips\n", - "237-Lucas-Evans\n", - "238-Sophie-Collins\n", - "239-Noah-Stewart\n", - "240-Ava-Snyder\n", - "241-Ethan-Baker\n", - "242-Mia-Nelson\n", - "243-Noah-Roberts\n", - "244-Emma-Campbell\n", - "245-William-Miller\n", - "246-James-Davis\n", - "247-Olivia-Garcia\n", - "248-Lucas-Rodriguez\n", - "249-Sophie-Martinez\n", - "250-Noah-Hernandez\n", - "251-Ava-Lopez\n", - "252-Ethan-Gonzalez\n", - "253-Mia-Perez\n", - "254-William-Sanchez\n", - "255-James-Ramirez\n", - "256-Olivia-Flores\n", - "257-Lucas-Cruz\n", - "258-Isabella-Rivera\n", - "259-David-Lee\n", - "260-Sophie-Walker\n", - "261-Matthew-Hall\n", - "262-Emma-Allen\n", - "263-Ryan-Young\n", - "264-Ava-King\n", - "265-Ethan-Wright\n", - "266-Mia-Scott\n", - "267-William-Turner\n", - "268-James-Carter\n", - "269-Olivia-Phillips\n", - "270-Lucas-Evans\n", - "271-Sophie-Collins\n", - "272-Noah-Stewart\n", - "273-Ava-Snyder\n", - "274-Ethan-Baker\n", - "275-Mia-Nelson\n", - "276-Noah-Roberts\n", - "277-Emma-Campbell\n", - "278-William-Miller\n", - "279-James-Davis\n", - "280-Olivia-Garcia\n", - "281-Lucas-Rodriguez\n", - "282-Sophie-Martinez\n", - "283-Noah-Hernandez\n", - "284-Ava-Lopez\n", - "285-Ethan-Gonzalez\n", - "286-Mia-Perez\n", - "287-William-Sanchez\n", - "288-James-Ramirez\n", - "289-Olivia-Flores\n", - "290-Lucas-Cruz\n", - "291-Isabella-Rivera\n", - "292-David-Lee\n", - "293-Sophie-Walker\n", - "294-Matthew-Hall\n", - "295-Emma-Allen\n", - "296-Ryan-Young\n", - "297-Ava-King\n", - "298-Ethan-Wright\n", - "299-Mia-Scott\n", - "300-William-Turner\n", - "301-James-Carter\n", - "302-Olivia-Phillips\n", - "303-Lucas-Evans\n", - "304-Sophie-Collins\n", - "305-Noah-Stewart\n", - "306-Ava-Snyder\n", - "307-Ethan-Baker\n", - "308-Mia-Nelson\n", - "309-Noah-Roberts\n", - "310-Emma-Campbell\n", - "311-William-Miller\n", - "312-James-Davis\n", - "313-Olivia-Garcia\n", - "314-Lucas-Rodriguez\n", - "315-Sophie-Martinez\n", - "316-Noah-Hernandez\n", - "317-Ava-Lopez\n", - "318-Ethan-Gonzalez\n", - "319-Mia-Perez\n", - "320-William-Sanchez\n", - "321-James-Ramirez\n", - "322-Olivia-Flores\n", - "323-Lucas-Cruz\n", - "324-Isabella-Rivera\n", - "325-David-Lee\n", - "326-Sophie-Walker\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "usecols = [\"Name\", \"Vorname\"]\n", - "air = pd.read_csv(\"regie_name.csv\", usecols=usecols)\n", - "\n", - "for count, (i, b) in enumerate(zip(air[\"Name\"], air[\"Vorname\"])):\n", - " print(count, b, i, sep=\"-\")\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "ee4b5dee-6b41-49eb-8d75-9db50d20fdef", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
NameVorname
0SmithJohn
1JohnsonJames
2WilliamsWilliam
3BrownMichael
4DavisDavid
\n", - "
" - ], - "text/plain": [ - " Name Vorname\n", - "0 Smith John\n", - "1 Johnson James\n", - "2 Williams William\n", - "3 Brown Michael\n", - "4 Davis David" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd\n", - "air = pd.read_csv(\"regie_name.csv\", nrows=5)\n", - "air" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "8017742d-3b8e-4847-b5a3-4f28e0c9057a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Name\n", - "Flores 10.0\n", - "Davis 10.0\n", - "Gonzalez 10.0\n", - "Garcia 10.0\n", - "Cruz 10.0\n", - " ... \n", - "Taylor 1.0\n", - "White 1.0\n", - "Thompson 1.0\n", - "Wilson 1.0\n", - "Williams 1.0\n", - "Length: 47, dtype: float64\n" - ] - } - ], - "source": [ - "chunker = pd.read_csv(\"regie_name.csv\", chunksize=1000)\n", - "tot = pd.Series([], dtype='int64')\n", - "for piece in chunker:\n", - " tot = tot.add(piece[\"Name\"].value_counts(), fill_value=0)\n", - "tot = tot.sort_values(ascending=False)\n", - "print(tot)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d7531f34-19a6-4606-88f2-1c4fdd3b0b7d", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/play_ansible/inv_plugin/ansible.cfg b/play_ansible/inv_plugin/ansible.cfg index f8b8d0b..958d3d7 100755 --- a/play_ansible/inv_plugin/ansible.cfg +++ b/play_ansible/inv_plugin/ansible.cfg @@ -1,7 +1,6 @@ [defaults] #inventory = /home/user06/hosts inventory = ./ansible_inv_main.py -ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S on {host} private_key_file = /home/jonnybravo/.ssh/ansible-test gathering = smart fact_caching = yaml diff --git a/play_ansible/inv_plugin/ansible_inv_main.py b/play_ansible/inv_plugin/ansible_inv_main.py index 6c6aaf0..4aeec7a 100755 --- a/play_ansible/inv_plugin/ansible_inv_main.py +++ b/play_ansible/inv_plugin/ansible_inv_main.py @@ -44,7 +44,11 @@ def scan_csv(csvfile=str, colm="hostname"): with open(csvfile) as csv_file: csv_reader = csv.DictReader(csv_file, delimiter=",") for count, row in enumerate(csv_reader, 1): - hostlist.append(row[colm]) + hostname = row[colm] + if port_open(address=hostname): + hostlist.append(hostname) + else: + print(f"INFO: Host {hostname} not reachable.", file=sys.stderr) else: raise FileNotFoundError( errno.ENOENT, os.strerror(errno.ENOENT), csvfile) diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/command b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/command new file mode 100644 index 0000000..3c1a6da --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/command @@ -0,0 +1 @@ +{"command": ["ansible-playbook", "playbook.yml"], "cwd": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play", "env": {"COLORFGBG": "0;15", "COLORTERM": "truecolor", "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus", "DEBUGINFOD_URLS": "https://debuginfod.archlinux.org ", "DESKTOP_SESSION": "plasma", "DISPLAY": ":0", "GTK2_RC_FILES": "/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0", "GTK3_MODULES": "xapp-gtk3-module", "GTK_MODULES": "canberra-gtk-module", "GTK_RC_FILES": "/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc", "HOME": "/home/jonnybravo", "ICEAUTHORITY": "/run/user/1000/iceauth_WaGeTh", "INVOCATION_ID": "b7649f07995d41ef80f4f9a09d6df65a", "JOURNAL_STREAM": "9:930", "KDE_APPLICATIONS_AS_SCOPE": "1", "KDE_FULL_SESSION": "true", "KDE_SESSION_UID": "1000", "KDE_SESSION_VERSION": "6", "KONSOLE_DBUS_SERVICE": ":1.142", "KONSOLE_DBUS_SESSION": "/Sessions/1", "KONSOLE_DBUS_WINDOW": "/Windows/1", "KONSOLE_VERSION": "250403", "LANG": "de_DE.UTF-8", "LANGUAGE": "", "LC_ADDRESS": "de_DE.UTF-8", "LC_IDENTIFICATION": "de_DE.UTF-8", "LC_MEASUREMENT": "de_DE.UTF-8", "LC_MONETARY": "de_DE.UTF-8", "LC_NAME": "de_DE.UTF-8", "LC_NUMERIC": "de_DE.UTF-8", "LC_PAPER": "de_DE.UTF-8", "LC_TELEPHONE": "de_DE.UTF-8", "LC_TIME": "de_DE.UTF-8", "LESS": "-R", "LOGNAME": "jonnybravo", "LSCOLORS": "Gxfxcxdxbxegedabagacad", "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:", "MAIL": "/var/spool/mail/jonnybravo", "MANAGERPID": "1157", "MEMORY_PRESSURE_WATCH": "/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure", "MEMORY_PRESSURE_WRITE": "c29tZSAyMDAwMDAgMjAwMDAwMAA=", "MOTD_SHOWN": "pam", "OLDPWD": "/home/jonnybravo", "PAGER": "less", "PAM_KWALLET5_LOGIN": "/run/user/1000/kwallet5.socket", "PATH": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin", "PROFILEHOME": "", "PWD": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play", "QT_AUTO_SCREEN_SCALE_FACTOR": "0", "QT_LINUX_ACCESSIBILITY_ALWAYS_ON": "1", "QT_SCREEN_SCALE_FACTORS": "eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;", "QT_WAYLAND_RECONNECT": "1", "SESSION_MANAGER": "local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271", "SHELL": "/usr/bin/zsh", "SHELL_SESSION_ID": "98a52bd5e1df44edb315d4c1da162224", "SHLVL": "2", "SYSTEMD_EXEC_PID": "1307", "TERM": "tmux-256color", "TERM_PROGRAM": "tmux", "TERM_PROGRAM_VERSION": "3.5a", "TMUX": "/tmp/tmux-1000/default,24818,0", "TMUX_PANE": "%0", "USER": "jonnybravo", "WINDOWID": "125829134", "XAUTHORITY": "/tmp/xauth_MViPvJ", "XDG_CONFIG_DIRS": "/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg", "XDG_CURRENT_DESKTOP": "KDE", "XDG_DATA_DIRS": "/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share", "XDG_MENU_PREFIX": "plasma-", "XDG_RUNTIME_DIR": "/run/user/1000", "XDG_SEAT": "seat0", "XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0", "XDG_SESSION_CLASS": "user", "XDG_SESSION_DESKTOP": "KDE", "XDG_SESSION_ID": "2", "XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session1", "XDG_SESSION_TYPE": "x11", "XDG_VTNR": "2", "ZSH": "/home/jonnybravo/.oh-my-zsh", "ZSH_TMUX_AUTOSTARTED": "true", "ZSH_TMUX_TERM": "tmux-256color", "_": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin/python", "_ZSH_TMUX_FIXED_CONFIG": "/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf", "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXPl66DT/agent.24865", "SSH_AGENT_PID": "24872", "EDITOR": "mvim", "PYTHONPATH": ":/home/jonnybravo/python-module", "CDPATH": "/home/jonnybravo/:/home/jonnybravo/Projekte", "VIRTUAL_ENV": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13", "VIRTUAL_ENV_PROMPT": "run-ansible-play-py3.13", "PS1": "(run-ansible-play-py3.13) ╭─$(conda_prompt_info)%B%(!.%{\u001b[31m%}.%{\u001b[32m%})%n@%m%{\u001b[00m%} %B%{\u001b[34m%}%~ %{\u001b[00m%}$(ruby_prompt_info)$(git_prompt_info)$(hg_prompt_info)$(virtualenv_prompt_info)\n╰─%B%(!.#.$)%b ", "ANSIBLE_CALLBACK_PLUGINS": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback", "ANSIBLE_STDOUT_CALLBACK": "awx_display", "ANSIBLE_RETRY_FILES_ENABLED": "False", "ANSIBLE_HOST_KEY_CHECKING": "False", "AWX_ISOLATED_DATA_DIR": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4", "ANSIBLE_CACHE_PLUGIN": "jsonfile", "ANSIBLE_CACHE_PLUGIN_CONNECTION": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/fact_cache", "RUNNER_OMIT_EVENTS": "False", "RUNNER_ONLY_FAILED_EVENTS": "False"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/fact_cache/s1_localhost b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/fact_cache/s1_localhost new file mode 100644 index 0000000..9aeb836 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/fact_cache/s1_localhost @@ -0,0 +1 @@ +{"__payload__": "{\"ansible_system_capabilities_enforced\": \"True\", \"ansible_system_capabilities\": [\"i\"], \"ansible_distribution\": \"Archlinux\", \"ansible_distribution_release\": \"Zetar\", \"ansible_distribution_version\": \"25.0.7\", \"ansible_distribution_major_version\": \"25\", \"ansible_distribution_file_path\": \"/etc/arch-release\", \"ansible_distribution_file_variety\": \"Archlinux\", \"ansible_os_family\": \"Archlinux\", \"ansible_user_id\": \"jonnybravo\", \"ansible_user_uid\": 1000, \"ansible_user_gid\": 1000, \"ansible_user_gecos\": \"Jonny Bravo\", \"ansible_user_dir\": \"/home/jonnybravo\", \"ansible_user_shell\": \"/usr/bin/zsh\", \"ansible_real_user_id\": 1000, \"ansible_effective_user_id\": 1000, \"ansible_real_group_id\": 1000, \"ansible_effective_group_id\": 1000, \"ansible_fips\": false, \"ansible_selinux\": {\"status\": \"Missing selinux Python library\"}, \"ansible_selinux_python_present\": false, \"ansible_is_chroot\": false, \"ansible_dns\": {\"nameservers\": [\"127.0.0.53\"], \"options\": {\"edns0\": true, \"trust-ad\": true}, \"search\": [\"speedport.ip\"]}, \"ansible_virtualization_type\": \"kvm\", \"ansible_virtualization_role\": \"host\", \"ansible_virtualization_tech_guest\": [], \"ansible_virtualization_tech_host\": [\"kvm\", \"virtualbox\"], \"ansible_system\": \"Linux\", \"ansible_kernel\": \"6.15.9-2-MANJARO\", \"ansible_kernel_version\": \"#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000\", \"ansible_machine\": \"x86_64\", \"ansible_python_version\": \"3.13.5\", \"ansible_fqdn\": \"man-dan-01\", \"ansible_hostname\": \"man-dan-01\", \"ansible_nodename\": \"man-dan-01\", \"ansible_domain\": \"\", \"ansible_userspace_bits\": \"64\", \"ansible_architecture\": \"x86_64\", \"ansible_userspace_architecture\": \"x86_64\", \"ansible_machine_id\": \"fbf39be8eb7d4a7bbdc688dda54c0404\", \"ansible_iscsi_iqn\": \"\", \"ansible_env\": {\"SHELL\": \"/usr/bin/zsh\", \"LSCOLORS\": \"Gxfxcxdxbxegedabagacad\", \"SESSION_MANAGER\": \"local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271\", \"WINDOWID\": \"125829134\", \"QT_SCREEN_SCALE_FACTORS\": \"eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;\", \"COLORTERM\": \"truecolor\", \"XDG_CONFIG_DIRS\": \"/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg\", \"LESS\": \"-R\", \"XDG_SESSION_PATH\": \"/org/freedesktop/DisplayManager/Session1\", \"ANSIBLE_CACHE_PLUGIN\": \"jsonfile\", \"XDG_MENU_PREFIX\": \"plasma-\", \"TERM_PROGRAM_VERSION\": \"3.5a\", \"ZSH_TMUX_AUTOSTARTED\": \"true\", \"TMUX\": \"/tmp/tmux-1000/default,24818,0\", \"ICEAUTHORITY\": \"/run/user/1000/iceauth_WaGeTh\", \"LANGUAGE\": \"\", \"LC_ADDRESS\": \"de_DE.UTF-8\", \"LC_NAME\": \"de_DE.UTF-8\", \"SSH_AUTH_SOCK\": \"/tmp/ssh-XXXXXXPl66DT/agent.24865\", \"SHELL_SESSION_ID\": \"98a52bd5e1df44edb315d4c1da162224\", \"MEMORY_PRESSURE_WRITE\": \"c29tZSAyMDAwMDAgMjAwMDAwMAA=\", \"DESKTOP_SESSION\": \"plasma\", \"LC_MONETARY\": \"de_DE.UTF-8\", \"SSH_AGENT_PID\": \"24872\", \"GTK_RC_FILES\": \"/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc\", \"EDITOR\": \"mvim\", \"GTK_MODULES\": \"canberra-gtk-module\", \"XDG_SEAT\": \"seat0\", \"PWD\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play\", \"LOGNAME\": \"jonnybravo\", \"XDG_SESSION_DESKTOP\": \"KDE\", \"RUNNER_ONLY_FAILED_EVENTS\": \"False\", \"XDG_SESSION_TYPE\": \"x11\", \"SYSTEMD_EXEC_PID\": \"1307\", \"_\": \"/usr/bin/python\", \"XAUTHORITY\": \"/tmp/xauth_MViPvJ\", \"AWX_ISOLATED_DATA_DIR\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4\", \"MOTD_SHOWN\": \"pam\", \"CDPATH\": \"/home/jonnybravo/:/home/jonnybravo/Projekte\", \"GTK2_RC_FILES\": \"/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0\", \"HOME\": \"/home/jonnybravo\", \"LANG\": \"de_DE.UTF-8\", \"LC_PAPER\": \"de_DE.UTF-8\", \"LS_COLORS\": \"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:\", \"XDG_CURRENT_DESKTOP\": \"KDE\", \"KONSOLE_DBUS_SERVICE\": \":1.142\", \"_ZSH_TMUX_FIXED_CONFIG\": \"/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf\", \"VIRTUAL_ENV\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13\", \"MEMORY_PRESSURE_WATCH\": \"/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure\", \"KONSOLE_DBUS_SESSION\": \"/Sessions/1\", \"PROFILEHOME\": \"\", \"XDG_SEAT_PATH\": \"/org/freedesktop/DisplayManager/Seat0\", \"ANSIBLE_STDOUT_CALLBACK\": \"awx_display\", \"ANSIBLE_CALLBACK_PLUGINS\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback\", \"INVOCATION_ID\": \"b7649f07995d41ef80f4f9a09d6df65a\", \"KONSOLE_VERSION\": \"250403\", \"MANAGERPID\": \"1157\", \"KDE_SESSION_UID\": \"1000\", \"ANSIBLE_CACHE_PLUGIN_CONNECTION\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/fact_cache\", \"XDG_SESSION_CLASS\": \"user\", \"PYTHONPATH\": \":/home/jonnybravo/python-module\", \"LC_IDENTIFICATION\": \"de_DE.UTF-8\", \"TERM\": \"tmux-256color\", \"ZSH\": \"/home/jonnybravo/.oh-my-zsh\", \"USER\": \"jonnybravo\", \"TMUX_PANE\": \"%0\", \"COLORFGBG\": \"0;15\", \"QT_WAYLAND_RECONNECT\": \"1\", \"KDE_SESSION_VERSION\": \"6\", \"PAM_KWALLET5_LOGIN\": \"/run/user/1000/kwallet5.socket\", \"DISPLAY\": \":0\", \"SHLVL\": \"3\", \"PAGER\": \"less\", \"LC_TELEPHONE\": \"de_DE.UTF-8\", \"LC_MEASUREMENT\": \"de_DE.UTF-8\", \"XDG_VTNR\": \"2\", \"RUNNER_OMIT_EVENTS\": \"False\", \"ANSIBLE_RETRY_FILES_ENABLED\": \"False\", \"XDG_SESSION_ID\": \"2\", \"QT_LINUX_ACCESSIBILITY_ALWAYS_ON\": \"1\", \"VIRTUAL_ENV_PROMPT\": \"run-ansible-play-py3.13\", \"XDG_RUNTIME_DIR\": \"/run/user/1000\", \"ZSH_TMUX_TERM\": \"tmux-256color\", \"DEBUGINFOD_URLS\": \"https://debuginfod.archlinux.org \", \"LC_TIME\": \"de_DE.UTF-8\", \"QT_AUTO_SCREEN_SCALE_FACTOR\": \"0\", \"ANSIBLE_HOST_KEY_CHECKING\": \"False\", \"JOURNAL_STREAM\": \"9:930\", \"GTK3_MODULES\": \"xapp-gtk3-module\", \"XDG_DATA_DIRS\": \"/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share\", \"KDE_FULL_SESSION\": \"true\", \"PATH\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin\", \"DBUS_SESSION_BUS_ADDRESS\": \"unix:path=/run/user/1000/bus\", \"KDE_APPLICATIONS_AS_SCOPE\": \"1\", \"MAIL\": \"/var/spool/mail/jonnybravo\", \"LC_NUMERIC\": \"de_DE.UTF-8\", \"OLDPWD\": \"/home/jonnybravo\", \"TERM_PROGRAM\": \"tmux\", \"KONSOLE_DBUS_WINDOW\": \"/Windows/1\"}, \"ansible_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_proc_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": [\"UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\", \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_date_time\": {\"year\": \"2025\", \"month\": \"08\", \"weekday\": \"Freitag\", \"weekday_number\": \"5\", \"weeknumber\": \"34\", \"day\": \"29\", \"hour\": \"16\", \"minute\": \"58\", \"second\": \"01\", \"epoch\": \"1756479481\", \"epoch_int\": \"1756479481\", \"date\": \"2025-08-29\", \"time\": \"16:58:01\", \"iso8601_micro\": \"2025-08-29T14:58:01.441553Z\", \"iso8601\": \"2025-08-29T14:58:01Z\", \"iso8601_basic\": \"20250829T165801441553\", \"iso8601_basic_short\": \"20250829T165801\", \"tz\": \"CEST\", \"tz_dst\": \"CEST\", \"tz_offset\": \"+0200\"}, \"ansible_systemd\": {\"features\": \"+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE\", \"version\": 257}, \"ansible_apparmor\": {\"status\": \"disabled\"}, \"ansible_loadavg\": {\"1m\": 0.41162109375, \"5m\": 0.2763671875, \"15m\": 0.24951171875}, \"ansible_lsb\": {\"release\": \"25.0.7\", \"id\": \"ManjaroLinux\", \"description\": \"Manjaro Linux\", \"codename\": \"Zetar\", \"major_release\": \"25\"}, \"ansible_fibre_channel_wwn\": [], \"ansible_local\": {}, \"ansible_hostnqn\": \"\", \"ansible_processor\": [\"0\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"1\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"2\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"3\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"4\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"5\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"6\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"7\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\"], \"ansible_flags\": [\"fpu\", \"vme\", \"de\", \"pse\", \"tsc\", \"msr\", \"pae\", \"mce\", \"cx8\", \"apic\", \"sep\", \"mtrr\", \"pge\", \"mca\", \"cmov\", \"pat\", \"pse36\", \"clflush\", \"dts\", \"acpi\", \"mmx\", \"fxsr\", \"sse\", \"sse2\", \"ss\", \"ht\", \"tm\", \"pbe\", \"syscall\", \"nx\", \"pdpe1gb\", \"rdtscp\", \"lm\", \"constant_tsc\", \"art\", \"arch_perfmon\", \"pebs\", \"bts\", \"rep_good\", \"nopl\", \"xtopology\", \"nonstop_tsc\", \"cpuid\", \"aperfmperf\", \"tsc_known_freq\", \"pni\", \"pclmulqdq\", \"dtes64\", \"monitor\", \"ds_cpl\", \"vmx\", \"est\", \"tm2\", \"ssse3\", \"sdbg\", \"fma\", \"cx16\", \"xtpr\", \"pdcm\", \"pcid\", \"sse4_1\", \"sse4_2\", \"x2apic\", \"movbe\", \"popcnt\", \"tsc_deadline_timer\", \"aes\", \"xsave\", \"avx\", \"f16c\", \"rdrand\", \"lahf_lm\", \"abm\", \"3dnowprefetch\", \"cpuid_fault\", \"epb\", \"cat_l2\", \"cdp_l2\", \"ssbd\", \"ibrs\", \"ibpb\", \"stibp\", \"ibrs_enhanced\", \"tpr_shadow\", \"flexpriority\", \"ept\", \"vpid\", \"ept_ad\", \"fsgsbase\", \"tsc_adjust\", \"bmi1\", \"avx2\", \"smep\", \"bmi2\", \"erms\", \"invpcid\", \"rdt_a\", \"avx512f\", \"avx512dq\", \"rdseed\", \"adx\", \"smap\", \"avx512ifma\", \"clflushopt\", \"clwb\", \"intel_pt\", \"avx512cd\", \"sha_ni\", \"avx512bw\", \"avx512vl\", \"xsaveopt\", \"xsavec\", \"xgetbv1\", \"xsaves\", \"split_lock_detect\", \"user_shstk\", \"dtherm\", \"ida\", \"arat\", \"pln\", \"pts\", \"hwp\", \"hwp_notify\", \"hwp_act_window\", \"hwp_epp\", \"hwp_pkg_req\", \"vnmi\", \"avx512vbmi\", \"umip\", \"pku\", \"ospke\", \"avx512_vbmi2\", \"gfni\", \"vaes\", \"vpclmulqdq\", \"avx512_vnni\", \"avx512_bitalg\", \"avx512_vpopcntdq\", \"rdpid\", \"movdiri\", \"movdir64b\", \"fsrm\", \"avx512_vp2intersect\", \"md_clear\", \"ibt\", \"flush_l1d\", \"arch_capabilities\"], \"ansible_processor_count\": 1, \"ansible_processor_cores\": 4, \"ansible_processor_threads_per_core\": 2, \"ansible_processor_vcpus\": 8, \"ansible_processor_nproc\": 8, \"ansible_memtotal_mb\": 31810, \"ansible_memfree_mb\": 1109, \"ansible_swaptotal_mb\": 34996, \"ansible_swapfree_mb\": 31607, \"ansible_memory_mb\": {\"real\": {\"total\": 31810, \"used\": 30701, \"free\": 1109}, \"nocache\": {\"free\": 18432, \"used\": 13378}, \"swap\": {\"total\": 34996, \"free\": 31607, \"used\": 3389, \"cached\": 299}}, \"ansible_bios_date\": \"02/02/2024\", \"ansible_bios_vendor\": \"LENOVO\", \"ansible_bios_version\": \"N32ET91W (1.67 )\", \"ansible_board_asset_tag\": \"Not Available\", \"ansible_board_name\": \"20XW0055GE\", \"ansible_board_serial\": \"NA\", \"ansible_board_vendor\": \"LENOVO\", \"ansible_board_version\": \"SDK0J40697 WIN\", \"ansible_chassis_asset_tag\": \"No Asset Information\", \"ansible_chassis_serial\": \"NA\", \"ansible_chassis_vendor\": \"LENOVO\", \"ansible_chassis_version\": \"None\", \"ansible_form_factor\": \"Notebook\", \"ansible_product_name\": \"20XW0055GE\", \"ansible_product_serial\": \"NA\", \"ansible_product_uuid\": \"NA\", \"ansible_product_version\": \"ThinkPad X1 Carbon Gen 9\", \"ansible_system_vendor\": \"LENOVO\", \"ansible_devices\": {\"dm-1\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"uuids\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"labels\": [\"swap\"], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 71673682, \"size\": \"34.18 GB\", \"host\": \"\", \"holders\": []}, \"nvme0n1\": {\"virtual\": 1, \"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": \"Micron MTFDKBA1T0TFH\", \"sas_address\": null, \"sas_device_handle\": null, \"serial\": \"222538DCB6A6\", \"removable\": \"0\", \"support_discard\": \"512\", \"partitions\": {\"nvme0n1p3\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"uuids\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"labels\": [], \"masters\": [\"dm-1\"]}, \"start\": \"1928719957\", \"sectorsize\": 512, \"sectors\": 71677778, \"size\": \"34.18 GB\", \"uuid\": \"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"holders\": [\"luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"]}, \"nvme0n1p1\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"uuids\": [\"71C2-949D\"], \"labels\": [], \"masters\": []}, \"start\": \"4096\", \"sectorsize\": 512, \"sectors\": 614400, \"size\": \"300.00 MB\", \"uuid\": \"71C2-949D\", \"holders\": []}, \"nvme0n1p2\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"uuids\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"labels\": [], \"masters\": [\"dm-0\"]}, \"start\": \"618496\", \"sectorsize\": 512, \"sectors\": 1928101461, \"size\": \"919.39 GB\", \"uuid\": \"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"holders\": [\"luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}}, \"rotational\": \"0\", \"scheduler_mode\": \"none\", \"sectorsize\": \"512\", \"sectors\": 2000409264, \"size\": \"953.87 GB\", \"host\": \"Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]\", \"holders\": []}, \"sdb\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS0\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"dm-0\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"uuids\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 1928097365, \"size\": \"919.39 GB\", \"host\": \"\", \"holders\": []}, \"sdc\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS1\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"sda\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"Micron\", \"model\": \"CT1000X8SSD9\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {\"sda1\": {\"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"uuids\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"labels\": [], \"masters\": []}, \"start\": \"2048\", \"sectorsize\": 512, \"sectors\": 1953521664, \"size\": \"931.51 GB\", \"uuid\": \"6fcf42f5-198f-4616-a272-430c33b22155\", \"holders\": []}}, \"rotational\": \"1\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 1953525168, \"size\": \"931.51 GB\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}}, \"ansible_device_links\": {\"ids\": {\"sdb\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"sdc\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"sda1\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"sda\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"nvme0n1p1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"nvme0n1p2\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"nvme0n1p3\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"nvme0n1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"dm-1\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-0\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}, \"uuids\": {\"sda1\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"nvme0n1p1\": [\"71C2-949D\"], \"nvme0n1p2\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"nvme0n1p3\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-1\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"dm-0\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"]}, \"labels\": {\"dm-1\": [\"swap\"]}, \"masters\": {\"nvme0n1p3\": [\"dm-1\"], \"nvme0n1p2\": [\"dm-0\"]}}, \"ansible_uptime_seconds\": 978715, \"ansible_lvm\": \"N/A\", \"ansible_mounts\": [{\"mount\": \"/\", \"device\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"fstype\": \"ext4\", \"options\": \"rw,noatime\", \"dump\": 0, \"passno\": 0, \"size_total\": 970536476672, \"size_available\": 457926438912, \"block_size\": 4096, \"block_total\": 236947382, \"block_available\": 111798447, \"block_used\": 125148935, \"inode_total\": 60260352, \"inode_available\": 57699859, \"inode_used\": 2560493, \"uuid\": \"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"}, {\"mount\": \"/boot/efi\", \"device\": \"/dev/nvme0n1p1\", \"fstype\": \"vfat\", \"options\": \"rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro\", \"dump\": 0, \"passno\": 0, \"size_total\": 313942016, \"size_available\": 313483264, \"block_size\": 4096, \"block_total\": 76646, \"block_available\": 76534, \"block_used\": 112, \"inode_total\": 0, \"inode_available\": 0, \"inode_used\": 0, \"uuid\": \"71C2-949D\"}], \"ansible_python\": {\"version\": {\"major\": 3, \"minor\": 13, \"micro\": 5, \"releaselevel\": \"final\", \"serial\": 0}, \"version_info\": [3, 13, 5, \"final\", 0], \"executable\": \"/usr/bin/python\", \"has_sslcontext\": true, \"type\": \"cpython\"}, \"ansible_pkg_mgr\": \"pacman\", \"ansible_interfaces\": [\"br1\", \"br-490cce44238c\", \"enp0s13f0u3u2c2\", \"vethaace71a\", \"br-a049e64d05be\", \"vethc79e6dd\", \"wg0\", \"br-005ea4a1de78\", \"docker0\", \"lo\", \"br-ddbeb66accbb\", \"wwan0\", \"wlan0\"], \"ansible_br_ddbeb66accbb\": {\"device\": \"br-ddbeb66accbb\", \"macaddress\": \"da:9f:ca:ff:37:49\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.da9fcaff3749\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.20.0.1\", \"broadcast\": \"172.20.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.20.0.0\", \"prefix\": \"16\"}}, \"ansible_br_005ea4a1de78\": {\"device\": \"br-005ea4a1de78\", \"macaddress\": \"e6:bc:8c:f7:09:53\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.e6bc8cf70953\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.21.0.1\", \"broadcast\": \"172.21.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.21.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fc00:f853:ccd:e793::1\", \"prefix\": \"64\", \"scope\": \"global\"}]}, \"ansible_wg0\": {\"device\": \"wg0\", \"mtu\": 1420, \"active\": true, \"type\": \"tunnel\", \"promisc\": false, \"ipv4\": {\"address\": \"10.50.0.2\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"10.50.0.0\", \"prefix\": \"24\"}}, \"ansible_lo\": {\"device\": \"lo\", \"mtu\": 65536, \"active\": true, \"type\": \"loopback\", \"promisc\": false, \"ipv4\": {\"address\": \"127.0.0.1\", \"broadcast\": \"\", \"netmask\": \"255.0.0.0\", \"network\": \"127.0.0.0\", \"prefix\": \"8\"}, \"ipv6\": [{\"address\": \"::1\", \"prefix\": \"128\", \"scope\": \"host\"}]}, \"ansible_enp0s13f0u3u2c2\": {\"device\": \"enp0s13f0u3u2c2\", \"macaddress\": \"a0:ce:c8:a9:57:20\", \"mtu\": 1500, \"active\": false, \"module\": \"cdc_ncm\", \"type\": \"ether\", \"pciid\": \"2-3.2:2.0\", \"speed\": 0, \"promisc\": false}, \"ansible_br_490cce44238c\": {\"device\": \"br-490cce44238c\", \"macaddress\": \"32:bf:8b:ad:b9:17\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.32bf8badb917\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.19.0.1\", \"broadcast\": \"172.19.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.19.0.0\", \"prefix\": \"16\"}}, \"ansible_br1\": {\"device\": \"br1\", \"macaddress\": \"56:e7:2b:5c:4a:a5\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.56e72b5c4aa5\", \"stp\": false, \"speed\": -1, \"promisc\": false}, \"ansible_vethaace71a\": {\"device\": \"vethaace71a\", \"macaddress\": \"da:cb:ee:60:9e:dc\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::d8cb:eeff:fe60:9edc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_wwan0\": {\"device\": \"wwan0\", \"mtu\": 1500, \"active\": false, \"type\": \"unknown\", \"pciid\": \"wwan0\", \"promisc\": false}, \"ansible_wlan0\": {\"device\": \"wlan0\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"active\": true, \"module\": \"iwlwifi\", \"type\": \"ether\", \"pciid\": \"0000:00:14.3\", \"promisc\": false, \"ipv4\": {\"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\"}, \"ipv6\": [{\"address\": \"fe80::c603:a8ff:fe3c:a7d\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_docker0\": {\"device\": \"docker0\", \"macaddress\": \"8a:d4:d2:98:9a:fc\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethaace71a\"], \"id\": \"8000.8ad4d2989afc\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.17.0.1\", \"broadcast\": \"172.17.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.17.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::88d4:d2ff:fe98:9afc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_br_a049e64d05be\": {\"device\": \"br-a049e64d05be\", \"macaddress\": \"f2:5c:6a:9a:c2:2c\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethc79e6dd\"], \"id\": \"8000.f25c6a9ac22c\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.18.0.1\", \"broadcast\": \"172.18.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.18.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::f05c:6aff:fe9a:c22c\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_vethc79e6dd\": {\"device\": \"vethc79e6dd\", \"macaddress\": \"ee:de:03:8f:02:62\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::ecde:3ff:fe8f:262\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_default_ipv4\": {\"gateway\": \"192.168.50.1\", \"interface\": \"wlan0\", \"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"type\": \"ether\", \"alias\": \"wlan0\"}, \"ansible_default_ipv6\": {}, \"ansible_all_ipv4_addresses\": [\"172.20.0.1\", \"172.21.0.1\", \"10.50.0.2\", \"172.19.0.1\", \"192.168.50.177\", \"172.17.0.1\", \"172.18.0.1\"], \"ansible_all_ipv6_addresses\": [\"fc00:f853:ccd:e793::1\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::f05c:6aff:fe9a:c22c\", \"fe80::ecde:3ff:fe8f:262\"], \"ansible_locally_reachable_ips\": {\"ipv4\": [\"10.50.0.2\", \"127.0.0.0/8\", \"127.0.0.1\", \"172.17.0.1\", \"172.18.0.1\", \"172.19.0.1\", \"172.20.0.1\", \"172.21.0.1\", \"192.168.50.177\"], \"ipv6\": [\"::1\", \"fc00:f853:ccd:e793::1\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::ecde:3ff:fe8f:262\", \"fe80::f05c:6aff:fe9a:c22c\"]}, \"ansible_service_mgr\": \"systemd\", \"gather_subset\": [\"all\"], \"module_setup\": true, \"_ansible_facts_gathered\": true}"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/1-b95d21e9-b710-47f0-aebe-b4e5368347b5.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/1-b95d21e9-b710-47f0-aebe-b4e5368347b5.json new file mode 100644 index 0000000..077e935 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/1-b95d21e9-b710-47f0-aebe-b4e5368347b5.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "b95d21e9-b710-47f0-aebe-b4e5368347b5", "counter": 1, "stdout": "\u001b[1;35m[WARNING]: No inventory was parsed, only implicit localhost is available\u001b[0m", "start_line": 0, "end_line": 1, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "created": "2025-08-29T14:58:00.928440+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/10-f337836a-fd03-4235-a519-a32ce2c8fba1.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/10-f337836a-fd03-4235-a519-a32ce2c8fba1.json new file mode 100644 index 0000000..5718611 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/10-f337836a-fd03-4235-a519-a32ce2c8fba1.json @@ -0,0 +1 @@ +{"uuid": "f337836a-fd03-4235-a519-a32ce2c8fba1", "counter": 10, "stdout": "\u001b[0;32mok: [localhost] => {\u001b[0m\r\n\u001b[0;32m \"msg\": \"Hello Ansible World\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m", "start_line": 9, "end_line": 12, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "runner_on_ok", "pid": 902557, "created": "2025-08-29T14:58:02.503113+00:00", "parent_uuid": "c403a83c-0a7d-0892-b38a-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-0892-b38a-000000000003", "task_action": "debug", "resolved_action": "ansible.builtin.debug", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"msg": "Hello Ansible World", "_ansible_verbose_always": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T14:58:02.494227+00:00", "end": "2025-08-29T14:58:02.502915+00:00", "duration": 0.008688, "event_loop": null, "uuid": "f337836a-fd03-4235-a519-a32ce2c8fba1"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/11-c2e28e9e-2cda-4522-9835-7504bd265a3c.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/11-c2e28e9e-2cda-4522-9835-7504bd265a3c.json new file mode 100644 index 0000000..aeba5ab --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/11-c2e28e9e-2cda-4522-9835-7504bd265a3c.json @@ -0,0 +1 @@ +{"uuid": "c2e28e9e-2cda-4522-9835-7504bd265a3c", "counter": 11, "stdout": "\r\nPLAY RECAP *********************************************************************\r\n\u001b[0;32mlocalhost\u001b[0m : \u001b[0;32mok=2 \u001b[0m changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ", "start_line": 12, "end_line": 16, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "playbook_on_stats", "pid": 902557, "created": "2025-08-29T14:58:02.504219+00:00", "parent_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "changed": {}, "dark": {}, "failures": {}, "ignored": {}, "ok": {"localhost": 2}, "processed": {"localhost": 1}, "rescued": {}, "skipped": {}, "artifact_data": {}, "uuid": "c2e28e9e-2cda-4522-9835-7504bd265a3c"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/2-ea718f2d-28ab-442f-8c62-75647a8ed9b4.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/2-ea718f2d-28ab-442f-8c62-75647a8ed9b4.json new file mode 100644 index 0000000..bc4418d --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/2-ea718f2d-28ab-442f-8c62-75647a8ed9b4.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "ea718f2d-28ab-442f-8c62-75647a8ed9b4", "counter": 2, "stdout": "\u001b[1;35m[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\u001b[0m", "start_line": 1, "end_line": 2, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "created": "2025-08-29T14:58:00.932101+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/3-3ba9434a-1057-46bc-8e9d-908ca73dd932.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/3-3ba9434a-1057-46bc-8e9d-908ca73dd932.json new file mode 100644 index 0000000..e3c3068 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/3-3ba9434a-1057-46bc-8e9d-908ca73dd932.json @@ -0,0 +1 @@ +{"uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "counter": 3, "stdout": "", "start_line": 2, "end_line": 2, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "playbook_on_start", "pid": 902557, "created": "2025-08-29T14:58:00.985958+00:00", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/4-c403a83c-0a7d-0892-b38a-000000000001.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/4-c403a83c-0a7d-0892-b38a-000000000001.json new file mode 100644 index 0000000..ff7eaf3 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/4-c403a83c-0a7d-0892-b38a-000000000001.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-0892-b38a-000000000001", "counter": 4, "stdout": "\r\nPLAY [Simple playbook] *********************************************************", "start_line": 2, "end_line": 4, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "playbook_on_play_start", "pid": 902557, "created": "2025-08-29T14:58:00.987257+00:00", "parent_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "play_pattern": "localhost", "name": "Simple playbook", "pattern": "localhost", "uuid": "c403a83c-0a7d-0892-b38a-000000000001"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/5-c403a83c-0a7d-0892-b38a-000000000008.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/5-c403a83c-0a7d-0892-b38a-000000000008.json new file mode 100644 index 0000000..4e5baa5 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/5-c403a83c-0a7d-0892-b38a-000000000008.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-0892-b38a-000000000008", "counter": 5, "stdout": "\r\nTASK [Gathering Facts] *********************************************************", "start_line": 4, "end_line": 6, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "playbook_on_task_start", "pid": 902557, "created": "2025-08-29T14:58:00.991864+00:00", "parent_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-0892-b38a-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "name": "Gathering Facts", "is_conditional": false, "uuid": "c403a83c-0a7d-0892-b38a-000000000008"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/6-85e3ef2e-d0a2-4736-a945-eed111e6bac7.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/6-85e3ef2e-d0a2-4736-a945-eed111e6bac7.json new file mode 100644 index 0000000..7b9e2b9 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/6-85e3ef2e-d0a2-4736-a945-eed111e6bac7.json @@ -0,0 +1 @@ +{"uuid": "85e3ef2e-d0a2-4736-a945-eed111e6bac7", "counter": 6, "stdout": "", "start_line": 6, "end_line": 6, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "runner_on_start", "pid": 902557, "created": "2025-08-29T14:58:00.992322+00:00", "parent_uuid": "c403a83c-0a7d-0892-b38a-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-0892-b38a-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "uuid": "85e3ef2e-d0a2-4736-a945-eed111e6bac7"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/7-db1b2b82-d2e9-49aa-b913-c9b062344114.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/7-db1b2b82-d2e9-49aa-b913-c9b062344114.json new file mode 100644 index 0000000..ffbfaf0 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/7-db1b2b82-d2e9-49aa-b913-c9b062344114.json @@ -0,0 +1 @@ +{"uuid": "db1b2b82-d2e9-49aa-b913-c9b062344114", "counter": 7, "stdout": "\u001b[0;32mok: [localhost]\u001b[0m", "start_line": 6, "end_line": 7, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "runner_on_ok", "pid": 902557, "created": "2025-08-29T14:58:02.490488+00:00", "parent_uuid": "c403a83c-0a7d-0892-b38a-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-0892-b38a-000000000008", "task_action": "gather_facts", "resolved_action": "ansible.builtin.gather_facts", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"ansible_facts": {"ansible_system_capabilities_enforced": "True", "ansible_system_capabilities": ["i"], "ansible_distribution": "Archlinux", "ansible_distribution_release": "Zetar", "ansible_distribution_version": "25.0.7", "ansible_distribution_major_version": "25", "ansible_distribution_file_path": "/etc/arch-release", "ansible_distribution_file_variety": "Archlinux", "ansible_os_family": "Archlinux", "ansible_user_id": "jonnybravo", "ansible_user_uid": 1000, "ansible_user_gid": 1000, "ansible_user_gecos": "Jonny Bravo", "ansible_user_dir": "/home/jonnybravo", "ansible_user_shell": "/usr/bin/zsh", "ansible_real_user_id": 1000, "ansible_effective_user_id": 1000, "ansible_real_group_id": 1000, "ansible_effective_group_id": 1000, "ansible_fips": false, "ansible_selinux": {"status": "Missing selinux Python library"}, "ansible_selinux_python_present": false, "ansible_is_chroot": false, "ansible_dns": {"nameservers": ["127.0.0.53"], "options": {"edns0": true, "trust-ad": true}, "search": ["speedport.ip"]}, "ansible_virtualization_type": "kvm", "ansible_virtualization_role": "host", "ansible_virtualization_tech_guest": [], "ansible_virtualization_tech_host": ["kvm", "virtualbox"], "ansible_system": "Linux", "ansible_kernel": "6.15.9-2-MANJARO", "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000", "ansible_machine": "x86_64", "ansible_python_version": "3.13.5", "ansible_fqdn": "man-dan-01", "ansible_hostname": "man-dan-01", "ansible_nodename": "man-dan-01", "ansible_domain": "", "ansible_userspace_bits": "64", "ansible_architecture": "x86_64", "ansible_userspace_architecture": "x86_64", "ansible_machine_id": "fbf39be8eb7d4a7bbdc688dda54c0404", "ansible_iscsi_iqn": "", "ansible_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_proc_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": ["UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4", "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_date_time": {"year": "2025", "month": "08", "weekday": "Freitag", "weekday_number": "5", "weeknumber": "34", "day": "29", "hour": "16", "minute": "58", "second": "01", "epoch": "1756479481", "epoch_int": "1756479481", "date": "2025-08-29", "time": "16:58:01", "iso8601_micro": "2025-08-29T14:58:01.441553Z", "iso8601": "2025-08-29T14:58:01Z", "iso8601_basic": "20250829T165801441553", "iso8601_basic_short": "20250829T165801", "tz": "CEST", "tz_dst": "CEST", "tz_offset": "+0200"}, "ansible_systemd": {"features": "+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE", "version": 257}, "ansible_apparmor": {"status": "disabled"}, "ansible_loadavg": {"1m": 0.41162109375, "5m": 0.2763671875, "15m": 0.24951171875}, "ansible_lsb": {"release": "25.0.7", "id": "ManjaroLinux", "description": "Manjaro Linux", "codename": "Zetar", "major_release": "25"}, "ansible_fibre_channel_wwn": [], "ansible_local": {}, "ansible_hostnqn": "", "ansible_processor": ["0", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "1", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "2", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "3", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "4", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "5", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "6", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "7", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz"], "ansible_flags": ["fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", "cx8", "apic", "sep", "mtrr", "pge", "mca", "cmov", "pat", "pse36", "clflush", "dts", "acpi", "mmx", "fxsr", "sse", "sse2", "ss", "ht", "tm", "pbe", "syscall", "nx", "pdpe1gb", "rdtscp", "lm", "constant_tsc", "art", "arch_perfmon", "pebs", "bts", "rep_good", "nopl", "xtopology", "nonstop_tsc", "cpuid", "aperfmperf", "tsc_known_freq", "pni", "pclmulqdq", "dtes64", "monitor", "ds_cpl", "vmx", "est", "tm2", "ssse3", "sdbg", "fma", "cx16", "xtpr", "pdcm", "pcid", "sse4_1", "sse4_2", "x2apic", "movbe", "popcnt", "tsc_deadline_timer", "aes", "xsave", "avx", "f16c", "rdrand", "lahf_lm", "abm", "3dnowprefetch", "cpuid_fault", "epb", "cat_l2", "cdp_l2", "ssbd", "ibrs", "ibpb", "stibp", "ibrs_enhanced", "tpr_shadow", "flexpriority", "ept", "vpid", "ept_ad", "fsgsbase", "tsc_adjust", "bmi1", "avx2", "smep", "bmi2", "erms", "invpcid", "rdt_a", "avx512f", "avx512dq", "rdseed", "adx", "smap", "avx512ifma", "clflushopt", "clwb", "intel_pt", "avx512cd", "sha_ni", "avx512bw", "avx512vl", "xsaveopt", "xsavec", "xgetbv1", "xsaves", "split_lock_detect", "user_shstk", "dtherm", "ida", "arat", "pln", "pts", "hwp", "hwp_notify", "hwp_act_window", "hwp_epp", "hwp_pkg_req", "vnmi", "avx512vbmi", "umip", "pku", "ospke", "avx512_vbmi2", "gfni", "vaes", "vpclmulqdq", "avx512_vnni", "avx512_bitalg", "avx512_vpopcntdq", "rdpid", "movdiri", "movdir64b", "fsrm", "avx512_vp2intersect", "md_clear", "ibt", "flush_l1d", "arch_capabilities"], "ansible_processor_count": 1, "ansible_processor_cores": 4, "ansible_processor_threads_per_core": 2, "ansible_processor_vcpus": 8, "ansible_processor_nproc": 8, "ansible_memtotal_mb": 31810, "ansible_memfree_mb": 1109, "ansible_swaptotal_mb": 34996, "ansible_swapfree_mb": 31607, "ansible_memory_mb": {"real": {"total": 31810, "used": 30701, "free": 1109}, "nocache": {"free": 18432, "used": 13378}, "swap": {"total": 34996, "free": 31607, "used": 3389, "cached": 299}}, "ansible_bios_date": "02/02/2024", "ansible_bios_vendor": "LENOVO", "ansible_bios_version": "N32ET91W (1.67 )", "ansible_board_asset_tag": "Not Available", "ansible_board_name": "20XW0055GE", "ansible_board_serial": "NA", "ansible_board_vendor": "LENOVO", "ansible_board_version": "SDK0J40697 WIN", "ansible_chassis_asset_tag": "No Asset Information", "ansible_chassis_serial": "NA", "ansible_chassis_vendor": "LENOVO", "ansible_chassis_version": "None", "ansible_form_factor": "Notebook", "ansible_product_name": "20XW0055GE", "ansible_product_serial": "NA", "ansible_product_uuid": "NA", "ansible_product_version": "ThinkPad X1 Carbon Gen 9", "ansible_system_vendor": "LENOVO", "ansible_devices": {"dm-1": {"virtual": 1, "links": {"ids": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "uuids": ["fa8cc308-7de8-418e-9791-09265567d62f"], "labels": ["swap"], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 71673682, "size": "34.18 GB", "host": "", "holders": []}, "nvme0n1": {"virtual": 1, "links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "uuids": [], "labels": [], "masters": []}, "vendor": null, "model": "Micron MTFDKBA1T0TFH", "sas_address": null, "sas_device_handle": null, "serial": "222538DCB6A6", "removable": "0", "support_discard": "512", "partitions": {"nvme0n1p3": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "uuids": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "labels": [], "masters": ["dm-1"]}, "start": "1928719957", "sectorsize": 512, "sectors": 71677778, "size": "34.18 GB", "uuid": "e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "holders": ["luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"]}, "nvme0n1p1": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "uuids": ["71C2-949D"], "labels": [], "masters": []}, "start": "4096", "sectorsize": 512, "sectors": 614400, "size": "300.00 MB", "uuid": "71C2-949D", "holders": []}, "nvme0n1p2": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "uuids": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "labels": [], "masters": ["dm-0"]}, "start": "618496", "sectorsize": 512, "sectors": 1928101461, "size": "919.39 GB", "uuid": "9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "holders": ["luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}}, "rotational": "0", "scheduler_mode": "none", "sectorsize": "512", "sectors": 2000409264, "size": "953.87 GB", "host": "Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]", "holders": []}, "sdb": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS0", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "dm-0": {"virtual": 1, "links": {"ids": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "uuids": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"], "labels": [], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 1928097365, "size": "919.39 GB", "host": "", "holders": []}, "sdc": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS1", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "sda": {"virtual": 1, "links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "Micron", "model": "CT1000X8SSD9", "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {"sda1": {"links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "uuids": ["6fcf42f5-198f-4616-a272-430c33b22155"], "labels": [], "masters": []}, "start": "2048", "sectorsize": 512, "sectors": 1953521664, "size": "931.51 GB", "uuid": "6fcf42f5-198f-4616-a272-430c33b22155", "holders": []}}, "rotational": "1", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 1953525168, "size": "931.51 GB", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}}, "ansible_device_links": {"ids": {"sdb": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "sdc": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "sda1": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "sda": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "nvme0n1p1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "nvme0n1p2": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "nvme0n1p3": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "nvme0n1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "dm-1": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-0": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}, "uuids": {"sda1": ["6fcf42f5-198f-4616-a272-430c33b22155"], "nvme0n1p1": ["71C2-949D"], "nvme0n1p2": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "nvme0n1p3": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-1": ["fa8cc308-7de8-418e-9791-09265567d62f"], "dm-0": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"]}, "labels": {"dm-1": ["swap"]}, "masters": {"nvme0n1p3": ["dm-1"], "nvme0n1p2": ["dm-0"]}}, "ansible_uptime_seconds": 978715, "ansible_lvm": "N/A", "ansible_mounts": [{"mount": "/", "device": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "fstype": "ext4", "options": "rw,noatime", "dump": 0, "passno": 0, "size_total": 970536476672, "size_available": 457926438912, "block_size": 4096, "block_total": 236947382, "block_available": 111798447, "block_used": 125148935, "inode_total": 60260352, "inode_available": 57699859, "inode_used": 2560493, "uuid": "38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"}, {"mount": "/boot/efi", "device": "/dev/nvme0n1p1", "fstype": "vfat", "options": "rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro", "dump": 0, "passno": 0, "size_total": 313942016, "size_available": 313483264, "block_size": 4096, "block_total": 76646, "block_available": 76534, "block_used": 112, "inode_total": 0, "inode_available": 0, "inode_used": 0, "uuid": "71C2-949D"}], "ansible_python": {"version": {"major": 3, "minor": 13, "micro": 5, "releaselevel": "final", "serial": 0}, "version_info": [3, 13, 5, "final", 0], "executable": "/usr/bin/python", "has_sslcontext": true, "type": "cpython"}, "ansible_pkg_mgr": "pacman", "ansible_interfaces": ["br1", "br-490cce44238c", "enp0s13f0u3u2c2", "vethaace71a", "br-a049e64d05be", "vethc79e6dd", "wg0", "br-005ea4a1de78", "docker0", "lo", "br-ddbeb66accbb", "wwan0", "wlan0"], "ansible_br_ddbeb66accbb": {"device": "br-ddbeb66accbb", "macaddress": "da:9f:ca:ff:37:49", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.da9fcaff3749", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.20.0.1", "broadcast": "172.20.255.255", "netmask": "255.255.0.0", "network": "172.20.0.0", "prefix": "16"}}, "ansible_br_005ea4a1de78": {"device": "br-005ea4a1de78", "macaddress": "e6:bc:8c:f7:09:53", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.e6bc8cf70953", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.21.0.1", "broadcast": "172.21.255.255", "netmask": "255.255.0.0", "network": "172.21.0.0", "prefix": "16"}, "ipv6": [{"address": "fc00:f853:ccd:e793::1", "prefix": "64", "scope": "global"}]}, "ansible_wg0": {"device": "wg0", "mtu": 1420, "active": true, "type": "tunnel", "promisc": false, "ipv4": {"address": "10.50.0.2", "broadcast": "", "netmask": "255.255.255.0", "network": "10.50.0.0", "prefix": "24"}}, "ansible_lo": {"device": "lo", "mtu": 65536, "active": true, "type": "loopback", "promisc": false, "ipv4": {"address": "127.0.0.1", "broadcast": "", "netmask": "255.0.0.0", "network": "127.0.0.0", "prefix": "8"}, "ipv6": [{"address": "::1", "prefix": "128", "scope": "host"}]}, "ansible_enp0s13f0u3u2c2": {"device": "enp0s13f0u3u2c2", "macaddress": "a0:ce:c8:a9:57:20", "mtu": 1500, "active": false, "module": "cdc_ncm", "type": "ether", "pciid": "2-3.2:2.0", "speed": 0, "promisc": false}, "ansible_br_490cce44238c": {"device": "br-490cce44238c", "macaddress": "32:bf:8b:ad:b9:17", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.32bf8badb917", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.19.0.1", "broadcast": "172.19.255.255", "netmask": "255.255.0.0", "network": "172.19.0.0", "prefix": "16"}}, "ansible_br1": {"device": "br1", "macaddress": "56:e7:2b:5c:4a:a5", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.56e72b5c4aa5", "stp": false, "speed": -1, "promisc": false}, "ansible_vethaace71a": {"device": "vethaace71a", "macaddress": "da:cb:ee:60:9e:dc", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::d8cb:eeff:fe60:9edc", "prefix": "64", "scope": "link"}]}, "ansible_wwan0": {"device": "wwan0", "mtu": 1500, "active": false, "type": "unknown", "pciid": "wwan0", "promisc": false}, "ansible_wlan0": {"device": "wlan0", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "active": true, "module": "iwlwifi", "type": "ether", "pciid": "0000:00:14.3", "promisc": false, "ipv4": {"address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24"}, "ipv6": [{"address": "fe80::c603:a8ff:fe3c:a7d", "prefix": "64", "scope": "link"}]}, "ansible_docker0": {"device": "docker0", "macaddress": "8a:d4:d2:98:9a:fc", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethaace71a"], "id": "8000.8ad4d2989afc", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.17.0.1", "broadcast": "172.17.255.255", "netmask": "255.255.0.0", "network": "172.17.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::88d4:d2ff:fe98:9afc", "prefix": "64", "scope": "link"}]}, "ansible_br_a049e64d05be": {"device": "br-a049e64d05be", "macaddress": "f2:5c:6a:9a:c2:2c", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethc79e6dd"], "id": "8000.f25c6a9ac22c", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.18.0.1", "broadcast": "172.18.255.255", "netmask": "255.255.0.0", "network": "172.18.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::f05c:6aff:fe9a:c22c", "prefix": "64", "scope": "link"}]}, "ansible_vethc79e6dd": {"device": "vethc79e6dd", "macaddress": "ee:de:03:8f:02:62", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::ecde:3ff:fe8f:262", "prefix": "64", "scope": "link"}]}, "ansible_default_ipv4": {"gateway": "192.168.50.1", "interface": "wlan0", "address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "type": "ether", "alias": "wlan0"}, "ansible_default_ipv6": {}, "ansible_all_ipv4_addresses": ["172.20.0.1", "172.21.0.1", "10.50.0.2", "172.19.0.1", "192.168.50.177", "172.17.0.1", "172.18.0.1"], "ansible_all_ipv6_addresses": ["fc00:f853:ccd:e793::1", "fe80::d8cb:eeff:fe60:9edc", "fe80::c603:a8ff:fe3c:a7d", "fe80::88d4:d2ff:fe98:9afc", "fe80::f05c:6aff:fe9a:c22c", "fe80::ecde:3ff:fe8f:262"], "ansible_locally_reachable_ips": {"ipv4": ["10.50.0.2", "127.0.0.0/8", "127.0.0.1", "172.17.0.1", "172.18.0.1", "172.19.0.1", "172.20.0.1", "172.21.0.1", "192.168.50.177"], "ipv6": ["::1", "fc00:f853:ccd:e793::1", "fe80::88d4:d2ff:fe98:9afc", "fe80::c603:a8ff:fe3c:a7d", "fe80::d8cb:eeff:fe60:9edc", "fe80::ecde:3ff:fe8f:262", "fe80::f05c:6aff:fe9a:c22c"]}, "ansible_service_mgr": "systemd", "gather_subset": ["all"], "module_setup": true}, "_ansible_verbose_override": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T14:58:00.992276+00:00", "end": "2025-08-29T14:58:02.490389+00:00", "duration": 1.498113, "event_loop": null, "uuid": "db1b2b82-d2e9-49aa-b913-c9b062344114"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/8-c403a83c-0a7d-0892-b38a-000000000003.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/8-c403a83c-0a7d-0892-b38a-000000000003.json new file mode 100644 index 0000000..43de0f5 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/8-c403a83c-0a7d-0892-b38a-000000000003.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-0892-b38a-000000000003", "counter": 8, "stdout": "\r\nTASK [Print message] ***********************************************************", "start_line": 7, "end_line": 9, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "playbook_on_task_start", "pid": 902557, "created": "2025-08-29T14:58:02.493698+00:00", "parent_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-0892-b38a-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "name": "Print message", "is_conditional": false, "uuid": "c403a83c-0a7d-0892-b38a-000000000003"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/9-52e95112-c3d4-4aad-92a1-593af4b67c14.json b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/9-52e95112-c3d4-4aad-92a1-593af4b67c14.json new file mode 100644 index 0000000..d16fd76 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/job_events/9-52e95112-c3d4-4aad-92a1-593af4b67c14.json @@ -0,0 +1 @@ +{"uuid": "52e95112-c3d4-4aad-92a1-593af4b67c14", "counter": 9, "stdout": "", "start_line": 9, "end_line": 9, "runner_ident": "58e17dd4-e88d-4c34-a94a-23bd985b69b4", "event": "runner_on_start", "pid": 902557, "created": "2025-08-29T14:58:02.494275+00:00", "parent_uuid": "c403a83c-0a7d-0892-b38a-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "3ba9434a-1057-46bc-8e9d-908ca73dd932", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-0892-b38a-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-0892-b38a-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "uuid": "52e95112-c3d4-4aad-92a1-593af4b67c14"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/rc b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/rc new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/rc @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/status b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/status new file mode 100644 index 0000000..a44f01d --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/status @@ -0,0 +1 @@ +successful \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/stderr b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/stderr new file mode 100644 index 0000000..e69de29 diff --git a/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/stdout b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/stdout new file mode 100644 index 0000000..f6311de --- /dev/null +++ b/play_ansible/run_play/play/artifacts/58e17dd4-e88d-4c34-a94a-23bd985b69b4/stdout @@ -0,0 +1,15 @@ +[WARNING]: No inventory was parsed, only implicit localhost is available +[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' + +PLAY [Simple playbook] ********************************************************* + +TASK [Gathering Facts] ********************************************************* +ok: [localhost] + +TASK [Print message] *********************************************************** +ok: [localhost] => { + "msg": "Hello Ansible World" +} + +PLAY RECAP ********************************************************************* +localhost : ok=2  changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/command b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/command new file mode 100644 index 0000000..c91a52b --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/command @@ -0,0 +1 @@ +{"command": ["ansible-playbook", "playbook.yml"], "cwd": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play", "env": {"COLORFGBG": "0;15", "COLORTERM": "truecolor", "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus", "DEBUGINFOD_URLS": "https://debuginfod.archlinux.org ", "DESKTOP_SESSION": "plasma", "DISPLAY": ":0", "GTK2_RC_FILES": "/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0", "GTK3_MODULES": "xapp-gtk3-module", "GTK_MODULES": "canberra-gtk-module", "GTK_RC_FILES": "/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc", "HOME": "/home/jonnybravo", "ICEAUTHORITY": "/run/user/1000/iceauth_WaGeTh", "INVOCATION_ID": "b7649f07995d41ef80f4f9a09d6df65a", "JOURNAL_STREAM": "9:930", "KDE_APPLICATIONS_AS_SCOPE": "1", "KDE_FULL_SESSION": "true", "KDE_SESSION_UID": "1000", "KDE_SESSION_VERSION": "6", "KONSOLE_DBUS_SERVICE": ":1.142", "KONSOLE_DBUS_SESSION": "/Sessions/1", "KONSOLE_DBUS_WINDOW": "/Windows/1", "KONSOLE_VERSION": "250403", "LANG": "de_DE.UTF-8", "LANGUAGE": "", "LC_ADDRESS": "de_DE.UTF-8", "LC_IDENTIFICATION": "de_DE.UTF-8", "LC_MEASUREMENT": "de_DE.UTF-8", "LC_MONETARY": "de_DE.UTF-8", "LC_NAME": "de_DE.UTF-8", "LC_NUMERIC": "de_DE.UTF-8", "LC_PAPER": "de_DE.UTF-8", "LC_TELEPHONE": "de_DE.UTF-8", "LC_TIME": "de_DE.UTF-8", "LESS": "-R", "LOGNAME": "jonnybravo", "LSCOLORS": "Gxfxcxdxbxegedabagacad", "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:", "MAIL": "/var/spool/mail/jonnybravo", "MANAGERPID": "1157", "MEMORY_PRESSURE_WATCH": "/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure", "MEMORY_PRESSURE_WRITE": "c29tZSAyMDAwMDAgMjAwMDAwMAA=", "MOTD_SHOWN": "pam", "OLDPWD": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible", "PAGER": "less", "PAM_KWALLET5_LOGIN": "/run/user/1000/kwallet5.socket", "PATH": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin", "PROFILEHOME": "", "PWD": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play", "QT_AUTO_SCREEN_SCALE_FACTOR": "0", "QT_LINUX_ACCESSIBILITY_ALWAYS_ON": "1", "QT_SCREEN_SCALE_FACTORS": "eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;", "QT_WAYLAND_RECONNECT": "1", "SESSION_MANAGER": "local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271", "SHELL": "/usr/bin/zsh", "SHELL_SESSION_ID": "98a52bd5e1df44edb315d4c1da162224", "SHLVL": "2", "SYSTEMD_EXEC_PID": "1307", "TERM": "tmux-256color", "TERM_PROGRAM": "tmux", "TERM_PROGRAM_VERSION": "3.5a", "TMUX": "/tmp/tmux-1000/default,24818,0", "TMUX_PANE": "%1", "USER": "jonnybravo", "WINDOWID": "125829134", "XAUTHORITY": "/tmp/xauth_MViPvJ", "XDG_CONFIG_DIRS": "/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg", "XDG_CURRENT_DESKTOP": "KDE", "XDG_DATA_DIRS": "/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share", "XDG_MENU_PREFIX": "plasma-", "XDG_RUNTIME_DIR": "/run/user/1000", "XDG_SEAT": "seat0", "XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0", "XDG_SESSION_CLASS": "user", "XDG_SESSION_DESKTOP": "KDE", "XDG_SESSION_ID": "2", "XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session1", "XDG_SESSION_TYPE": "x11", "XDG_VTNR": "2", "ZSH": "/home/jonnybravo/.oh-my-zsh", "ZSH_TMUX_AUTOSTARTED": "true", "ZSH_TMUX_TERM": "tmux-256color", "_": "/usr/bin/poetry", "_ZSH_TMUX_FIXED_CONFIG": "/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf", "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXPl66DT/agent.24865", "SSH_AGENT_PID": "24872", "EDITOR": "mvim", "PYTHONPATH": ":/home/jonnybravo/python-module", "CDPATH": "/home/jonnybravo/:/home/jonnybravo/Projekte", "HUGGING_FACE_HUB_TOKEN": "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", "VIRTUAL_ENV": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13", "ANSIBLE_CALLBACK_PLUGINS": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback", "ANSIBLE_STDOUT_CALLBACK": "awx_display", "ANSIBLE_RETRY_FILES_ENABLED": "False", "ANSIBLE_HOST_KEY_CHECKING": "False", "AWX_ISOLATED_DATA_DIR": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "ANSIBLE_CACHE_PLUGIN": "jsonfile", "ANSIBLE_CACHE_PLUGIN_CONNECTION": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/fact_cache", "RUNNER_OMIT_EVENTS": "False", "RUNNER_ONLY_FAILED_EVENTS": "False"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/fact_cache/s1_localhost b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/fact_cache/s1_localhost new file mode 100644 index 0000000..4af3921 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/fact_cache/s1_localhost @@ -0,0 +1 @@ +{"__payload__": "{\"ansible_lsb\": {\"release\": \"25.0.7\", \"id\": \"ManjaroLinux\", \"description\": \"Manjaro Linux\", \"codename\": \"Zetar\", \"major_release\": \"25\"}, \"ansible_virtualization_type\": \"kvm\", \"ansible_virtualization_role\": \"host\", \"ansible_virtualization_tech_guest\": [], \"ansible_virtualization_tech_host\": [\"kvm\", \"virtualbox\"], \"ansible_dns\": {\"nameservers\": [\"127.0.0.53\"], \"options\": {\"edns0\": true, \"trust-ad\": true}, \"search\": [\"speedport.ip\"]}, \"ansible_python\": {\"version\": {\"major\": 3, \"minor\": 13, \"micro\": 5, \"releaselevel\": \"final\", \"serial\": 0}, \"version_info\": [3, 13, 5, \"final\", 0], \"executable\": \"/usr/bin/python\", \"has_sslcontext\": true, \"type\": \"cpython\"}, \"ansible_distribution\": \"Archlinux\", \"ansible_distribution_release\": \"Zetar\", \"ansible_distribution_version\": \"25.0.7\", \"ansible_distribution_major_version\": \"25\", \"ansible_distribution_file_path\": \"/etc/arch-release\", \"ansible_distribution_file_variety\": \"Archlinux\", \"ansible_os_family\": \"Archlinux\", \"ansible_user_id\": \"jonnybravo\", \"ansible_user_uid\": 1000, \"ansible_user_gid\": 1000, \"ansible_user_gecos\": \"Jonny Bravo\", \"ansible_user_dir\": \"/home/jonnybravo\", \"ansible_user_shell\": \"/usr/bin/zsh\", \"ansible_real_user_id\": 1000, \"ansible_effective_user_id\": 1000, \"ansible_real_group_id\": 1000, \"ansible_effective_group_id\": 1000, \"ansible_system_capabilities_enforced\": \"True\", \"ansible_system_capabilities\": [\"i\"], \"ansible_system\": \"Linux\", \"ansible_kernel\": \"6.15.9-2-MANJARO\", \"ansible_kernel_version\": \"#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000\", \"ansible_machine\": \"x86_64\", \"ansible_python_version\": \"3.13.5\", \"ansible_fqdn\": \"man-dan-01\", \"ansible_hostname\": \"man-dan-01\", \"ansible_nodename\": \"man-dan-01\", \"ansible_domain\": \"\", \"ansible_userspace_bits\": \"64\", \"ansible_architecture\": \"x86_64\", \"ansible_userspace_architecture\": \"x86_64\", \"ansible_machine_id\": \"fbf39be8eb7d4a7bbdc688dda54c0404\", \"ansible_systemd\": {\"features\": \"+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE\", \"version\": 257}, \"ansible_is_chroot\": false, \"ansible_loadavg\": {\"1m\": 0.1826171875, \"5m\": 0.2314453125, \"15m\": 0.236328125}, \"ansible_fibre_channel_wwn\": [], \"ansible_apparmor\": {\"status\": \"disabled\"}, \"ansible_local\": {}, \"ansible_iscsi_iqn\": \"\", \"ansible_hostnqn\": \"\", \"ansible_selinux\": {\"status\": \"Missing selinux Python library\"}, \"ansible_selinux_python_present\": false, \"ansible_pkg_mgr\": \"pacman\", \"ansible_fips\": false, \"ansible_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_proc_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": [\"UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\", \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_interfaces\": [\"br-a049e64d05be\", \"vethc79e6dd\", \"wg0\", \"br-490cce44238c\", \"vethaace71a\", \"br-005ea4a1de78\", \"wlan0\", \"lo\", \"wwan0\", \"br1\", \"enp0s13f0u3u2c2\", \"docker0\", \"br-ddbeb66accbb\"], \"ansible_br_ddbeb66accbb\": {\"device\": \"br-ddbeb66accbb\", \"macaddress\": \"da:9f:ca:ff:37:49\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.da9fcaff3749\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.20.0.1\", \"broadcast\": \"172.20.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.20.0.0\", \"prefix\": \"16\"}}, \"ansible_br_005ea4a1de78\": {\"device\": \"br-005ea4a1de78\", \"macaddress\": \"e6:bc:8c:f7:09:53\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.e6bc8cf70953\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.21.0.1\", \"broadcast\": \"172.21.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.21.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fc00:f853:ccd:e793::1\", \"prefix\": \"64\", \"scope\": \"global\"}]}, \"ansible_wg0\": {\"device\": \"wg0\", \"mtu\": 1420, \"active\": true, \"type\": \"tunnel\", \"promisc\": false, \"ipv4\": {\"address\": \"10.50.0.2\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"10.50.0.0\", \"prefix\": \"24\"}}, \"ansible_lo\": {\"device\": \"lo\", \"mtu\": 65536, \"active\": true, \"type\": \"loopback\", \"promisc\": false, \"ipv4\": {\"address\": \"127.0.0.1\", \"broadcast\": \"\", \"netmask\": \"255.0.0.0\", \"network\": \"127.0.0.0\", \"prefix\": \"8\"}, \"ipv6\": [{\"address\": \"::1\", \"prefix\": \"128\", \"scope\": \"host\"}]}, \"ansible_enp0s13f0u3u2c2\": {\"device\": \"enp0s13f0u3u2c2\", \"macaddress\": \"a0:ce:c8:a9:57:20\", \"mtu\": 1500, \"active\": false, \"module\": \"cdc_ncm\", \"type\": \"ether\", \"pciid\": \"2-3.2:2.0\", \"speed\": 0, \"promisc\": false}, \"ansible_br_490cce44238c\": {\"device\": \"br-490cce44238c\", \"macaddress\": \"32:bf:8b:ad:b9:17\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.32bf8badb917\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.19.0.1\", \"broadcast\": \"172.19.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.19.0.0\", \"prefix\": \"16\"}}, \"ansible_br1\": {\"device\": \"br1\", \"macaddress\": \"56:e7:2b:5c:4a:a5\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.56e72b5c4aa5\", \"stp\": false, \"speed\": -1, \"promisc\": false}, \"ansible_vethaace71a\": {\"device\": \"vethaace71a\", \"macaddress\": \"da:cb:ee:60:9e:dc\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::d8cb:eeff:fe60:9edc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_wwan0\": {\"device\": \"wwan0\", \"mtu\": 1500, \"active\": false, \"type\": \"unknown\", \"pciid\": \"wwan0\", \"promisc\": false}, \"ansible_wlan0\": {\"device\": \"wlan0\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"active\": true, \"module\": \"iwlwifi\", \"type\": \"ether\", \"pciid\": \"0000:00:14.3\", \"promisc\": false, \"ipv4\": {\"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\"}, \"ipv6\": [{\"address\": \"fe80::c603:a8ff:fe3c:a7d\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_docker0\": {\"device\": \"docker0\", \"macaddress\": \"8a:d4:d2:98:9a:fc\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethaace71a\"], \"id\": \"8000.8ad4d2989afc\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.17.0.1\", \"broadcast\": \"172.17.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.17.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::88d4:d2ff:fe98:9afc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_br_a049e64d05be\": {\"device\": \"br-a049e64d05be\", \"macaddress\": \"f2:5c:6a:9a:c2:2c\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethc79e6dd\"], \"id\": \"8000.f25c6a9ac22c\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.18.0.1\", \"broadcast\": \"172.18.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.18.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::f05c:6aff:fe9a:c22c\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_vethc79e6dd\": {\"device\": \"vethc79e6dd\", \"macaddress\": \"ee:de:03:8f:02:62\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::ecde:3ff:fe8f:262\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_default_ipv4\": {\"gateway\": \"192.168.50.1\", \"interface\": \"wlan0\", \"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"type\": \"ether\", \"alias\": \"wlan0\"}, \"ansible_default_ipv6\": {}, \"ansible_all_ipv4_addresses\": [\"172.20.0.1\", \"172.21.0.1\", \"10.50.0.2\", \"172.19.0.1\", \"192.168.50.177\", \"172.17.0.1\", \"172.18.0.1\"], \"ansible_all_ipv6_addresses\": [\"fc00:f853:ccd:e793::1\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::f05c:6aff:fe9a:c22c\", \"fe80::ecde:3ff:fe8f:262\"], \"ansible_locally_reachable_ips\": {\"ipv4\": [\"10.50.0.2\", \"127.0.0.0/8\", \"127.0.0.1\", \"172.17.0.1\", \"172.18.0.1\", \"172.19.0.1\", \"172.20.0.1\", \"172.21.0.1\", \"192.168.50.177\"], \"ipv6\": [\"::1\", \"fc00:f853:ccd:e793::1\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::ecde:3ff:fe8f:262\", \"fe80::f05c:6aff:fe9a:c22c\"]}, \"ansible_processor\": [\"0\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"1\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"2\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"3\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"4\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"5\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"6\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"7\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\"], \"ansible_flags\": [\"fpu\", \"vme\", \"de\", \"pse\", \"tsc\", \"msr\", \"pae\", \"mce\", \"cx8\", \"apic\", \"sep\", \"mtrr\", \"pge\", \"mca\", \"cmov\", \"pat\", \"pse36\", \"clflush\", \"dts\", \"acpi\", \"mmx\", \"fxsr\", \"sse\", \"sse2\", \"ss\", \"ht\", \"tm\", \"pbe\", \"syscall\", \"nx\", \"pdpe1gb\", \"rdtscp\", \"lm\", \"constant_tsc\", \"art\", \"arch_perfmon\", \"pebs\", \"bts\", \"rep_good\", \"nopl\", \"xtopology\", \"nonstop_tsc\", \"cpuid\", \"aperfmperf\", \"tsc_known_freq\", \"pni\", \"pclmulqdq\", \"dtes64\", \"monitor\", \"ds_cpl\", \"vmx\", \"est\", \"tm2\", \"ssse3\", \"sdbg\", \"fma\", \"cx16\", \"xtpr\", \"pdcm\", \"pcid\", \"sse4_1\", \"sse4_2\", \"x2apic\", \"movbe\", \"popcnt\", \"tsc_deadline_timer\", \"aes\", \"xsave\", \"avx\", \"f16c\", \"rdrand\", \"lahf_lm\", \"abm\", \"3dnowprefetch\", \"cpuid_fault\", \"epb\", \"cat_l2\", \"cdp_l2\", \"ssbd\", \"ibrs\", \"ibpb\", \"stibp\", \"ibrs_enhanced\", \"tpr_shadow\", \"flexpriority\", \"ept\", \"vpid\", \"ept_ad\", \"fsgsbase\", \"tsc_adjust\", \"bmi1\", \"avx2\", \"smep\", \"bmi2\", \"erms\", \"invpcid\", \"rdt_a\", \"avx512f\", \"avx512dq\", \"rdseed\", \"adx\", \"smap\", \"avx512ifma\", \"clflushopt\", \"clwb\", \"intel_pt\", \"avx512cd\", \"sha_ni\", \"avx512bw\", \"avx512vl\", \"xsaveopt\", \"xsavec\", \"xgetbv1\", \"xsaves\", \"split_lock_detect\", \"user_shstk\", \"dtherm\", \"ida\", \"arat\", \"pln\", \"pts\", \"hwp\", \"hwp_notify\", \"hwp_act_window\", \"hwp_epp\", \"hwp_pkg_req\", \"vnmi\", \"avx512vbmi\", \"umip\", \"pku\", \"ospke\", \"avx512_vbmi2\", \"gfni\", \"vaes\", \"vpclmulqdq\", \"avx512_vnni\", \"avx512_bitalg\", \"avx512_vpopcntdq\", \"rdpid\", \"movdiri\", \"movdir64b\", \"fsrm\", \"avx512_vp2intersect\", \"md_clear\", \"ibt\", \"flush_l1d\", \"arch_capabilities\"], \"ansible_processor_count\": 1, \"ansible_processor_cores\": 4, \"ansible_processor_threads_per_core\": 2, \"ansible_processor_vcpus\": 8, \"ansible_processor_nproc\": 8, \"ansible_memtotal_mb\": 31810, \"ansible_memfree_mb\": 1182, \"ansible_swaptotal_mb\": 34996, \"ansible_swapfree_mb\": 31599, \"ansible_memory_mb\": {\"real\": {\"total\": 31810, \"used\": 30628, \"free\": 1182}, \"nocache\": {\"free\": 18433, \"used\": 13377}, \"swap\": {\"total\": 34996, \"free\": 31599, \"used\": 3397, \"cached\": 300}}, \"ansible_bios_date\": \"02/02/2024\", \"ansible_bios_vendor\": \"LENOVO\", \"ansible_bios_version\": \"N32ET91W (1.67 )\", \"ansible_board_asset_tag\": \"Not Available\", \"ansible_board_name\": \"20XW0055GE\", \"ansible_board_serial\": \"NA\", \"ansible_board_vendor\": \"LENOVO\", \"ansible_board_version\": \"SDK0J40697 WIN\", \"ansible_chassis_asset_tag\": \"No Asset Information\", \"ansible_chassis_serial\": \"NA\", \"ansible_chassis_vendor\": \"LENOVO\", \"ansible_chassis_version\": \"None\", \"ansible_form_factor\": \"Notebook\", \"ansible_product_name\": \"20XW0055GE\", \"ansible_product_serial\": \"NA\", \"ansible_product_uuid\": \"NA\", \"ansible_product_version\": \"ThinkPad X1 Carbon Gen 9\", \"ansible_system_vendor\": \"LENOVO\", \"ansible_devices\": {\"dm-1\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"uuids\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"labels\": [\"swap\"], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 71673682, \"size\": \"34.18 GB\", \"host\": \"\", \"holders\": []}, \"nvme0n1\": {\"virtual\": 1, \"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": \"Micron MTFDKBA1T0TFH\", \"sas_address\": null, \"sas_device_handle\": null, \"serial\": \"222538DCB6A6\", \"removable\": \"0\", \"support_discard\": \"512\", \"partitions\": {\"nvme0n1p3\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"uuids\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"labels\": [], \"masters\": [\"dm-1\"]}, \"start\": \"1928719957\", \"sectorsize\": 512, \"sectors\": 71677778, \"size\": \"34.18 GB\", \"uuid\": \"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"holders\": [\"luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"]}, \"nvme0n1p1\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"uuids\": [\"71C2-949D\"], \"labels\": [], \"masters\": []}, \"start\": \"4096\", \"sectorsize\": 512, \"sectors\": 614400, \"size\": \"300.00 MB\", \"uuid\": \"71C2-949D\", \"holders\": []}, \"nvme0n1p2\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"uuids\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"labels\": [], \"masters\": [\"dm-0\"]}, \"start\": \"618496\", \"sectorsize\": 512, \"sectors\": 1928101461, \"size\": \"919.39 GB\", \"uuid\": \"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"holders\": [\"luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}}, \"rotational\": \"0\", \"scheduler_mode\": \"none\", \"sectorsize\": \"512\", \"sectors\": 2000409264, \"size\": \"953.87 GB\", \"host\": \"Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]\", \"holders\": []}, \"sdb\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS0\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"dm-0\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"uuids\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 1928097365, \"size\": \"919.39 GB\", \"host\": \"\", \"holders\": []}, \"sdc\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS1\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"sda\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"Micron\", \"model\": \"CT1000X8SSD9\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {\"sda1\": {\"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"uuids\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"labels\": [], \"masters\": []}, \"start\": \"2048\", \"sectorsize\": 512, \"sectors\": 1953521664, \"size\": \"931.51 GB\", \"uuid\": \"6fcf42f5-198f-4616-a272-430c33b22155\", \"holders\": []}}, \"rotational\": \"1\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 1953525168, \"size\": \"931.51 GB\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}}, \"ansible_device_links\": {\"ids\": {\"sdb\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"sdc\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"sda1\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"sda\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"nvme0n1p1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"nvme0n1p2\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"nvme0n1p3\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"nvme0n1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"dm-1\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-0\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}, \"uuids\": {\"sda1\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"nvme0n1p1\": [\"71C2-949D\"], \"nvme0n1p2\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"nvme0n1p3\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-1\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"dm-0\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"]}, \"labels\": {\"dm-1\": [\"swap\"]}, \"masters\": {\"nvme0n1p3\": [\"dm-1\"], \"nvme0n1p2\": [\"dm-0\"]}}, \"ansible_uptime_seconds\": 978861, \"ansible_lvm\": \"N/A\", \"ansible_mounts\": [{\"mount\": \"/\", \"device\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"fstype\": \"ext4\", \"options\": \"rw,noatime\", \"dump\": 0, \"passno\": 0, \"size_total\": 970536476672, \"size_available\": 457926258688, \"block_size\": 4096, \"block_total\": 236947382, \"block_available\": 111798403, \"block_used\": 125148979, \"inode_total\": 60260352, \"inode_available\": 57699835, \"inode_used\": 2560517, \"uuid\": \"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"}, {\"mount\": \"/boot/efi\", \"device\": \"/dev/nvme0n1p1\", \"fstype\": \"vfat\", \"options\": \"rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro\", \"dump\": 0, \"passno\": 0, \"size_total\": 313942016, \"size_available\": 313483264, \"block_size\": 4096, \"block_total\": 76646, \"block_available\": 76534, \"block_used\": 112, \"inode_total\": 0, \"inode_available\": 0, \"inode_used\": 0, \"uuid\": \"71C2-949D\"}], \"ansible_date_time\": {\"year\": \"2025\", \"month\": \"08\", \"weekday\": \"Freitag\", \"weekday_number\": \"5\", \"weeknumber\": \"34\", \"day\": \"29\", \"hour\": \"17\", \"minute\": \"00\", \"second\": \"27\", \"epoch\": \"1756479627\", \"epoch_int\": \"1756479627\", \"date\": \"2025-08-29\", \"time\": \"17:00:27\", \"iso8601_micro\": \"2025-08-29T15:00:27.894575Z\", \"iso8601\": \"2025-08-29T15:00:27Z\", \"iso8601_basic\": \"20250829T170027894575\", \"iso8601_basic_short\": \"20250829T170027\", \"tz\": \"CEST\", \"tz_dst\": \"CEST\", \"tz_offset\": \"+0200\"}, \"ansible_env\": {\"SHELL\": \"/usr/bin/zsh\", \"LSCOLORS\": \"Gxfxcxdxbxegedabagacad\", \"SESSION_MANAGER\": \"local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271\", \"WINDOWID\": \"125829134\", \"QT_SCREEN_SCALE_FACTORS\": \"eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;\", \"COLORTERM\": \"truecolor\", \"XDG_CONFIG_DIRS\": \"/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg\", \"LESS\": \"-R\", \"XDG_SESSION_PATH\": \"/org/freedesktop/DisplayManager/Session1\", \"ANSIBLE_CACHE_PLUGIN\": \"jsonfile\", \"XDG_MENU_PREFIX\": \"plasma-\", \"TERM_PROGRAM_VERSION\": \"3.5a\", \"ZSH_TMUX_AUTOSTARTED\": \"true\", \"TMUX\": \"/tmp/tmux-1000/default,24818,0\", \"ICEAUTHORITY\": \"/run/user/1000/iceauth_WaGeTh\", \"LANGUAGE\": \"\", \"LC_ADDRESS\": \"de_DE.UTF-8\", \"LC_NAME\": \"de_DE.UTF-8\", \"SSH_AUTH_SOCK\": \"/tmp/ssh-XXXXXXPl66DT/agent.24865\", \"SHELL_SESSION_ID\": \"98a52bd5e1df44edb315d4c1da162224\", \"MEMORY_PRESSURE_WRITE\": \"c29tZSAyMDAwMDAgMjAwMDAwMAA=\", \"DESKTOP_SESSION\": \"plasma\", \"LC_MONETARY\": \"de_DE.UTF-8\", \"SSH_AGENT_PID\": \"24872\", \"GTK_RC_FILES\": \"/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc\", \"EDITOR\": \"mvim\", \"GTK_MODULES\": \"canberra-gtk-module\", \"XDG_SEAT\": \"seat0\", \"HUGGING_FACE_HUB_TOKEN\": \"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\", \"PWD\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play\", \"LOGNAME\": \"jonnybravo\", \"XDG_SESSION_DESKTOP\": \"KDE\", \"RUNNER_ONLY_FAILED_EVENTS\": \"False\", \"XDG_SESSION_TYPE\": \"x11\", \"SYSTEMD_EXEC_PID\": \"1307\", \"_\": \"/usr/bin/python\", \"XAUTHORITY\": \"/tmp/xauth_MViPvJ\", \"AWX_ISOLATED_DATA_DIR\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9\", \"MOTD_SHOWN\": \"pam\", \"CDPATH\": \"/home/jonnybravo/:/home/jonnybravo/Projekte\", \"GTK2_RC_FILES\": \"/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0\", \"HOME\": \"/home/jonnybravo\", \"LANG\": \"de_DE.UTF-8\", \"LC_PAPER\": \"de_DE.UTF-8\", \"LS_COLORS\": \"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:\", \"XDG_CURRENT_DESKTOP\": \"KDE\", \"KONSOLE_DBUS_SERVICE\": \":1.142\", \"_ZSH_TMUX_FIXED_CONFIG\": \"/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf\", \"VIRTUAL_ENV\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13\", \"MEMORY_PRESSURE_WATCH\": \"/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure\", \"KONSOLE_DBUS_SESSION\": \"/Sessions/1\", \"PROFILEHOME\": \"\", \"XDG_SEAT_PATH\": \"/org/freedesktop/DisplayManager/Seat0\", \"ANSIBLE_STDOUT_CALLBACK\": \"awx_display\", \"ANSIBLE_CALLBACK_PLUGINS\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback\", \"INVOCATION_ID\": \"b7649f07995d41ef80f4f9a09d6df65a\", \"KONSOLE_VERSION\": \"250403\", \"MANAGERPID\": \"1157\", \"KDE_SESSION_UID\": \"1000\", \"ANSIBLE_CACHE_PLUGIN_CONNECTION\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/fact_cache\", \"XDG_SESSION_CLASS\": \"user\", \"PYTHONPATH\": \":/home/jonnybravo/python-module\", \"LC_IDENTIFICATION\": \"de_DE.UTF-8\", \"TERM\": \"tmux-256color\", \"ZSH\": \"/home/jonnybravo/.oh-my-zsh\", \"USER\": \"jonnybravo\", \"TMUX_PANE\": \"%1\", \"COLORFGBG\": \"0;15\", \"QT_WAYLAND_RECONNECT\": \"1\", \"KDE_SESSION_VERSION\": \"6\", \"PAM_KWALLET5_LOGIN\": \"/run/user/1000/kwallet5.socket\", \"DISPLAY\": \":0\", \"SHLVL\": \"3\", \"PAGER\": \"less\", \"LC_TELEPHONE\": \"de_DE.UTF-8\", \"LC_MEASUREMENT\": \"de_DE.UTF-8\", \"XDG_VTNR\": \"2\", \"RUNNER_OMIT_EVENTS\": \"False\", \"ANSIBLE_RETRY_FILES_ENABLED\": \"False\", \"XDG_SESSION_ID\": \"2\", \"QT_LINUX_ACCESSIBILITY_ALWAYS_ON\": \"1\", \"XDG_RUNTIME_DIR\": \"/run/user/1000\", \"ZSH_TMUX_TERM\": \"tmux-256color\", \"DEBUGINFOD_URLS\": \"https://debuginfod.archlinux.org \", \"LC_TIME\": \"de_DE.UTF-8\", \"QT_AUTO_SCREEN_SCALE_FACTOR\": \"0\", \"ANSIBLE_HOST_KEY_CHECKING\": \"False\", \"JOURNAL_STREAM\": \"9:930\", \"GTK3_MODULES\": \"xapp-gtk3-module\", \"XDG_DATA_DIRS\": \"/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share\", \"KDE_FULL_SESSION\": \"true\", \"PATH\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin\", \"DBUS_SESSION_BUS_ADDRESS\": \"unix:path=/run/user/1000/bus\", \"KDE_APPLICATIONS_AS_SCOPE\": \"1\", \"MAIL\": \"/var/spool/mail/jonnybravo\", \"LC_NUMERIC\": \"de_DE.UTF-8\", \"OLDPWD\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible\", \"TERM_PROGRAM\": \"tmux\", \"KONSOLE_DBUS_WINDOW\": \"/Windows/1\"}, \"ansible_service_mgr\": \"systemd\", \"gather_subset\": [\"all\"], \"module_setup\": true, \"_ansible_facts_gathered\": true}"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/1-1cb860c3-420b-4605-97f1-2848d696677e.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/1-1cb860c3-420b-4605-97f1-2848d696677e.json new file mode 100644 index 0000000..963d32a --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/1-1cb860c3-420b-4605-97f1-2848d696677e.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "1cb860c3-420b-4605-97f1-2848d696677e", "counter": 1, "stdout": "\u001b[1;35m[WARNING]: No inventory was parsed, only implicit localhost is available\u001b[0m", "start_line": 0, "end_line": 1, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "created": "2025-08-29T15:00:26.442517+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/10-4b1be9b2-1bb7-4043-9a31-4891fec9fdb7.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/10-4b1be9b2-1bb7-4043-9a31-4891fec9fdb7.json new file mode 100644 index 0000000..a4aefee --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/10-4b1be9b2-1bb7-4043-9a31-4891fec9fdb7.json @@ -0,0 +1 @@ +{"uuid": "4b1be9b2-1bb7-4043-9a31-4891fec9fdb7", "counter": 10, "stdout": "\u001b[0;32mok: [localhost] => {\u001b[0m\r\n\u001b[0;32m \"msg\": \"Hello Ansible World\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m", "start_line": 9, "end_line": 12, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "runner_on_ok", "pid": 903202, "created": "2025-08-29T15:00:27.953243+00:00", "parent_uuid": "c403a83c-0a7d-c752-d28b-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-c752-d28b-000000000003", "task_action": "debug", "resolved_action": "ansible.builtin.debug", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"msg": "Hello Ansible World", "_ansible_verbose_always": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T15:00:27.944028+00:00", "end": "2025-08-29T15:00:27.953032+00:00", "duration": 0.009004, "event_loop": null, "uuid": "4b1be9b2-1bb7-4043-9a31-4891fec9fdb7"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/11-b42a3b6b-b91b-43c9-ba52-439eb6939ca1.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/11-b42a3b6b-b91b-43c9-ba52-439eb6939ca1.json new file mode 100644 index 0000000..83fa0eb --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/11-b42a3b6b-b91b-43c9-ba52-439eb6939ca1.json @@ -0,0 +1 @@ +{"uuid": "b42a3b6b-b91b-43c9-ba52-439eb6939ca1", "counter": 11, "stdout": "\r\nPLAY RECAP *********************************************************************\r\n\u001b[0;32mlocalhost\u001b[0m : \u001b[0;32mok=2 \u001b[0m changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ", "start_line": 12, "end_line": 16, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "playbook_on_stats", "pid": 903202, "created": "2025-08-29T15:00:27.954620+00:00", "parent_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "changed": {}, "dark": {}, "failures": {}, "ignored": {}, "ok": {"localhost": 2}, "processed": {"localhost": 1}, "rescued": {}, "skipped": {}, "artifact_data": {}, "uuid": "b42a3b6b-b91b-43c9-ba52-439eb6939ca1"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/2-581f3687-da78-4de6-a346-01670cc6d1ac.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/2-581f3687-da78-4de6-a346-01670cc6d1ac.json new file mode 100644 index 0000000..ddb810a --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/2-581f3687-da78-4de6-a346-01670cc6d1ac.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "581f3687-da78-4de6-a346-01670cc6d1ac", "counter": 2, "stdout": "\u001b[1;35m[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\u001b[0m", "start_line": 1, "end_line": 2, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "created": "2025-08-29T15:00:26.446145+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/3-02eef34c-064c-4e67-a88c-02bfa5c8eb89.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/3-02eef34c-064c-4e67-a88c-02bfa5c8eb89.json new file mode 100644 index 0000000..1d017fe --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/3-02eef34c-064c-4e67-a88c-02bfa5c8eb89.json @@ -0,0 +1 @@ +{"uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "counter": 3, "stdout": "", "start_line": 2, "end_line": 2, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "playbook_on_start", "pid": 903202, "created": "2025-08-29T15:00:26.501020+00:00", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/4-c403a83c-0a7d-c752-d28b-000000000001.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/4-c403a83c-0a7d-c752-d28b-000000000001.json new file mode 100644 index 0000000..039c4f0 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/4-c403a83c-0a7d-c752-d28b-000000000001.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-c752-d28b-000000000001", "counter": 4, "stdout": "\r\nPLAY [Simple playbook] *********************************************************", "start_line": 2, "end_line": 4, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "playbook_on_play_start", "pid": 903202, "created": "2025-08-29T15:00:26.502556+00:00", "parent_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "play_pattern": "localhost", "name": "Simple playbook", "pattern": "localhost", "uuid": "c403a83c-0a7d-c752-d28b-000000000001"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/5-c403a83c-0a7d-c752-d28b-000000000008.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/5-c403a83c-0a7d-c752-d28b-000000000008.json new file mode 100644 index 0000000..e4b917b --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/5-c403a83c-0a7d-c752-d28b-000000000008.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-c752-d28b-000000000008", "counter": 5, "stdout": "\r\nTASK [Gathering Facts] *********************************************************", "start_line": 4, "end_line": 6, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "playbook_on_task_start", "pid": 903202, "created": "2025-08-29T15:00:26.508043+00:00", "parent_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-c752-d28b-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "name": "Gathering Facts", "is_conditional": false, "uuid": "c403a83c-0a7d-c752-d28b-000000000008"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/6-65252c48-7cf3-47e6-b791-ceeb40f3d376.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/6-65252c48-7cf3-47e6-b791-ceeb40f3d376.json new file mode 100644 index 0000000..439a53a --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/6-65252c48-7cf3-47e6-b791-ceeb40f3d376.json @@ -0,0 +1 @@ +{"uuid": "65252c48-7cf3-47e6-b791-ceeb40f3d376", "counter": 6, "stdout": "", "start_line": 6, "end_line": 6, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "runner_on_start", "pid": 903202, "created": "2025-08-29T15:00:26.508649+00:00", "parent_uuid": "c403a83c-0a7d-c752-d28b-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-c752-d28b-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "uuid": "65252c48-7cf3-47e6-b791-ceeb40f3d376"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/7-d78b74c6-25ef-4eb3-aee7-8f9a7f6ca211.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/7-d78b74c6-25ef-4eb3-aee7-8f9a7f6ca211.json new file mode 100644 index 0000000..df0652b --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/7-d78b74c6-25ef-4eb3-aee7-8f9a7f6ca211.json @@ -0,0 +1 @@ +{"uuid": "d78b74c6-25ef-4eb3-aee7-8f9a7f6ca211", "counter": 7, "stdout": "\u001b[0;32mok: [localhost]\u001b[0m", "start_line": 6, "end_line": 7, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "runner_on_ok", "pid": 903202, "created": "2025-08-29T15:00:27.939721+00:00", "parent_uuid": "c403a83c-0a7d-c752-d28b-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-c752-d28b-000000000008", "task_action": "gather_facts", "resolved_action": "ansible.builtin.gather_facts", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"ansible_facts": {"ansible_lsb": {"release": "25.0.7", "id": "ManjaroLinux", "description": "Manjaro Linux", "codename": "Zetar", "major_release": "25"}, "ansible_virtualization_type": "kvm", "ansible_virtualization_role": "host", "ansible_virtualization_tech_guest": [], "ansible_virtualization_tech_host": ["kvm", "virtualbox"], "ansible_dns": {"nameservers": ["127.0.0.53"], "options": {"edns0": true, "trust-ad": true}, "search": ["speedport.ip"]}, "ansible_python": {"version": {"major": 3, "minor": 13, "micro": 5, "releaselevel": "final", "serial": 0}, "version_info": [3, 13, 5, "final", 0], "executable": "/usr/bin/python", "has_sslcontext": true, "type": "cpython"}, "ansible_distribution": "Archlinux", "ansible_distribution_release": "Zetar", "ansible_distribution_version": "25.0.7", "ansible_distribution_major_version": "25", "ansible_distribution_file_path": "/etc/arch-release", "ansible_distribution_file_variety": "Archlinux", "ansible_os_family": "Archlinux", "ansible_user_id": "jonnybravo", "ansible_user_uid": 1000, "ansible_user_gid": 1000, "ansible_user_gecos": "Jonny Bravo", "ansible_user_dir": "/home/jonnybravo", "ansible_user_shell": "/usr/bin/zsh", "ansible_real_user_id": 1000, "ansible_effective_user_id": 1000, "ansible_real_group_id": 1000, "ansible_effective_group_id": 1000, "ansible_system_capabilities_enforced": "True", "ansible_system_capabilities": ["i"], "ansible_system": "Linux", "ansible_kernel": "6.15.9-2-MANJARO", "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000", "ansible_machine": "x86_64", "ansible_python_version": "3.13.5", "ansible_fqdn": "man-dan-01", "ansible_hostname": "man-dan-01", "ansible_nodename": "man-dan-01", "ansible_domain": "", "ansible_userspace_bits": "64", "ansible_architecture": "x86_64", "ansible_userspace_architecture": "x86_64", "ansible_machine_id": "fbf39be8eb7d4a7bbdc688dda54c0404", "ansible_systemd": {"features": "+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE", "version": 257}, "ansible_is_chroot": false, "ansible_loadavg": {"1m": 0.1826171875, "5m": 0.2314453125, "15m": 0.236328125}, "ansible_fibre_channel_wwn": [], "ansible_apparmor": {"status": "disabled"}, "ansible_local": {}, "ansible_iscsi_iqn": "", "ansible_hostnqn": "", "ansible_selinux": {"status": "Missing selinux Python library"}, "ansible_selinux_python_present": false, "ansible_pkg_mgr": "pacman", "ansible_fips": false, "ansible_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_proc_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": ["UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4", "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_interfaces": ["br-a049e64d05be", "vethc79e6dd", "wg0", "br-490cce44238c", "vethaace71a", "br-005ea4a1de78", "wlan0", "lo", "wwan0", "br1", "enp0s13f0u3u2c2", "docker0", "br-ddbeb66accbb"], "ansible_br_ddbeb66accbb": {"device": "br-ddbeb66accbb", "macaddress": "da:9f:ca:ff:37:49", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.da9fcaff3749", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.20.0.1", "broadcast": "172.20.255.255", "netmask": "255.255.0.0", "network": "172.20.0.0", "prefix": "16"}}, "ansible_br_005ea4a1de78": {"device": "br-005ea4a1de78", "macaddress": "e6:bc:8c:f7:09:53", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.e6bc8cf70953", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.21.0.1", "broadcast": "172.21.255.255", "netmask": "255.255.0.0", "network": "172.21.0.0", "prefix": "16"}, "ipv6": [{"address": "fc00:f853:ccd:e793::1", "prefix": "64", "scope": "global"}]}, "ansible_wg0": {"device": "wg0", "mtu": 1420, "active": true, "type": "tunnel", "promisc": false, "ipv4": {"address": "10.50.0.2", "broadcast": "", "netmask": "255.255.255.0", "network": "10.50.0.0", "prefix": "24"}}, "ansible_lo": {"device": "lo", "mtu": 65536, "active": true, "type": "loopback", "promisc": false, "ipv4": {"address": "127.0.0.1", "broadcast": "", "netmask": "255.0.0.0", "network": "127.0.0.0", "prefix": "8"}, "ipv6": [{"address": "::1", "prefix": "128", "scope": "host"}]}, "ansible_enp0s13f0u3u2c2": {"device": "enp0s13f0u3u2c2", "macaddress": "a0:ce:c8:a9:57:20", "mtu": 1500, "active": false, "module": "cdc_ncm", "type": "ether", "pciid": "2-3.2:2.0", "speed": 0, "promisc": false}, "ansible_br_490cce44238c": {"device": "br-490cce44238c", "macaddress": "32:bf:8b:ad:b9:17", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.32bf8badb917", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.19.0.1", "broadcast": "172.19.255.255", "netmask": "255.255.0.0", "network": "172.19.0.0", "prefix": "16"}}, "ansible_br1": {"device": "br1", "macaddress": "56:e7:2b:5c:4a:a5", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.56e72b5c4aa5", "stp": false, "speed": -1, "promisc": false}, "ansible_vethaace71a": {"device": "vethaace71a", "macaddress": "da:cb:ee:60:9e:dc", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::d8cb:eeff:fe60:9edc", "prefix": "64", "scope": "link"}]}, "ansible_wwan0": {"device": "wwan0", "mtu": 1500, "active": false, "type": "unknown", "pciid": "wwan0", "promisc": false}, "ansible_wlan0": {"device": "wlan0", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "active": true, "module": "iwlwifi", "type": "ether", "pciid": "0000:00:14.3", "promisc": false, "ipv4": {"address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24"}, "ipv6": [{"address": "fe80::c603:a8ff:fe3c:a7d", "prefix": "64", "scope": "link"}]}, "ansible_docker0": {"device": "docker0", "macaddress": "8a:d4:d2:98:9a:fc", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethaace71a"], "id": "8000.8ad4d2989afc", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.17.0.1", "broadcast": "172.17.255.255", "netmask": "255.255.0.0", "network": "172.17.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::88d4:d2ff:fe98:9afc", "prefix": "64", "scope": "link"}]}, "ansible_br_a049e64d05be": {"device": "br-a049e64d05be", "macaddress": "f2:5c:6a:9a:c2:2c", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethc79e6dd"], "id": "8000.f25c6a9ac22c", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.18.0.1", "broadcast": "172.18.255.255", "netmask": "255.255.0.0", "network": "172.18.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::f05c:6aff:fe9a:c22c", "prefix": "64", "scope": "link"}]}, "ansible_vethc79e6dd": {"device": "vethc79e6dd", "macaddress": "ee:de:03:8f:02:62", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::ecde:3ff:fe8f:262", "prefix": "64", "scope": "link"}]}, "ansible_default_ipv4": {"gateway": "192.168.50.1", "interface": "wlan0", "address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "type": "ether", "alias": "wlan0"}, "ansible_default_ipv6": {}, "ansible_all_ipv4_addresses": ["172.20.0.1", "172.21.0.1", "10.50.0.2", "172.19.0.1", "192.168.50.177", "172.17.0.1", "172.18.0.1"], "ansible_all_ipv6_addresses": ["fc00:f853:ccd:e793::1", "fe80::d8cb:eeff:fe60:9edc", "fe80::c603:a8ff:fe3c:a7d", "fe80::88d4:d2ff:fe98:9afc", "fe80::f05c:6aff:fe9a:c22c", "fe80::ecde:3ff:fe8f:262"], "ansible_locally_reachable_ips": {"ipv4": ["10.50.0.2", "127.0.0.0/8", "127.0.0.1", "172.17.0.1", "172.18.0.1", "172.19.0.1", "172.20.0.1", "172.21.0.1", "192.168.50.177"], "ipv6": ["::1", "fc00:f853:ccd:e793::1", "fe80::88d4:d2ff:fe98:9afc", "fe80::c603:a8ff:fe3c:a7d", "fe80::d8cb:eeff:fe60:9edc", "fe80::ecde:3ff:fe8f:262", "fe80::f05c:6aff:fe9a:c22c"]}, "ansible_processor": ["0", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "1", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "2", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "3", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "4", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "5", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "6", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "7", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz"], "ansible_flags": ["fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", "cx8", "apic", "sep", "mtrr", "pge", "mca", "cmov", "pat", "pse36", "clflush", "dts", "acpi", "mmx", "fxsr", "sse", "sse2", "ss", "ht", "tm", "pbe", "syscall", "nx", "pdpe1gb", "rdtscp", "lm", "constant_tsc", "art", "arch_perfmon", "pebs", "bts", "rep_good", "nopl", "xtopology", "nonstop_tsc", "cpuid", "aperfmperf", "tsc_known_freq", "pni", "pclmulqdq", "dtes64", "monitor", "ds_cpl", "vmx", "est", "tm2", "ssse3", "sdbg", "fma", "cx16", "xtpr", "pdcm", "pcid", "sse4_1", "sse4_2", "x2apic", "movbe", "popcnt", "tsc_deadline_timer", "aes", "xsave", "avx", "f16c", "rdrand", "lahf_lm", "abm", "3dnowprefetch", "cpuid_fault", "epb", "cat_l2", "cdp_l2", "ssbd", "ibrs", "ibpb", "stibp", "ibrs_enhanced", "tpr_shadow", "flexpriority", "ept", "vpid", "ept_ad", "fsgsbase", "tsc_adjust", "bmi1", "avx2", "smep", "bmi2", "erms", "invpcid", "rdt_a", "avx512f", "avx512dq", "rdseed", "adx", "smap", "avx512ifma", "clflushopt", "clwb", "intel_pt", "avx512cd", "sha_ni", "avx512bw", "avx512vl", "xsaveopt", "xsavec", "xgetbv1", "xsaves", "split_lock_detect", "user_shstk", "dtherm", "ida", "arat", "pln", "pts", "hwp", "hwp_notify", "hwp_act_window", "hwp_epp", "hwp_pkg_req", "vnmi", "avx512vbmi", "umip", "pku", "ospke", "avx512_vbmi2", "gfni", "vaes", "vpclmulqdq", "avx512_vnni", "avx512_bitalg", "avx512_vpopcntdq", "rdpid", "movdiri", "movdir64b", "fsrm", "avx512_vp2intersect", "md_clear", "ibt", "flush_l1d", "arch_capabilities"], "ansible_processor_count": 1, "ansible_processor_cores": 4, "ansible_processor_threads_per_core": 2, "ansible_processor_vcpus": 8, "ansible_processor_nproc": 8, "ansible_memtotal_mb": 31810, "ansible_memfree_mb": 1182, "ansible_swaptotal_mb": 34996, "ansible_swapfree_mb": 31599, "ansible_memory_mb": {"real": {"total": 31810, "used": 30628, "free": 1182}, "nocache": {"free": 18433, "used": 13377}, "swap": {"total": 34996, "free": 31599, "used": 3397, "cached": 300}}, "ansible_bios_date": "02/02/2024", "ansible_bios_vendor": "LENOVO", "ansible_bios_version": "N32ET91W (1.67 )", "ansible_board_asset_tag": "Not Available", "ansible_board_name": "20XW0055GE", "ansible_board_serial": "NA", "ansible_board_vendor": "LENOVO", "ansible_board_version": "SDK0J40697 WIN", "ansible_chassis_asset_tag": "No Asset Information", "ansible_chassis_serial": "NA", "ansible_chassis_vendor": "LENOVO", "ansible_chassis_version": "None", "ansible_form_factor": "Notebook", "ansible_product_name": "20XW0055GE", "ansible_product_serial": "NA", "ansible_product_uuid": "NA", "ansible_product_version": "ThinkPad X1 Carbon Gen 9", "ansible_system_vendor": "LENOVO", "ansible_devices": {"dm-1": {"virtual": 1, "links": {"ids": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "uuids": ["fa8cc308-7de8-418e-9791-09265567d62f"], "labels": ["swap"], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 71673682, "size": "34.18 GB", "host": "", "holders": []}, "nvme0n1": {"virtual": 1, "links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "uuids": [], "labels": [], "masters": []}, "vendor": null, "model": "Micron MTFDKBA1T0TFH", "sas_address": null, "sas_device_handle": null, "serial": "222538DCB6A6", "removable": "0", "support_discard": "512", "partitions": {"nvme0n1p3": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "uuids": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "labels": [], "masters": ["dm-1"]}, "start": "1928719957", "sectorsize": 512, "sectors": 71677778, "size": "34.18 GB", "uuid": "e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "holders": ["luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"]}, "nvme0n1p1": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "uuids": ["71C2-949D"], "labels": [], "masters": []}, "start": "4096", "sectorsize": 512, "sectors": 614400, "size": "300.00 MB", "uuid": "71C2-949D", "holders": []}, "nvme0n1p2": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "uuids": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "labels": [], "masters": ["dm-0"]}, "start": "618496", "sectorsize": 512, "sectors": 1928101461, "size": "919.39 GB", "uuid": "9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "holders": ["luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}}, "rotational": "0", "scheduler_mode": "none", "sectorsize": "512", "sectors": 2000409264, "size": "953.87 GB", "host": "Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]", "holders": []}, "sdb": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS0", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "dm-0": {"virtual": 1, "links": {"ids": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "uuids": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"], "labels": [], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 1928097365, "size": "919.39 GB", "host": "", "holders": []}, "sdc": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS1", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "sda": {"virtual": 1, "links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "Micron", "model": "CT1000X8SSD9", "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {"sda1": {"links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "uuids": ["6fcf42f5-198f-4616-a272-430c33b22155"], "labels": [], "masters": []}, "start": "2048", "sectorsize": 512, "sectors": 1953521664, "size": "931.51 GB", "uuid": "6fcf42f5-198f-4616-a272-430c33b22155", "holders": []}}, "rotational": "1", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 1953525168, "size": "931.51 GB", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}}, "ansible_device_links": {"ids": {"sdb": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "sdc": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "sda1": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "sda": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "nvme0n1p1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "nvme0n1p2": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "nvme0n1p3": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "nvme0n1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "dm-1": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-0": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}, "uuids": {"sda1": ["6fcf42f5-198f-4616-a272-430c33b22155"], "nvme0n1p1": ["71C2-949D"], "nvme0n1p2": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "nvme0n1p3": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-1": ["fa8cc308-7de8-418e-9791-09265567d62f"], "dm-0": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"]}, "labels": {"dm-1": ["swap"]}, "masters": {"nvme0n1p3": ["dm-1"], "nvme0n1p2": ["dm-0"]}}, "ansible_uptime_seconds": 978861, "ansible_lvm": "N/A", "ansible_mounts": [{"mount": "/", "device": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "fstype": "ext4", "options": "rw,noatime", "dump": 0, "passno": 0, "size_total": 970536476672, "size_available": 457926258688, "block_size": 4096, "block_total": 236947382, "block_available": 111798403, "block_used": 125148979, "inode_total": 60260352, "inode_available": 57699835, "inode_used": 2560517, "uuid": "38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"}, {"mount": "/boot/efi", "device": "/dev/nvme0n1p1", "fstype": "vfat", "options": "rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro", "dump": 0, "passno": 0, "size_total": 313942016, "size_available": 313483264, "block_size": 4096, "block_total": 76646, "block_available": 76534, "block_used": 112, "inode_total": 0, "inode_available": 0, "inode_used": 0, "uuid": "71C2-949D"}], "ansible_date_time": {"year": "2025", "month": "08", "weekday": "Freitag", "weekday_number": "5", "weeknumber": "34", "day": "29", "hour": "17", "minute": "00", "second": "27", "epoch": "1756479627", "epoch_int": "1756479627", "date": "2025-08-29", "time": "17:00:27", "iso8601_micro": "2025-08-29T15:00:27.894575Z", "iso8601": "2025-08-29T15:00:27Z", "iso8601_basic": "20250829T170027894575", "iso8601_basic_short": "20250829T170027", "tz": "CEST", "tz_dst": "CEST", "tz_offset": "+0200"}, "ansible_service_mgr": "systemd", "gather_subset": ["all"], "module_setup": true}, "_ansible_verbose_override": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T15:00:26.508606+00:00", "end": "2025-08-29T15:00:27.939614+00:00", "duration": 1.431008, "event_loop": null, "uuid": "d78b74c6-25ef-4eb3-aee7-8f9a7f6ca211"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/8-c403a83c-0a7d-c752-d28b-000000000003.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/8-c403a83c-0a7d-c752-d28b-000000000003.json new file mode 100644 index 0000000..f320a27 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/8-c403a83c-0a7d-c752-d28b-000000000003.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-c752-d28b-000000000003", "counter": 8, "stdout": "\r\nTASK [Print message] ***********************************************************", "start_line": 7, "end_line": 9, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "playbook_on_task_start", "pid": 903202, "created": "2025-08-29T15:00:27.943544+00:00", "parent_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-c752-d28b-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "name": "Print message", "is_conditional": false, "uuid": "c403a83c-0a7d-c752-d28b-000000000003"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/9-131837f4-0404-468f-b1e2-269a3feafbce.json b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/9-131837f4-0404-468f-b1e2-269a3feafbce.json new file mode 100644 index 0000000..c6c382f --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/job_events/9-131837f4-0404-468f-b1e2-269a3feafbce.json @@ -0,0 +1 @@ +{"uuid": "131837f4-0404-468f-b1e2-269a3feafbce", "counter": 9, "stdout": "", "start_line": 9, "end_line": 9, "runner_ident": "593bddbd-810b-4e74-88dc-0cd7c9cdd6b9", "event": "runner_on_start", "pid": 903202, "created": "2025-08-29T15:00:27.944071+00:00", "parent_uuid": "c403a83c-0a7d-c752-d28b-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "02eef34c-064c-4e67-a88c-02bfa5c8eb89", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-c752-d28b-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-c752-d28b-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "uuid": "131837f4-0404-468f-b1e2-269a3feafbce"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/rc b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/rc new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/rc @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/status b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/status new file mode 100644 index 0000000..a44f01d --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/status @@ -0,0 +1 @@ +successful \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/stderr b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/stderr new file mode 100644 index 0000000..e69de29 diff --git a/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/stdout b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/stdout new file mode 100644 index 0000000..f6311de --- /dev/null +++ b/play_ansible/run_play/play/artifacts/593bddbd-810b-4e74-88dc-0cd7c9cdd6b9/stdout @@ -0,0 +1,15 @@ +[WARNING]: No inventory was parsed, only implicit localhost is available +[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' + +PLAY [Simple playbook] ********************************************************* + +TASK [Gathering Facts] ********************************************************* +ok: [localhost] + +TASK [Print message] *********************************************************** +ok: [localhost] => { + "msg": "Hello Ansible World" +} + +PLAY RECAP ********************************************************************* +localhost : ok=2  changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/command b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/command new file mode 100644 index 0000000..ce790b9 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/command @@ -0,0 +1 @@ +{"command": ["ansible-playbook", "playbook.yml"], "cwd": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play", "env": {"COLORFGBG": "0;15", "COLORTERM": "truecolor", "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus", "DEBUGINFOD_URLS": "https://debuginfod.archlinux.org ", "DESKTOP_SESSION": "plasma", "DISPLAY": ":0", "GTK2_RC_FILES": "/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0", "GTK3_MODULES": "xapp-gtk3-module", "GTK_MODULES": "canberra-gtk-module", "GTK_RC_FILES": "/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc", "HOME": "/home/jonnybravo", "ICEAUTHORITY": "/run/user/1000/iceauth_WaGeTh", "INVOCATION_ID": "b7649f07995d41ef80f4f9a09d6df65a", "JOURNAL_STREAM": "9:930", "KDE_APPLICATIONS_AS_SCOPE": "1", "KDE_FULL_SESSION": "true", "KDE_SESSION_UID": "1000", "KDE_SESSION_VERSION": "6", "KONSOLE_DBUS_SERVICE": ":1.142", "KONSOLE_DBUS_SESSION": "/Sessions/1", "KONSOLE_DBUS_WINDOW": "/Windows/1", "KONSOLE_VERSION": "250403", "LANG": "de_DE.UTF-8", "LANGUAGE": "", "LC_ADDRESS": "de_DE.UTF-8", "LC_IDENTIFICATION": "de_DE.UTF-8", "LC_MEASUREMENT": "de_DE.UTF-8", "LC_MONETARY": "de_DE.UTF-8", "LC_NAME": "de_DE.UTF-8", "LC_NUMERIC": "de_DE.UTF-8", "LC_PAPER": "de_DE.UTF-8", "LC_TELEPHONE": "de_DE.UTF-8", "LC_TIME": "de_DE.UTF-8", "LESS": "-R", "LOGNAME": "jonnybravo", "LSCOLORS": "Gxfxcxdxbxegedabagacad", "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:", "MAIL": "/var/spool/mail/jonnybravo", "MANAGERPID": "1157", "MEMORY_PRESSURE_WATCH": "/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure", "MEMORY_PRESSURE_WRITE": "c29tZSAyMDAwMDAgMjAwMDAwMAA=", "MOTD_SHOWN": "pam", "OLDPWD": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible", "PAGER": "less", "PAM_KWALLET5_LOGIN": "/run/user/1000/kwallet5.socket", "PATH": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin", "PROFILEHOME": "", "PWD": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play", "QT_AUTO_SCREEN_SCALE_FACTOR": "0", "QT_LINUX_ACCESSIBILITY_ALWAYS_ON": "1", "QT_SCREEN_SCALE_FACTORS": "eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;", "QT_WAYLAND_RECONNECT": "1", "SESSION_MANAGER": "local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271", "SHELL": "/usr/bin/zsh", "SHELL_SESSION_ID": "98a52bd5e1df44edb315d4c1da162224", "SHLVL": "3", "SYSTEMD_EXEC_PID": "1307", "TERM": "tmux-256color", "TERM_PROGRAM": "tmux", "TERM_PROGRAM_VERSION": "3.5a", "TMUX": "/tmp/tmux-1000/default,24818,0", "TMUX_PANE": "%0", "USER": "jonnybravo", "WINDOWID": "125829134", "XAUTHORITY": "/tmp/xauth_MViPvJ", "XDG_CONFIG_DIRS": "/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg", "XDG_CURRENT_DESKTOP": "KDE", "XDG_DATA_DIRS": "/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share", "XDG_MENU_PREFIX": "plasma-", "XDG_RUNTIME_DIR": "/run/user/1000", "XDG_SEAT": "seat0", "XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0", "XDG_SESSION_CLASS": "user", "XDG_SESSION_DESKTOP": "KDE", "XDG_SESSION_ID": "2", "XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session1", "XDG_SESSION_TYPE": "x11", "XDG_VTNR": "2", "ZSH": "/home/jonnybravo/.oh-my-zsh", "ZSH_TMUX_AUTOSTARTED": "true", "ZSH_TMUX_TERM": "tmux-256color", "_": "/usr/bin/poetry", "_ZSH_TMUX_FIXED_CONFIG": "/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf", "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXPl66DT/agent.24865", "SSH_AGENT_PID": "24872", "EDITOR": "mvim", "PYTHONPATH": ":/home/jonnybravo/python-module:/home/jonnybravo/python-module", "CDPATH": "/home/jonnybravo/:/home/jonnybravo/Projekte", "VIRTUAL_ENV": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13", "ANSIBLE_CALLBACK_PLUGINS": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback", "ANSIBLE_STDOUT_CALLBACK": "awx_display", "ANSIBLE_RETRY_FILES_ENABLED": "False", "ANSIBLE_HOST_KEY_CHECKING": "False", "AWX_ISOLATED_DATA_DIR": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994", "ANSIBLE_CACHE_PLUGIN": "jsonfile", "ANSIBLE_CACHE_PLUGIN_CONNECTION": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/fact_cache", "RUNNER_OMIT_EVENTS": "False", "RUNNER_ONLY_FAILED_EVENTS": "False"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/fact_cache/s1_localhost b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/fact_cache/s1_localhost new file mode 100644 index 0000000..8b6b36b --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/fact_cache/s1_localhost @@ -0,0 +1 @@ +{"__payload__": "{\"ansible_loadavg\": {\"1m\": 0.37548828125, \"5m\": 0.4931640625, \"15m\": 0.65380859375}, \"ansible_user_id\": \"jonnybravo\", \"ansible_user_uid\": 1000, \"ansible_user_gid\": 1000, \"ansible_user_gecos\": \"Jonny Bravo\", \"ansible_user_dir\": \"/home/jonnybravo\", \"ansible_user_shell\": \"/usr/bin/zsh\", \"ansible_real_user_id\": 1000, \"ansible_effective_user_id\": 1000, \"ansible_real_group_id\": 1000, \"ansible_effective_group_id\": 1000, \"ansible_selinux\": {\"status\": \"Missing selinux Python library\"}, \"ansible_selinux_python_present\": false, \"ansible_date_time\": {\"year\": \"2025\", \"month\": \"08\", \"weekday\": \"Freitag\", \"weekday_number\": \"5\", \"weeknumber\": \"34\", \"day\": \"29\", \"hour\": \"15\", \"minute\": \"47\", \"second\": \"49\", \"epoch\": \"1756475269\", \"epoch_int\": \"1756475269\", \"date\": \"2025-08-29\", \"time\": \"15:47:49\", \"iso8601_micro\": \"2025-08-29T13:47:49.461010Z\", \"iso8601\": \"2025-08-29T13:47:49Z\", \"iso8601_basic\": \"20250829T154749461010\", \"iso8601_basic_short\": \"20250829T154749\", \"tz\": \"CEST\", \"tz_dst\": \"CEST\", \"tz_offset\": \"+0200\"}, \"ansible_systemd\": {\"features\": \"+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE\", \"version\": 257}, \"ansible_virtualization_type\": \"kvm\", \"ansible_virtualization_role\": \"host\", \"ansible_virtualization_tech_guest\": [], \"ansible_virtualization_tech_host\": [\"kvm\", \"virtualbox\"], \"ansible_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_proc_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": [\"UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\", \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_dns\": {\"nameservers\": [\"127.0.0.53\"], \"options\": {\"edns0\": true, \"trust-ad\": true}, \"search\": [\"speedport.ip\"]}, \"ansible_distribution\": \"Archlinux\", \"ansible_distribution_release\": \"Zetar\", \"ansible_distribution_version\": \"25.0.7\", \"ansible_distribution_major_version\": \"25\", \"ansible_distribution_file_path\": \"/etc/arch-release\", \"ansible_distribution_file_variety\": \"Archlinux\", \"ansible_os_family\": \"Archlinux\", \"ansible_apparmor\": {\"status\": \"disabled\"}, \"ansible_hostnqn\": \"\", \"ansible_system\": \"Linux\", \"ansible_kernel\": \"6.15.9-2-MANJARO\", \"ansible_kernel_version\": \"#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000\", \"ansible_machine\": \"x86_64\", \"ansible_python_version\": \"3.13.5\", \"ansible_fqdn\": \"man-dan-01\", \"ansible_hostname\": \"man-dan-01\", \"ansible_nodename\": \"man-dan-01\", \"ansible_domain\": \"\", \"ansible_userspace_bits\": \"64\", \"ansible_architecture\": \"x86_64\", \"ansible_userspace_architecture\": \"x86_64\", \"ansible_machine_id\": \"fbf39be8eb7d4a7bbdc688dda54c0404\", \"ansible_lsb\": {\"release\": \"25.0.7\", \"id\": \"ManjaroLinux\", \"description\": \"Manjaro Linux\", \"codename\": \"Zetar\", \"major_release\": \"25\"}, \"ansible_is_chroot\": false, \"ansible_fibre_channel_wwn\": [], \"ansible_system_capabilities_enforced\": \"True\", \"ansible_system_capabilities\": [\"i\"], \"ansible_iscsi_iqn\": \"\", \"ansible_pkg_mgr\": \"pacman\", \"ansible_python\": {\"version\": {\"major\": 3, \"minor\": 13, \"micro\": 5, \"releaselevel\": \"final\", \"serial\": 0}, \"version_info\": [3, 13, 5, \"final\", 0], \"executable\": \"/usr/bin/python\", \"has_sslcontext\": true, \"type\": \"cpython\"}, \"ansible_local\": {}, \"ansible_processor\": [\"0\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"1\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"2\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"3\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"4\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"5\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"6\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"7\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\"], \"ansible_flags\": [\"fpu\", \"vme\", \"de\", \"pse\", \"tsc\", \"msr\", \"pae\", \"mce\", \"cx8\", \"apic\", \"sep\", \"mtrr\", \"pge\", \"mca\", \"cmov\", \"pat\", \"pse36\", \"clflush\", \"dts\", \"acpi\", \"mmx\", \"fxsr\", \"sse\", \"sse2\", \"ss\", \"ht\", \"tm\", \"pbe\", \"syscall\", \"nx\", \"pdpe1gb\", \"rdtscp\", \"lm\", \"constant_tsc\", \"art\", \"arch_perfmon\", \"pebs\", \"bts\", \"rep_good\", \"nopl\", \"xtopology\", \"nonstop_tsc\", \"cpuid\", \"aperfmperf\", \"tsc_known_freq\", \"pni\", \"pclmulqdq\", \"dtes64\", \"monitor\", \"ds_cpl\", \"vmx\", \"est\", \"tm2\", \"ssse3\", \"sdbg\", \"fma\", \"cx16\", \"xtpr\", \"pdcm\", \"pcid\", \"sse4_1\", \"sse4_2\", \"x2apic\", \"movbe\", \"popcnt\", \"tsc_deadline_timer\", \"aes\", \"xsave\", \"avx\", \"f16c\", \"rdrand\", \"lahf_lm\", \"abm\", \"3dnowprefetch\", \"cpuid_fault\", \"epb\", \"cat_l2\", \"cdp_l2\", \"ssbd\", \"ibrs\", \"ibpb\", \"stibp\", \"ibrs_enhanced\", \"tpr_shadow\", \"flexpriority\", \"ept\", \"vpid\", \"ept_ad\", \"fsgsbase\", \"tsc_adjust\", \"bmi1\", \"avx2\", \"smep\", \"bmi2\", \"erms\", \"invpcid\", \"rdt_a\", \"avx512f\", \"avx512dq\", \"rdseed\", \"adx\", \"smap\", \"avx512ifma\", \"clflushopt\", \"clwb\", \"intel_pt\", \"avx512cd\", \"sha_ni\", \"avx512bw\", \"avx512vl\", \"xsaveopt\", \"xsavec\", \"xgetbv1\", \"xsaves\", \"split_lock_detect\", \"user_shstk\", \"dtherm\", \"ida\", \"arat\", \"pln\", \"pts\", \"hwp\", \"hwp_notify\", \"hwp_act_window\", \"hwp_epp\", \"hwp_pkg_req\", \"vnmi\", \"avx512vbmi\", \"umip\", \"pku\", \"ospke\", \"avx512_vbmi2\", \"gfni\", \"vaes\", \"vpclmulqdq\", \"avx512_vnni\", \"avx512_bitalg\", \"avx512_vpopcntdq\", \"rdpid\", \"movdiri\", \"movdir64b\", \"fsrm\", \"avx512_vp2intersect\", \"md_clear\", \"ibt\", \"flush_l1d\", \"arch_capabilities\"], \"ansible_processor_count\": 1, \"ansible_processor_cores\": 4, \"ansible_processor_threads_per_core\": 2, \"ansible_processor_vcpus\": 8, \"ansible_processor_nproc\": 8, \"ansible_memtotal_mb\": 31810, \"ansible_memfree_mb\": 822, \"ansible_swaptotal_mb\": 34996, \"ansible_swapfree_mb\": 31794, \"ansible_memory_mb\": {\"real\": {\"total\": 31810, \"used\": 30988, \"free\": 822}, \"nocache\": {\"free\": 18588, \"used\": 13222}, \"swap\": {\"total\": 34996, \"free\": 31794, \"used\": 3202, \"cached\": 299}}, \"ansible_bios_date\": \"02/02/2024\", \"ansible_bios_vendor\": \"LENOVO\", \"ansible_bios_version\": \"N32ET91W (1.67 )\", \"ansible_board_asset_tag\": \"Not Available\", \"ansible_board_name\": \"20XW0055GE\", \"ansible_board_serial\": \"NA\", \"ansible_board_vendor\": \"LENOVO\", \"ansible_board_version\": \"SDK0J40697 WIN\", \"ansible_chassis_asset_tag\": \"No Asset Information\", \"ansible_chassis_serial\": \"NA\", \"ansible_chassis_vendor\": \"LENOVO\", \"ansible_chassis_version\": \"None\", \"ansible_form_factor\": \"Notebook\", \"ansible_product_name\": \"20XW0055GE\", \"ansible_product_serial\": \"NA\", \"ansible_product_uuid\": \"NA\", \"ansible_product_version\": \"ThinkPad X1 Carbon Gen 9\", \"ansible_system_vendor\": \"LENOVO\", \"ansible_devices\": {\"dm-1\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"uuids\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"labels\": [\"swap\"], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 71673682, \"size\": \"34.18 GB\", \"host\": \"\", \"holders\": []}, \"nvme0n1\": {\"virtual\": 1, \"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": \"Micron MTFDKBA1T0TFH\", \"sas_address\": null, \"sas_device_handle\": null, \"serial\": \"222538DCB6A6\", \"removable\": \"0\", \"support_discard\": \"512\", \"partitions\": {\"nvme0n1p3\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"uuids\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"labels\": [], \"masters\": [\"dm-1\"]}, \"start\": \"1928719957\", \"sectorsize\": 512, \"sectors\": 71677778, \"size\": \"34.18 GB\", \"uuid\": \"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"holders\": [\"luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"]}, \"nvme0n1p1\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"uuids\": [\"71C2-949D\"], \"labels\": [], \"masters\": []}, \"start\": \"4096\", \"sectorsize\": 512, \"sectors\": 614400, \"size\": \"300.00 MB\", \"uuid\": \"71C2-949D\", \"holders\": []}, \"nvme0n1p2\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"uuids\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"labels\": [], \"masters\": [\"dm-0\"]}, \"start\": \"618496\", \"sectorsize\": 512, \"sectors\": 1928101461, \"size\": \"919.39 GB\", \"uuid\": \"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"holders\": [\"luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}}, \"rotational\": \"0\", \"scheduler_mode\": \"none\", \"sectorsize\": \"512\", \"sectors\": 2000409264, \"size\": \"953.87 GB\", \"host\": \"Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]\", \"holders\": []}, \"sdb\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS0\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"dm-0\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"uuids\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 1928097365, \"size\": \"919.39 GB\", \"host\": \"\", \"holders\": []}, \"sdc\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS1\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"sda\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"Micron\", \"model\": \"CT1000X8SSD9\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {\"sda1\": {\"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"uuids\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"labels\": [], \"masters\": []}, \"start\": \"2048\", \"sectorsize\": 512, \"sectors\": 1953521664, \"size\": \"931.51 GB\", \"uuid\": \"6fcf42f5-198f-4616-a272-430c33b22155\", \"holders\": []}}, \"rotational\": \"1\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 1953525168, \"size\": \"931.51 GB\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}}, \"ansible_device_links\": {\"ids\": {\"sdb\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"sdc\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"sda1\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"sda\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"nvme0n1p1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"nvme0n1p2\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"nvme0n1p3\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"nvme0n1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"dm-1\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-0\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}, \"uuids\": {\"sda1\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"nvme0n1p1\": [\"71C2-949D\"], \"nvme0n1p2\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"nvme0n1p3\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-1\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"dm-0\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"]}, \"labels\": {\"dm-1\": [\"swap\"]}, \"masters\": {\"nvme0n1p3\": [\"dm-1\"], \"nvme0n1p2\": [\"dm-0\"]}}, \"ansible_uptime_seconds\": 974503, \"ansible_lvm\": \"N/A\", \"ansible_mounts\": [{\"mount\": \"/\", \"device\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"fstype\": \"ext4\", \"options\": \"rw,noatime\", \"dump\": 0, \"passno\": 0, \"size_total\": 970536476672, \"size_available\": 457928400896, \"block_size\": 4096, \"block_total\": 236947382, \"block_available\": 111798926, \"block_used\": 125148456, \"inode_total\": 60260352, \"inode_available\": 57699944, \"inode_used\": 2560408, \"uuid\": \"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"}, {\"mount\": \"/boot/efi\", \"device\": \"/dev/nvme0n1p1\", \"fstype\": \"vfat\", \"options\": \"rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro\", \"dump\": 0, \"passno\": 0, \"size_total\": 313942016, \"size_available\": 313483264, \"block_size\": 4096, \"block_total\": 76646, \"block_available\": 76534, \"block_used\": 112, \"inode_total\": 0, \"inode_available\": 0, \"inode_used\": 0, \"uuid\": \"71C2-949D\"}], \"ansible_interfaces\": [\"wwan0\", \"wlan0\", \"vethc79e6dd\", \"wg0\", \"enp0s13f0u3u2c2\", \"vethaace71a\", \"lo\", \"br1\", \"br-005ea4a1de78\", \"br-490cce44238c\", \"docker0\", \"br-a049e64d05be\", \"br-ddbeb66accbb\"], \"ansible_br_ddbeb66accbb\": {\"device\": \"br-ddbeb66accbb\", \"macaddress\": \"da:9f:ca:ff:37:49\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.da9fcaff3749\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.20.0.1\", \"broadcast\": \"172.20.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.20.0.0\", \"prefix\": \"16\"}}, \"ansible_br_005ea4a1de78\": {\"device\": \"br-005ea4a1de78\", \"macaddress\": \"e6:bc:8c:f7:09:53\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.e6bc8cf70953\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.21.0.1\", \"broadcast\": \"172.21.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.21.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fc00:f853:ccd:e793::1\", \"prefix\": \"64\", \"scope\": \"global\"}]}, \"ansible_wg0\": {\"device\": \"wg0\", \"mtu\": 1420, \"active\": true, \"type\": \"tunnel\", \"promisc\": false, \"ipv4\": {\"address\": \"10.50.0.2\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"10.50.0.0\", \"prefix\": \"24\"}}, \"ansible_lo\": {\"device\": \"lo\", \"mtu\": 65536, \"active\": true, \"type\": \"loopback\", \"promisc\": false, \"ipv4\": {\"address\": \"127.0.0.1\", \"broadcast\": \"\", \"netmask\": \"255.0.0.0\", \"network\": \"127.0.0.0\", \"prefix\": \"8\"}, \"ipv6\": [{\"address\": \"::1\", \"prefix\": \"128\", \"scope\": \"host\"}]}, \"ansible_enp0s13f0u3u2c2\": {\"device\": \"enp0s13f0u3u2c2\", \"macaddress\": \"a0:ce:c8:a9:57:20\", \"mtu\": 1500, \"active\": false, \"module\": \"cdc_ncm\", \"type\": \"ether\", \"pciid\": \"2-3.2:2.0\", \"speed\": 0, \"promisc\": false}, \"ansible_br_490cce44238c\": {\"device\": \"br-490cce44238c\", \"macaddress\": \"32:bf:8b:ad:b9:17\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.32bf8badb917\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.19.0.1\", \"broadcast\": \"172.19.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.19.0.0\", \"prefix\": \"16\"}}, \"ansible_br1\": {\"device\": \"br1\", \"macaddress\": \"56:e7:2b:5c:4a:a5\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.56e72b5c4aa5\", \"stp\": false, \"speed\": -1, \"promisc\": false}, \"ansible_vethaace71a\": {\"device\": \"vethaace71a\", \"macaddress\": \"da:cb:ee:60:9e:dc\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::d8cb:eeff:fe60:9edc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_wwan0\": {\"device\": \"wwan0\", \"mtu\": 1500, \"active\": false, \"type\": \"unknown\", \"pciid\": \"wwan0\", \"promisc\": false}, \"ansible_wlan0\": {\"device\": \"wlan0\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"active\": true, \"module\": \"iwlwifi\", \"type\": \"ether\", \"pciid\": \"0000:00:14.3\", \"promisc\": false, \"ipv4\": {\"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\"}, \"ipv6\": [{\"address\": \"fe80::c603:a8ff:fe3c:a7d\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_docker0\": {\"device\": \"docker0\", \"macaddress\": \"8a:d4:d2:98:9a:fc\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethaace71a\"], \"id\": \"8000.8ad4d2989afc\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.17.0.1\", \"broadcast\": \"172.17.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.17.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::88d4:d2ff:fe98:9afc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_br_a049e64d05be\": {\"device\": \"br-a049e64d05be\", \"macaddress\": \"f2:5c:6a:9a:c2:2c\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethc79e6dd\"], \"id\": \"8000.f25c6a9ac22c\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.18.0.1\", \"broadcast\": \"172.18.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.18.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::f05c:6aff:fe9a:c22c\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_vethc79e6dd\": {\"device\": \"vethc79e6dd\", \"macaddress\": \"ee:de:03:8f:02:62\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::ecde:3ff:fe8f:262\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_default_ipv4\": {\"gateway\": \"192.168.50.1\", \"interface\": \"wlan0\", \"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"type\": \"ether\", \"alias\": \"wlan0\"}, \"ansible_default_ipv6\": {}, \"ansible_all_ipv4_addresses\": [\"172.20.0.1\", \"172.21.0.1\", \"10.50.0.2\", \"172.19.0.1\", \"192.168.50.177\", \"172.17.0.1\", \"172.18.0.1\"], \"ansible_all_ipv6_addresses\": [\"fc00:f853:ccd:e793::1\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::f05c:6aff:fe9a:c22c\", \"fe80::ecde:3ff:fe8f:262\"], \"ansible_locally_reachable_ips\": {\"ipv4\": [\"10.50.0.2\", \"127.0.0.0/8\", \"127.0.0.1\", \"172.17.0.1\", \"172.18.0.1\", \"172.19.0.1\", \"172.20.0.1\", \"172.21.0.1\", \"192.168.50.177\"], \"ipv6\": [\"::1\", \"fc00:f853:ccd:e793::1\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::ecde:3ff:fe8f:262\", \"fe80::f05c:6aff:fe9a:c22c\"]}, \"ansible_service_mgr\": \"systemd\", \"ansible_fips\": false, \"ansible_env\": {\"SHELL\": \"/usr/bin/zsh\", \"LSCOLORS\": \"Gxfxcxdxbxegedabagacad\", \"SESSION_MANAGER\": \"local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271\", \"WINDOWID\": \"125829134\", \"QT_SCREEN_SCALE_FACTORS\": \"eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;\", \"COLORTERM\": \"truecolor\", \"XDG_CONFIG_DIRS\": \"/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg\", \"LESS\": \"-R\", \"XDG_SESSION_PATH\": \"/org/freedesktop/DisplayManager/Session1\", \"ANSIBLE_CACHE_PLUGIN\": \"jsonfile\", \"XDG_MENU_PREFIX\": \"plasma-\", \"TERM_PROGRAM_VERSION\": \"3.5a\", \"ZSH_TMUX_AUTOSTARTED\": \"true\", \"TMUX\": \"/tmp/tmux-1000/default,24818,0\", \"ICEAUTHORITY\": \"/run/user/1000/iceauth_WaGeTh\", \"LANGUAGE\": \"\", \"LC_ADDRESS\": \"de_DE.UTF-8\", \"LC_NAME\": \"de_DE.UTF-8\", \"SSH_AUTH_SOCK\": \"/tmp/ssh-XXXXXXPl66DT/agent.24865\", \"SHELL_SESSION_ID\": \"98a52bd5e1df44edb315d4c1da162224\", \"MEMORY_PRESSURE_WRITE\": \"c29tZSAyMDAwMDAgMjAwMDAwMAA=\", \"DESKTOP_SESSION\": \"plasma\", \"LC_MONETARY\": \"de_DE.UTF-8\", \"SSH_AGENT_PID\": \"24872\", \"GTK_RC_FILES\": \"/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc\", \"EDITOR\": \"mvim\", \"GTK_MODULES\": \"canberra-gtk-module\", \"XDG_SEAT\": \"seat0\", \"PWD\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play\", \"LOGNAME\": \"jonnybravo\", \"XDG_SESSION_DESKTOP\": \"KDE\", \"RUNNER_ONLY_FAILED_EVENTS\": \"False\", \"XDG_SESSION_TYPE\": \"x11\", \"SYSTEMD_EXEC_PID\": \"1307\", \"_\": \"/usr/bin/python\", \"XAUTHORITY\": \"/tmp/xauth_MViPvJ\", \"AWX_ISOLATED_DATA_DIR\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994\", \"MOTD_SHOWN\": \"pam\", \"CDPATH\": \"/home/jonnybravo/:/home/jonnybravo/Projekte\", \"GTK2_RC_FILES\": \"/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0\", \"HOME\": \"/home/jonnybravo\", \"LANG\": \"de_DE.UTF-8\", \"LC_PAPER\": \"de_DE.UTF-8\", \"LS_COLORS\": \"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:\", \"XDG_CURRENT_DESKTOP\": \"KDE\", \"KONSOLE_DBUS_SERVICE\": \":1.142\", \"_ZSH_TMUX_FIXED_CONFIG\": \"/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf\", \"VIRTUAL_ENV\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13\", \"MEMORY_PRESSURE_WATCH\": \"/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure\", \"KONSOLE_DBUS_SESSION\": \"/Sessions/1\", \"PROFILEHOME\": \"\", \"XDG_SEAT_PATH\": \"/org/freedesktop/DisplayManager/Seat0\", \"ANSIBLE_STDOUT_CALLBACK\": \"awx_display\", \"ANSIBLE_CALLBACK_PLUGINS\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback\", \"INVOCATION_ID\": \"b7649f07995d41ef80f4f9a09d6df65a\", \"KONSOLE_VERSION\": \"250403\", \"MANAGERPID\": \"1157\", \"KDE_SESSION_UID\": \"1000\", \"ANSIBLE_CACHE_PLUGIN_CONNECTION\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/fact_cache\", \"XDG_SESSION_CLASS\": \"user\", \"PYTHONPATH\": \":/home/jonnybravo/python-module:/home/jonnybravo/python-module\", \"LC_IDENTIFICATION\": \"de_DE.UTF-8\", \"TERM\": \"tmux-256color\", \"ZSH\": \"/home/jonnybravo/.oh-my-zsh\", \"USER\": \"jonnybravo\", \"TMUX_PANE\": \"%0\", \"COLORFGBG\": \"0;15\", \"QT_WAYLAND_RECONNECT\": \"1\", \"KDE_SESSION_VERSION\": \"6\", \"PAM_KWALLET5_LOGIN\": \"/run/user/1000/kwallet5.socket\", \"DISPLAY\": \":0\", \"SHLVL\": \"4\", \"PAGER\": \"less\", \"LC_TELEPHONE\": \"de_DE.UTF-8\", \"LC_MEASUREMENT\": \"de_DE.UTF-8\", \"XDG_VTNR\": \"2\", \"RUNNER_OMIT_EVENTS\": \"False\", \"ANSIBLE_RETRY_FILES_ENABLED\": \"False\", \"XDG_SESSION_ID\": \"2\", \"QT_LINUX_ACCESSIBILITY_ALWAYS_ON\": \"1\", \"XDG_RUNTIME_DIR\": \"/run/user/1000\", \"ZSH_TMUX_TERM\": \"tmux-256color\", \"DEBUGINFOD_URLS\": \"https://debuginfod.archlinux.org \", \"LC_TIME\": \"de_DE.UTF-8\", \"QT_AUTO_SCREEN_SCALE_FACTOR\": \"0\", \"ANSIBLE_HOST_KEY_CHECKING\": \"False\", \"JOURNAL_STREAM\": \"9:930\", \"GTK3_MODULES\": \"xapp-gtk3-module\", \"XDG_DATA_DIRS\": \"/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share\", \"KDE_FULL_SESSION\": \"true\", \"PATH\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin\", \"DBUS_SESSION_BUS_ADDRESS\": \"unix:path=/run/user/1000/bus\", \"KDE_APPLICATIONS_AS_SCOPE\": \"1\", \"MAIL\": \"/var/spool/mail/jonnybravo\", \"LC_NUMERIC\": \"de_DE.UTF-8\", \"OLDPWD\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible\", \"TERM_PROGRAM\": \"tmux\", \"KONSOLE_DBUS_WINDOW\": \"/Windows/1\"}, \"gather_subset\": [\"all\"], \"module_setup\": true, \"_ansible_facts_gathered\": true}"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/1-ad6f46a1-dab9-4683-9083-ddd461acb8ba.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/1-ad6f46a1-dab9-4683-9083-ddd461acb8ba.json new file mode 100644 index 0000000..38cffdb --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/1-ad6f46a1-dab9-4683-9083-ddd461acb8ba.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "ad6f46a1-dab9-4683-9083-ddd461acb8ba", "counter": 1, "stdout": "\u001b[1;35m[WARNING]: No inventory was parsed, only implicit localhost is available\u001b[0m", "start_line": 0, "end_line": 1, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "created": "2025-08-29T13:47:48.946761+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/10-7d3ddbba-7e61-4dcd-b5ea-177985863b14.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/10-7d3ddbba-7e61-4dcd-b5ea-177985863b14.json new file mode 100644 index 0000000..7e1810b --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/10-7d3ddbba-7e61-4dcd-b5ea-177985863b14.json @@ -0,0 +1 @@ +{"uuid": "7d3ddbba-7e61-4dcd-b5ea-177985863b14", "counter": 10, "stdout": "\u001b[0;32mok: [localhost] => {\u001b[0m\r\n\u001b[0;32m \"msg\": \"Hello Ansible World\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m", "start_line": 9, "end_line": 12, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "runner_on_ok", "pid": 898221, "created": "2025-08-29T13:47:50.458632+00:00", "parent_uuid": "c403a83c-0a7d-9960-2310-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9960-2310-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-9960-2310-000000000003", "task_action": "debug", "resolved_action": "ansible.builtin.debug", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"msg": "Hello Ansible World", "_ansible_verbose_always": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T13:47:50.449895+00:00", "end": "2025-08-29T13:47:50.458374+00:00", "duration": 0.008479, "event_loop": null, "uuid": "7d3ddbba-7e61-4dcd-b5ea-177985863b14"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/11-62d02f82-08db-492c-9483-8d93358a05be.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/11-62d02f82-08db-492c-9483-8d93358a05be.json new file mode 100644 index 0000000..afc6251 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/11-62d02f82-08db-492c-9483-8d93358a05be.json @@ -0,0 +1 @@ +{"uuid": "62d02f82-08db-492c-9483-8d93358a05be", "counter": 11, "stdout": "\r\nPLAY RECAP *********************************************************************\r\n\u001b[0;32mlocalhost\u001b[0m : \u001b[0;32mok=2 \u001b[0m changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ", "start_line": 12, "end_line": 16, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "playbook_on_stats", "pid": 898221, "created": "2025-08-29T13:47:50.459807+00:00", "parent_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "changed": {}, "dark": {}, "failures": {}, "ignored": {}, "ok": {"localhost": 2}, "processed": {"localhost": 1}, "rescued": {}, "skipped": {}, "artifact_data": {}, "uuid": "62d02f82-08db-492c-9483-8d93358a05be"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/2-99ea232e-0942-4238-8bd2-505ee5c9e351.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/2-99ea232e-0942-4238-8bd2-505ee5c9e351.json new file mode 100644 index 0000000..1d724ff --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/2-99ea232e-0942-4238-8bd2-505ee5c9e351.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "99ea232e-0942-4238-8bd2-505ee5c9e351", "counter": 2, "stdout": "\u001b[1;35m[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\u001b[0m", "start_line": 1, "end_line": 2, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "created": "2025-08-29T13:47:48.950812+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/3-99a98f6a-089c-42d6-a19e-ed425ba92078.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/3-99a98f6a-089c-42d6-a19e-ed425ba92078.json new file mode 100644 index 0000000..753e72e --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/3-99a98f6a-089c-42d6-a19e-ed425ba92078.json @@ -0,0 +1 @@ +{"uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "counter": 3, "stdout": "", "start_line": 2, "end_line": 2, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "playbook_on_start", "pid": 898221, "created": "2025-08-29T13:47:49.013875+00:00", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/4-c403a83c-0a7d-9960-2310-000000000001.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/4-c403a83c-0a7d-9960-2310-000000000001.json new file mode 100644 index 0000000..529342d --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/4-c403a83c-0a7d-9960-2310-000000000001.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-9960-2310-000000000001", "counter": 4, "stdout": "\r\nPLAY [Simple playbook] *********************************************************", "start_line": 2, "end_line": 4, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "playbook_on_play_start", "pid": 898221, "created": "2025-08-29T13:47:49.015282+00:00", "parent_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9960-2310-000000000001", "play_pattern": "localhost", "name": "Simple playbook", "pattern": "localhost", "uuid": "c403a83c-0a7d-9960-2310-000000000001"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/5-c403a83c-0a7d-9960-2310-000000000008.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/5-c403a83c-0a7d-9960-2310-000000000008.json new file mode 100644 index 0000000..d26de61 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/5-c403a83c-0a7d-9960-2310-000000000008.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-9960-2310-000000000008", "counter": 5, "stdout": "\r\nTASK [Gathering Facts] *********************************************************", "start_line": 4, "end_line": 6, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "playbook_on_task_start", "pid": 898221, "created": "2025-08-29T13:47:49.020611+00:00", "parent_uuid": "c403a83c-0a7d-9960-2310-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9960-2310-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-9960-2310-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "name": "Gathering Facts", "is_conditional": false, "uuid": "c403a83c-0a7d-9960-2310-000000000008"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/6-cfd400a6-69ce-4d3c-8e38-b75c0a9ffbfc.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/6-cfd400a6-69ce-4d3c-8e38-b75c0a9ffbfc.json new file mode 100644 index 0000000..1a4d37e --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/6-cfd400a6-69ce-4d3c-8e38-b75c0a9ffbfc.json @@ -0,0 +1 @@ +{"uuid": "cfd400a6-69ce-4d3c-8e38-b75c0a9ffbfc", "counter": 6, "stdout": "", "start_line": 6, "end_line": 6, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "runner_on_start", "pid": 898221, "created": "2025-08-29T13:47:49.021050+00:00", "parent_uuid": "c403a83c-0a7d-9960-2310-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9960-2310-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-9960-2310-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "uuid": "cfd400a6-69ce-4d3c-8e38-b75c0a9ffbfc"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/7-7ba2e323-ab48-4cd9-90d0-35f22f9d2e60.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/7-7ba2e323-ab48-4cd9-90d0-35f22f9d2e60.json new file mode 100644 index 0000000..5cf08c3 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/7-7ba2e323-ab48-4cd9-90d0-35f22f9d2e60.json @@ -0,0 +1 @@ +{"uuid": "7ba2e323-ab48-4cd9-90d0-35f22f9d2e60", "counter": 7, "stdout": "\u001b[0;32mok: [localhost]\u001b[0m", "start_line": 6, "end_line": 7, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "runner_on_ok", "pid": 898221, "created": "2025-08-29T13:47:50.445452+00:00", "parent_uuid": "c403a83c-0a7d-9960-2310-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9960-2310-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-9960-2310-000000000008", "task_action": "gather_facts", "resolved_action": "ansible.builtin.gather_facts", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"ansible_facts": {"ansible_loadavg": {"1m": 0.37548828125, "5m": 0.4931640625, "15m": 0.65380859375}, "ansible_user_id": "jonnybravo", "ansible_user_uid": 1000, "ansible_user_gid": 1000, "ansible_user_gecos": "Jonny Bravo", "ansible_user_dir": "/home/jonnybravo", "ansible_user_shell": "/usr/bin/zsh", "ansible_real_user_id": 1000, "ansible_effective_user_id": 1000, "ansible_real_group_id": 1000, "ansible_effective_group_id": 1000, "ansible_selinux": {"status": "Missing selinux Python library"}, "ansible_selinux_python_present": false, "ansible_date_time": {"year": "2025", "month": "08", "weekday": "Freitag", "weekday_number": "5", "weeknumber": "34", "day": "29", "hour": "15", "minute": "47", "second": "49", "epoch": "1756475269", "epoch_int": "1756475269", "date": "2025-08-29", "time": "15:47:49", "iso8601_micro": "2025-08-29T13:47:49.461010Z", "iso8601": "2025-08-29T13:47:49Z", "iso8601_basic": "20250829T154749461010", "iso8601_basic_short": "20250829T154749", "tz": "CEST", "tz_dst": "CEST", "tz_offset": "+0200"}, "ansible_systemd": {"features": "+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE", "version": 257}, "ansible_virtualization_type": "kvm", "ansible_virtualization_role": "host", "ansible_virtualization_tech_guest": [], "ansible_virtualization_tech_host": ["kvm", "virtualbox"], "ansible_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_proc_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": ["UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4", "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_dns": {"nameservers": ["127.0.0.53"], "options": {"edns0": true, "trust-ad": true}, "search": ["speedport.ip"]}, "ansible_distribution": "Archlinux", "ansible_distribution_release": "Zetar", "ansible_distribution_version": "25.0.7", "ansible_distribution_major_version": "25", "ansible_distribution_file_path": "/etc/arch-release", "ansible_distribution_file_variety": "Archlinux", "ansible_os_family": "Archlinux", "ansible_apparmor": {"status": "disabled"}, "ansible_hostnqn": "", "ansible_system": "Linux", "ansible_kernel": "6.15.9-2-MANJARO", "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000", "ansible_machine": "x86_64", "ansible_python_version": "3.13.5", "ansible_fqdn": "man-dan-01", "ansible_hostname": "man-dan-01", "ansible_nodename": "man-dan-01", "ansible_domain": "", "ansible_userspace_bits": "64", "ansible_architecture": "x86_64", "ansible_userspace_architecture": "x86_64", "ansible_machine_id": "fbf39be8eb7d4a7bbdc688dda54c0404", "ansible_lsb": {"release": "25.0.7", "id": "ManjaroLinux", "description": "Manjaro Linux", "codename": "Zetar", "major_release": "25"}, "ansible_is_chroot": false, "ansible_fibre_channel_wwn": [], "ansible_system_capabilities_enforced": "True", "ansible_system_capabilities": ["i"], "ansible_iscsi_iqn": "", "ansible_pkg_mgr": "pacman", "ansible_python": {"version": {"major": 3, "minor": 13, "micro": 5, "releaselevel": "final", "serial": 0}, "version_info": [3, 13, 5, "final", 0], "executable": "/usr/bin/python", "has_sslcontext": true, "type": "cpython"}, "ansible_local": {}, "ansible_processor": ["0", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "1", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "2", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "3", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "4", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "5", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "6", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "7", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz"], "ansible_flags": ["fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", "cx8", "apic", "sep", "mtrr", "pge", "mca", "cmov", "pat", "pse36", "clflush", "dts", "acpi", "mmx", "fxsr", "sse", "sse2", "ss", "ht", "tm", "pbe", "syscall", "nx", "pdpe1gb", "rdtscp", "lm", "constant_tsc", "art", "arch_perfmon", "pebs", "bts", "rep_good", "nopl", "xtopology", "nonstop_tsc", "cpuid", "aperfmperf", "tsc_known_freq", "pni", "pclmulqdq", "dtes64", "monitor", "ds_cpl", "vmx", "est", "tm2", "ssse3", "sdbg", "fma", "cx16", "xtpr", "pdcm", "pcid", "sse4_1", "sse4_2", "x2apic", "movbe", "popcnt", "tsc_deadline_timer", "aes", "xsave", "avx", "f16c", "rdrand", "lahf_lm", "abm", "3dnowprefetch", "cpuid_fault", "epb", "cat_l2", "cdp_l2", "ssbd", "ibrs", "ibpb", "stibp", "ibrs_enhanced", "tpr_shadow", "flexpriority", "ept", "vpid", "ept_ad", "fsgsbase", "tsc_adjust", "bmi1", "avx2", "smep", "bmi2", "erms", "invpcid", "rdt_a", "avx512f", "avx512dq", "rdseed", "adx", "smap", "avx512ifma", "clflushopt", "clwb", "intel_pt", "avx512cd", "sha_ni", "avx512bw", "avx512vl", "xsaveopt", "xsavec", "xgetbv1", "xsaves", "split_lock_detect", "user_shstk", "dtherm", "ida", "arat", "pln", "pts", "hwp", "hwp_notify", "hwp_act_window", "hwp_epp", "hwp_pkg_req", "vnmi", "avx512vbmi", "umip", "pku", "ospke", "avx512_vbmi2", "gfni", "vaes", "vpclmulqdq", "avx512_vnni", "avx512_bitalg", "avx512_vpopcntdq", "rdpid", "movdiri", "movdir64b", "fsrm", "avx512_vp2intersect", "md_clear", "ibt", "flush_l1d", "arch_capabilities"], "ansible_processor_count": 1, "ansible_processor_cores": 4, "ansible_processor_threads_per_core": 2, "ansible_processor_vcpus": 8, "ansible_processor_nproc": 8, "ansible_memtotal_mb": 31810, "ansible_memfree_mb": 822, "ansible_swaptotal_mb": 34996, "ansible_swapfree_mb": 31794, "ansible_memory_mb": {"real": {"total": 31810, "used": 30988, "free": 822}, "nocache": {"free": 18588, "used": 13222}, "swap": {"total": 34996, "free": 31794, "used": 3202, "cached": 299}}, "ansible_bios_date": "02/02/2024", "ansible_bios_vendor": "LENOVO", "ansible_bios_version": "N32ET91W (1.67 )", "ansible_board_asset_tag": "Not Available", "ansible_board_name": "20XW0055GE", "ansible_board_serial": "NA", "ansible_board_vendor": "LENOVO", "ansible_board_version": "SDK0J40697 WIN", "ansible_chassis_asset_tag": "No Asset Information", "ansible_chassis_serial": "NA", "ansible_chassis_vendor": "LENOVO", "ansible_chassis_version": "None", "ansible_form_factor": "Notebook", "ansible_product_name": "20XW0055GE", "ansible_product_serial": "NA", "ansible_product_uuid": "NA", "ansible_product_version": "ThinkPad X1 Carbon Gen 9", "ansible_system_vendor": "LENOVO", "ansible_devices": {"dm-1": {"virtual": 1, "links": {"ids": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "uuids": ["fa8cc308-7de8-418e-9791-09265567d62f"], "labels": ["swap"], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 71673682, "size": "34.18 GB", "host": "", "holders": []}, "nvme0n1": {"virtual": 1, "links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "uuids": [], "labels": [], "masters": []}, "vendor": null, "model": "Micron MTFDKBA1T0TFH", "sas_address": null, "sas_device_handle": null, "serial": "222538DCB6A6", "removable": "0", "support_discard": "512", "partitions": {"nvme0n1p3": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "uuids": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "labels": [], "masters": ["dm-1"]}, "start": "1928719957", "sectorsize": 512, "sectors": 71677778, "size": "34.18 GB", "uuid": "e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "holders": ["luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"]}, "nvme0n1p1": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "uuids": ["71C2-949D"], "labels": [], "masters": []}, "start": "4096", "sectorsize": 512, "sectors": 614400, "size": "300.00 MB", "uuid": "71C2-949D", "holders": []}, "nvme0n1p2": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "uuids": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "labels": [], "masters": ["dm-0"]}, "start": "618496", "sectorsize": 512, "sectors": 1928101461, "size": "919.39 GB", "uuid": "9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "holders": ["luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}}, "rotational": "0", "scheduler_mode": "none", "sectorsize": "512", "sectors": 2000409264, "size": "953.87 GB", "host": "Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]", "holders": []}, "sdb": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS0", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "dm-0": {"virtual": 1, "links": {"ids": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "uuids": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"], "labels": [], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 1928097365, "size": "919.39 GB", "host": "", "holders": []}, "sdc": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS1", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "sda": {"virtual": 1, "links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "Micron", "model": "CT1000X8SSD9", "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {"sda1": {"links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "uuids": ["6fcf42f5-198f-4616-a272-430c33b22155"], "labels": [], "masters": []}, "start": "2048", "sectorsize": 512, "sectors": 1953521664, "size": "931.51 GB", "uuid": "6fcf42f5-198f-4616-a272-430c33b22155", "holders": []}}, "rotational": "1", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 1953525168, "size": "931.51 GB", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}}, "ansible_device_links": {"ids": {"sdb": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "sdc": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "sda1": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "sda": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "nvme0n1p1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "nvme0n1p2": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "nvme0n1p3": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "nvme0n1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "dm-1": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-0": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}, "uuids": {"sda1": ["6fcf42f5-198f-4616-a272-430c33b22155"], "nvme0n1p1": ["71C2-949D"], "nvme0n1p2": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "nvme0n1p3": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-1": ["fa8cc308-7de8-418e-9791-09265567d62f"], "dm-0": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"]}, "labels": {"dm-1": ["swap"]}, "masters": {"nvme0n1p3": ["dm-1"], "nvme0n1p2": ["dm-0"]}}, "ansible_uptime_seconds": 974503, "ansible_lvm": "N/A", "ansible_mounts": [{"mount": "/", "device": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "fstype": "ext4", "options": "rw,noatime", "dump": 0, "passno": 0, "size_total": 970536476672, "size_available": 457928400896, "block_size": 4096, "block_total": 236947382, "block_available": 111798926, "block_used": 125148456, "inode_total": 60260352, "inode_available": 57699944, "inode_used": 2560408, "uuid": "38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"}, {"mount": "/boot/efi", "device": "/dev/nvme0n1p1", "fstype": "vfat", "options": "rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro", "dump": 0, "passno": 0, "size_total": 313942016, "size_available": 313483264, "block_size": 4096, "block_total": 76646, "block_available": 76534, "block_used": 112, "inode_total": 0, "inode_available": 0, "inode_used": 0, "uuid": "71C2-949D"}], "ansible_interfaces": ["wwan0", "wlan0", "vethc79e6dd", "wg0", "enp0s13f0u3u2c2", "vethaace71a", "lo", "br1", "br-005ea4a1de78", "br-490cce44238c", "docker0", "br-a049e64d05be", "br-ddbeb66accbb"], "ansible_br_ddbeb66accbb": {"device": "br-ddbeb66accbb", "macaddress": "da:9f:ca:ff:37:49", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.da9fcaff3749", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.20.0.1", "broadcast": "172.20.255.255", "netmask": "255.255.0.0", "network": "172.20.0.0", "prefix": "16"}}, "ansible_br_005ea4a1de78": {"device": "br-005ea4a1de78", "macaddress": "e6:bc:8c:f7:09:53", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.e6bc8cf70953", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.21.0.1", "broadcast": "172.21.255.255", "netmask": "255.255.0.0", "network": "172.21.0.0", "prefix": "16"}, "ipv6": [{"address": "fc00:f853:ccd:e793::1", "prefix": "64", "scope": "global"}]}, "ansible_wg0": {"device": "wg0", "mtu": 1420, "active": true, "type": "tunnel", "promisc": false, "ipv4": {"address": "10.50.0.2", "broadcast": "", "netmask": "255.255.255.0", "network": "10.50.0.0", "prefix": "24"}}, "ansible_lo": {"device": "lo", "mtu": 65536, "active": true, "type": "loopback", "promisc": false, "ipv4": {"address": "127.0.0.1", "broadcast": "", "netmask": "255.0.0.0", "network": "127.0.0.0", "prefix": "8"}, "ipv6": [{"address": "::1", "prefix": "128", "scope": "host"}]}, "ansible_enp0s13f0u3u2c2": {"device": "enp0s13f0u3u2c2", "macaddress": "a0:ce:c8:a9:57:20", "mtu": 1500, "active": false, "module": "cdc_ncm", "type": "ether", "pciid": "2-3.2:2.0", "speed": 0, "promisc": false}, "ansible_br_490cce44238c": {"device": "br-490cce44238c", "macaddress": "32:bf:8b:ad:b9:17", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.32bf8badb917", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.19.0.1", "broadcast": "172.19.255.255", "netmask": "255.255.0.0", "network": "172.19.0.0", "prefix": "16"}}, "ansible_br1": {"device": "br1", "macaddress": "56:e7:2b:5c:4a:a5", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.56e72b5c4aa5", "stp": false, "speed": -1, "promisc": false}, "ansible_vethaace71a": {"device": "vethaace71a", "macaddress": "da:cb:ee:60:9e:dc", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::d8cb:eeff:fe60:9edc", "prefix": "64", "scope": "link"}]}, "ansible_wwan0": {"device": "wwan0", "mtu": 1500, "active": false, "type": "unknown", "pciid": "wwan0", "promisc": false}, "ansible_wlan0": {"device": "wlan0", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "active": true, "module": "iwlwifi", "type": "ether", "pciid": "0000:00:14.3", "promisc": false, "ipv4": {"address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24"}, "ipv6": [{"address": "fe80::c603:a8ff:fe3c:a7d", "prefix": "64", "scope": "link"}]}, "ansible_docker0": {"device": "docker0", "macaddress": "8a:d4:d2:98:9a:fc", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethaace71a"], "id": "8000.8ad4d2989afc", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.17.0.1", "broadcast": "172.17.255.255", "netmask": "255.255.0.0", "network": "172.17.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::88d4:d2ff:fe98:9afc", "prefix": "64", "scope": "link"}]}, "ansible_br_a049e64d05be": {"device": "br-a049e64d05be", "macaddress": "f2:5c:6a:9a:c2:2c", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethc79e6dd"], "id": "8000.f25c6a9ac22c", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.18.0.1", "broadcast": "172.18.255.255", "netmask": "255.255.0.0", "network": "172.18.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::f05c:6aff:fe9a:c22c", "prefix": "64", "scope": "link"}]}, "ansible_vethc79e6dd": {"device": "vethc79e6dd", "macaddress": "ee:de:03:8f:02:62", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::ecde:3ff:fe8f:262", "prefix": "64", "scope": "link"}]}, "ansible_default_ipv4": {"gateway": "192.168.50.1", "interface": "wlan0", "address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "type": "ether", "alias": "wlan0"}, "ansible_default_ipv6": {}, "ansible_all_ipv4_addresses": ["172.20.0.1", "172.21.0.1", "10.50.0.2", "172.19.0.1", "192.168.50.177", "172.17.0.1", "172.18.0.1"], "ansible_all_ipv6_addresses": ["fc00:f853:ccd:e793::1", "fe80::d8cb:eeff:fe60:9edc", "fe80::c603:a8ff:fe3c:a7d", "fe80::88d4:d2ff:fe98:9afc", "fe80::f05c:6aff:fe9a:c22c", "fe80::ecde:3ff:fe8f:262"], "ansible_locally_reachable_ips": {"ipv4": ["10.50.0.2", "127.0.0.0/8", "127.0.0.1", "172.17.0.1", "172.18.0.1", "172.19.0.1", "172.20.0.1", "172.21.0.1", "192.168.50.177"], "ipv6": ["::1", "fc00:f853:ccd:e793::1", "fe80::88d4:d2ff:fe98:9afc", "fe80::c603:a8ff:fe3c:a7d", "fe80::d8cb:eeff:fe60:9edc", "fe80::ecde:3ff:fe8f:262", "fe80::f05c:6aff:fe9a:c22c"]}, "ansible_service_mgr": "systemd", "ansible_fips": false, "gather_subset": ["all"], "module_setup": true}, "_ansible_verbose_override": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T13:47:49.021011+00:00", "end": "2025-08-29T13:47:50.445343+00:00", "duration": 1.424332, "event_loop": null, "uuid": "7ba2e323-ab48-4cd9-90d0-35f22f9d2e60"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/8-c403a83c-0a7d-9960-2310-000000000003.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/8-c403a83c-0a7d-9960-2310-000000000003.json new file mode 100644 index 0000000..aecfa33 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/8-c403a83c-0a7d-9960-2310-000000000003.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-9960-2310-000000000003", "counter": 8, "stdout": "\r\nTASK [Print message] ***********************************************************", "start_line": 7, "end_line": 9, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "playbook_on_task_start", "pid": 898221, "created": "2025-08-29T13:47:50.449363+00:00", "parent_uuid": "c403a83c-0a7d-9960-2310-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9960-2310-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-9960-2310-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "name": "Print message", "is_conditional": false, "uuid": "c403a83c-0a7d-9960-2310-000000000003"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/9-0f3383fe-bf86-410a-944d-8de2101092b7.json b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/9-0f3383fe-bf86-410a-944d-8de2101092b7.json new file mode 100644 index 0000000..f443620 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/job_events/9-0f3383fe-bf86-410a-944d-8de2101092b7.json @@ -0,0 +1 @@ +{"uuid": "0f3383fe-bf86-410a-944d-8de2101092b7", "counter": 9, "stdout": "", "start_line": 9, "end_line": 9, "runner_ident": "cecc2a8d-546f-48e0-acd9-4c3d36c73994", "event": "runner_on_start", "pid": 898221, "created": "2025-08-29T13:47:50.449938+00:00", "parent_uuid": "c403a83c-0a7d-9960-2310-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "99a98f6a-089c-42d6-a19e-ed425ba92078", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9960-2310-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-9960-2310-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "uuid": "0f3383fe-bf86-410a-944d-8de2101092b7"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/rc b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/rc new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/rc @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/status b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/status new file mode 100644 index 0000000..a44f01d --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/status @@ -0,0 +1 @@ +successful \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/stderr b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/stderr new file mode 100644 index 0000000..e69de29 diff --git a/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/stdout b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/stdout new file mode 100644 index 0000000..f6311de --- /dev/null +++ b/play_ansible/run_play/play/artifacts/cecc2a8d-546f-48e0-acd9-4c3d36c73994/stdout @@ -0,0 +1,15 @@ +[WARNING]: No inventory was parsed, only implicit localhost is available +[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' + +PLAY [Simple playbook] ********************************************************* + +TASK [Gathering Facts] ********************************************************* +ok: [localhost] + +TASK [Print message] *********************************************************** +ok: [localhost] => { + "msg": "Hello Ansible World" +} + +PLAY RECAP ********************************************************************* +localhost : ok=2  changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/command b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/command new file mode 100644 index 0000000..0662bb1 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/command @@ -0,0 +1 @@ +{"command": ["ansible-playbook", "playbook.yml"], "cwd": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play", "env": {"COLORFGBG": "0;15", "COLORTERM": "truecolor", "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus", "DEBUGINFOD_URLS": "https://debuginfod.archlinux.org ", "DESKTOP_SESSION": "plasma", "DISPLAY": ":0", "GTK2_RC_FILES": "/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0", "GTK3_MODULES": "xapp-gtk3-module", "GTK_MODULES": "canberra-gtk-module", "GTK_RC_FILES": "/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc", "HOME": "/home/jonnybravo", "ICEAUTHORITY": "/run/user/1000/iceauth_WaGeTh", "INVOCATION_ID": "b7649f07995d41ef80f4f9a09d6df65a", "JOURNAL_STREAM": "9:930", "KDE_APPLICATIONS_AS_SCOPE": "1", "KDE_FULL_SESSION": "true", "KDE_SESSION_UID": "1000", "KDE_SESSION_VERSION": "6", "KONSOLE_DBUS_SERVICE": ":1.142", "KONSOLE_DBUS_SESSION": "/Sessions/1", "KONSOLE_DBUS_WINDOW": "/Windows/1", "KONSOLE_VERSION": "250403", "LANG": "de_DE.UTF-8", "LANGUAGE": "", "LC_ADDRESS": "de_DE.UTF-8", "LC_IDENTIFICATION": "de_DE.UTF-8", "LC_MEASUREMENT": "de_DE.UTF-8", "LC_MONETARY": "de_DE.UTF-8", "LC_NAME": "de_DE.UTF-8", "LC_NUMERIC": "de_DE.UTF-8", "LC_PAPER": "de_DE.UTF-8", "LC_TELEPHONE": "de_DE.UTF-8", "LC_TIME": "de_DE.UTF-8", "LESS": "-R", "LOGNAME": "jonnybravo", "LSCOLORS": "Gxfxcxdxbxegedabagacad", "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:", "MAIL": "/var/spool/mail/jonnybravo", "MANAGERPID": "1157", "MEMORY_PRESSURE_WATCH": "/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure", "MEMORY_PRESSURE_WRITE": "c29tZSAyMDAwMDAgMjAwMDAwMAA=", "MOTD_SHOWN": "pam", "OLDPWD": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible", "PAGER": "less", "PAM_KWALLET5_LOGIN": "/run/user/1000/kwallet5.socket", "PATH": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin", "PROFILEHOME": "", "PWD": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play", "QT_AUTO_SCREEN_SCALE_FACTOR": "0", "QT_LINUX_ACCESSIBILITY_ALWAYS_ON": "1", "QT_SCREEN_SCALE_FACTORS": "eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;", "QT_WAYLAND_RECONNECT": "1", "SESSION_MANAGER": "local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271", "SHELL": "/usr/bin/zsh", "SHELL_SESSION_ID": "98a52bd5e1df44edb315d4c1da162224", "SHLVL": "3", "SYSTEMD_EXEC_PID": "1307", "TERM": "tmux-256color", "TERM_PROGRAM": "tmux", "TERM_PROGRAM_VERSION": "3.5a", "TMUX": "/tmp/tmux-1000/default,24818,0", "TMUX_PANE": "%0", "USER": "jonnybravo", "WINDOWID": "125829134", "XAUTHORITY": "/tmp/xauth_MViPvJ", "XDG_CONFIG_DIRS": "/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg", "XDG_CURRENT_DESKTOP": "KDE", "XDG_DATA_DIRS": "/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share", "XDG_MENU_PREFIX": "plasma-", "XDG_RUNTIME_DIR": "/run/user/1000", "XDG_SEAT": "seat0", "XDG_SEAT_PATH": "/org/freedesktop/DisplayManager/Seat0", "XDG_SESSION_CLASS": "user", "XDG_SESSION_DESKTOP": "KDE", "XDG_SESSION_ID": "2", "XDG_SESSION_PATH": "/org/freedesktop/DisplayManager/Session1", "XDG_SESSION_TYPE": "x11", "XDG_VTNR": "2", "ZSH": "/home/jonnybravo/.oh-my-zsh", "ZSH_TMUX_AUTOSTARTED": "true", "ZSH_TMUX_TERM": "tmux-256color", "_": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin/python", "_ZSH_TMUX_FIXED_CONFIG": "/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf", "SSH_AUTH_SOCK": "/tmp/ssh-XXXXXXPl66DT/agent.24865", "SSH_AGENT_PID": "24872", "EDITOR": "mvim", "PYTHONPATH": ":/home/jonnybravo/python-module:/home/jonnybravo/python-module", "CDPATH": "/home/jonnybravo/:/home/jonnybravo/Projekte", "VIRTUAL_ENV": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13", "VIRTUAL_ENV_PROMPT": "run-ansible-play-py3.13", "PS1": "(run-ansible-play-py3.13) ╭─$(conda_prompt_info)%B%(!.%{\u001b[31m%}.%{\u001b[32m%})%n@%m%{\u001b[00m%} %B%{\u001b[34m%}%~ %{\u001b[00m%}$(ruby_prompt_info)$(git_prompt_info)$(hg_prompt_info)$(virtualenv_prompt_info)\n╰─%B%(!.#.$)%b ", "ANSIBLE_CALLBACK_PLUGINS": "/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback", "ANSIBLE_STDOUT_CALLBACK": "awx_display", "ANSIBLE_RETRY_FILES_ENABLED": "False", "ANSIBLE_HOST_KEY_CHECKING": "False", "AWX_ISOLATED_DATA_DIR": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f", "ANSIBLE_CACHE_PLUGIN": "jsonfile", "ANSIBLE_CACHE_PLUGIN_CONNECTION": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/fact_cache", "RUNNER_OMIT_EVENTS": "False", "RUNNER_ONLY_FAILED_EVENTS": "False"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/fact_cache/s1_localhost b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/fact_cache/s1_localhost new file mode 100644 index 0000000..422feb7 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/fact_cache/s1_localhost @@ -0,0 +1 @@ +{"__payload__": "{\"ansible_fips\": false, \"ansible_local\": {}, \"ansible_system\": \"Linux\", \"ansible_kernel\": \"6.15.9-2-MANJARO\", \"ansible_kernel_version\": \"#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000\", \"ansible_machine\": \"x86_64\", \"ansible_python_version\": \"3.13.5\", \"ansible_fqdn\": \"man-dan-01\", \"ansible_hostname\": \"man-dan-01\", \"ansible_nodename\": \"man-dan-01\", \"ansible_domain\": \"\", \"ansible_userspace_bits\": \"64\", \"ansible_architecture\": \"x86_64\", \"ansible_userspace_architecture\": \"x86_64\", \"ansible_machine_id\": \"fbf39be8eb7d4a7bbdc688dda54c0404\", \"ansible_lsb\": {\"release\": \"25.0.7\", \"id\": \"ManjaroLinux\", \"description\": \"Manjaro Linux\", \"codename\": \"Zetar\", \"major_release\": \"25\"}, \"ansible_user_id\": \"jonnybravo\", \"ansible_user_uid\": 1000, \"ansible_user_gid\": 1000, \"ansible_user_gecos\": \"Jonny Bravo\", \"ansible_user_dir\": \"/home/jonnybravo\", \"ansible_user_shell\": \"/usr/bin/zsh\", \"ansible_real_user_id\": 1000, \"ansible_effective_user_id\": 1000, \"ansible_real_group_id\": 1000, \"ansible_effective_group_id\": 1000, \"ansible_systemd\": {\"features\": \"+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE\", \"version\": 257}, \"ansible_system_capabilities_enforced\": \"True\", \"ansible_system_capabilities\": [\"i\"], \"ansible_apparmor\": {\"status\": \"disabled\"}, \"ansible_virtualization_type\": \"kvm\", \"ansible_virtualization_role\": \"host\", \"ansible_virtualization_tech_guest\": [], \"ansible_virtualization_tech_host\": [\"virtualbox\", \"kvm\"], \"ansible_distribution\": \"Archlinux\", \"ansible_distribution_release\": \"Zetar\", \"ansible_distribution_version\": \"25.0.7\", \"ansible_distribution_major_version\": \"25\", \"ansible_distribution_file_path\": \"/etc/arch-release\", \"ansible_distribution_file_variety\": \"Archlinux\", \"ansible_os_family\": \"Archlinux\", \"ansible_dns\": {\"nameservers\": [\"127.0.0.53\"], \"options\": {\"edns0\": true, \"trust-ad\": true}, \"search\": [\"speedport.ip\"]}, \"ansible_is_chroot\": false, \"ansible_pkg_mgr\": \"pacman\", \"ansible_selinux\": {\"status\": \"Missing selinux Python library\"}, \"ansible_selinux_python_present\": false, \"ansible_iscsi_iqn\": \"\", \"ansible_date_time\": {\"year\": \"2025\", \"month\": \"08\", \"weekday\": \"Freitag\", \"weekday_number\": \"5\", \"weeknumber\": \"34\", \"day\": \"29\", \"hour\": \"15\", \"minute\": \"50\", \"second\": \"23\", \"epoch\": \"1756475423\", \"epoch_int\": \"1756475423\", \"date\": \"2025-08-29\", \"time\": \"15:50:23\", \"iso8601_micro\": \"2025-08-29T13:50:23.482781Z\", \"iso8601\": \"2025-08-29T13:50:23Z\", \"iso8601_basic\": \"20250829T155023482781\", \"iso8601_basic_short\": \"20250829T155023\", \"tz\": \"CEST\", \"tz_dst\": \"CEST\", \"tz_offset\": \"+0200\"}, \"ansible_interfaces\": [\"wg0\", \"vethaace71a\", \"wlan0\", \"wwan0\", \"enp0s13f0u3u2c2\", \"br-a049e64d05be\", \"vethc79e6dd\", \"br-005ea4a1de78\", \"lo\", \"docker0\", \"br-490cce44238c\", \"br1\", \"br-ddbeb66accbb\"], \"ansible_br_ddbeb66accbb\": {\"device\": \"br-ddbeb66accbb\", \"macaddress\": \"da:9f:ca:ff:37:49\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.da9fcaff3749\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.20.0.1\", \"broadcast\": \"172.20.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.20.0.0\", \"prefix\": \"16\"}}, \"ansible_br_005ea4a1de78\": {\"device\": \"br-005ea4a1de78\", \"macaddress\": \"e6:bc:8c:f7:09:53\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.e6bc8cf70953\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.21.0.1\", \"broadcast\": \"172.21.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.21.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fc00:f853:ccd:e793::1\", \"prefix\": \"64\", \"scope\": \"global\"}]}, \"ansible_wg0\": {\"device\": \"wg0\", \"mtu\": 1420, \"active\": true, \"type\": \"tunnel\", \"promisc\": false, \"ipv4\": {\"address\": \"10.50.0.2\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"10.50.0.0\", \"prefix\": \"24\"}}, \"ansible_lo\": {\"device\": \"lo\", \"mtu\": 65536, \"active\": true, \"type\": \"loopback\", \"promisc\": false, \"ipv4\": {\"address\": \"127.0.0.1\", \"broadcast\": \"\", \"netmask\": \"255.0.0.0\", \"network\": \"127.0.0.0\", \"prefix\": \"8\"}, \"ipv6\": [{\"address\": \"::1\", \"prefix\": \"128\", \"scope\": \"host\"}]}, \"ansible_enp0s13f0u3u2c2\": {\"device\": \"enp0s13f0u3u2c2\", \"macaddress\": \"a0:ce:c8:a9:57:20\", \"mtu\": 1500, \"active\": false, \"module\": \"cdc_ncm\", \"type\": \"ether\", \"pciid\": \"2-3.2:2.0\", \"speed\": 0, \"promisc\": false}, \"ansible_br_490cce44238c\": {\"device\": \"br-490cce44238c\", \"macaddress\": \"32:bf:8b:ad:b9:17\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.32bf8badb917\", \"stp\": false, \"speed\": -1, \"promisc\": false, \"ipv4\": {\"address\": \"172.19.0.1\", \"broadcast\": \"172.19.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.19.0.0\", \"prefix\": \"16\"}}, \"ansible_br1\": {\"device\": \"br1\", \"macaddress\": \"56:e7:2b:5c:4a:a5\", \"mtu\": 1500, \"active\": false, \"type\": \"bridge\", \"interfaces\": [], \"id\": \"8000.56e72b5c4aa5\", \"stp\": false, \"speed\": -1, \"promisc\": false}, \"ansible_vethaace71a\": {\"device\": \"vethaace71a\", \"macaddress\": \"da:cb:ee:60:9e:dc\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::d8cb:eeff:fe60:9edc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_wwan0\": {\"device\": \"wwan0\", \"mtu\": 1500, \"active\": false, \"type\": \"unknown\", \"pciid\": \"wwan0\", \"promisc\": false}, \"ansible_wlan0\": {\"device\": \"wlan0\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"active\": true, \"module\": \"iwlwifi\", \"type\": \"ether\", \"pciid\": \"0000:00:14.3\", \"promisc\": false, \"ipv4\": {\"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\"}, \"ipv6\": [{\"address\": \"fe80::c603:a8ff:fe3c:a7d\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_docker0\": {\"device\": \"docker0\", \"macaddress\": \"8a:d4:d2:98:9a:fc\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethaace71a\"], \"id\": \"8000.8ad4d2989afc\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.17.0.1\", \"broadcast\": \"172.17.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.17.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::88d4:d2ff:fe98:9afc\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_br_a049e64d05be\": {\"device\": \"br-a049e64d05be\", \"macaddress\": \"f2:5c:6a:9a:c2:2c\", \"mtu\": 1500, \"active\": true, \"type\": \"bridge\", \"interfaces\": [\"vethc79e6dd\"], \"id\": \"8000.f25c6a9ac22c\", \"stp\": false, \"speed\": 10000, \"promisc\": false, \"ipv4\": {\"address\": \"172.18.0.1\", \"broadcast\": \"172.18.255.255\", \"netmask\": \"255.255.0.0\", \"network\": \"172.18.0.0\", \"prefix\": \"16\"}, \"ipv6\": [{\"address\": \"fe80::f05c:6aff:fe9a:c22c\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_vethc79e6dd\": {\"device\": \"vethc79e6dd\", \"macaddress\": \"ee:de:03:8f:02:62\", \"mtu\": 1500, \"active\": true, \"type\": \"ether\", \"speed\": 10000, \"promisc\": true, \"ipv6\": [{\"address\": \"fe80::ecde:3ff:fe8f:262\", \"prefix\": \"64\", \"scope\": \"link\"}]}, \"ansible_default_ipv4\": {\"gateway\": \"192.168.50.1\", \"interface\": \"wlan0\", \"address\": \"192.168.50.177\", \"broadcast\": \"\", \"netmask\": \"255.255.255.0\", \"network\": \"192.168.50.0\", \"prefix\": \"24\", \"macaddress\": \"c4:03:a8:3c:0a:7d\", \"mtu\": 1500, \"type\": \"ether\", \"alias\": \"wlan0\"}, \"ansible_default_ipv6\": {}, \"ansible_all_ipv4_addresses\": [\"172.20.0.1\", \"172.21.0.1\", \"10.50.0.2\", \"172.19.0.1\", \"192.168.50.177\", \"172.17.0.1\", \"172.18.0.1\"], \"ansible_all_ipv6_addresses\": [\"fc00:f853:ccd:e793::1\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::f05c:6aff:fe9a:c22c\", \"fe80::ecde:3ff:fe8f:262\"], \"ansible_locally_reachable_ips\": {\"ipv4\": [\"10.50.0.2\", \"127.0.0.0/8\", \"127.0.0.1\", \"172.17.0.1\", \"172.18.0.1\", \"172.19.0.1\", \"172.20.0.1\", \"172.21.0.1\", \"192.168.50.177\"], \"ipv6\": [\"::1\", \"fc00:f853:ccd:e793::1\", \"fe80::88d4:d2ff:fe98:9afc\", \"fe80::c603:a8ff:fe3c:a7d\", \"fe80::d8cb:eeff:fe60:9edc\", \"fe80::ecde:3ff:fe8f:262\", \"fe80::f05c:6aff:fe9a:c22c\"]}, \"ansible_hostnqn\": \"\", \"ansible_fibre_channel_wwn\": [], \"ansible_python\": {\"version\": {\"major\": 3, \"minor\": 13, \"micro\": 5, \"releaselevel\": \"final\", \"serial\": 0}, \"version_info\": [3, 13, 5, \"final\", 0], \"executable\": \"/usr/bin/python\", \"has_sslcontext\": true, \"type\": \"cpython\"}, \"ansible_processor\": [\"0\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"1\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"2\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"3\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"4\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"5\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"6\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\", \"7\", \"GenuineIntel\", \"11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz\"], \"ansible_flags\": [\"fpu\", \"vme\", \"de\", \"pse\", \"tsc\", \"msr\", \"pae\", \"mce\", \"cx8\", \"apic\", \"sep\", \"mtrr\", \"pge\", \"mca\", \"cmov\", \"pat\", \"pse36\", \"clflush\", \"dts\", \"acpi\", \"mmx\", \"fxsr\", \"sse\", \"sse2\", \"ss\", \"ht\", \"tm\", \"pbe\", \"syscall\", \"nx\", \"pdpe1gb\", \"rdtscp\", \"lm\", \"constant_tsc\", \"art\", \"arch_perfmon\", \"pebs\", \"bts\", \"rep_good\", \"nopl\", \"xtopology\", \"nonstop_tsc\", \"cpuid\", \"aperfmperf\", \"tsc_known_freq\", \"pni\", \"pclmulqdq\", \"dtes64\", \"monitor\", \"ds_cpl\", \"vmx\", \"est\", \"tm2\", \"ssse3\", \"sdbg\", \"fma\", \"cx16\", \"xtpr\", \"pdcm\", \"pcid\", \"sse4_1\", \"sse4_2\", \"x2apic\", \"movbe\", \"popcnt\", \"tsc_deadline_timer\", \"aes\", \"xsave\", \"avx\", \"f16c\", \"rdrand\", \"lahf_lm\", \"abm\", \"3dnowprefetch\", \"cpuid_fault\", \"epb\", \"cat_l2\", \"cdp_l2\", \"ssbd\", \"ibrs\", \"ibpb\", \"stibp\", \"ibrs_enhanced\", \"tpr_shadow\", \"flexpriority\", \"ept\", \"vpid\", \"ept_ad\", \"fsgsbase\", \"tsc_adjust\", \"bmi1\", \"avx2\", \"smep\", \"bmi2\", \"erms\", \"invpcid\", \"rdt_a\", \"avx512f\", \"avx512dq\", \"rdseed\", \"adx\", \"smap\", \"avx512ifma\", \"clflushopt\", \"clwb\", \"intel_pt\", \"avx512cd\", \"sha_ni\", \"avx512bw\", \"avx512vl\", \"xsaveopt\", \"xsavec\", \"xgetbv1\", \"xsaves\", \"split_lock_detect\", \"user_shstk\", \"dtherm\", \"ida\", \"arat\", \"pln\", \"pts\", \"hwp\", \"hwp_notify\", \"hwp_act_window\", \"hwp_epp\", \"hwp_pkg_req\", \"vnmi\", \"avx512vbmi\", \"umip\", \"pku\", \"ospke\", \"avx512_vbmi2\", \"gfni\", \"vaes\", \"vpclmulqdq\", \"avx512_vnni\", \"avx512_bitalg\", \"avx512_vpopcntdq\", \"rdpid\", \"movdiri\", \"movdir64b\", \"fsrm\", \"avx512_vp2intersect\", \"md_clear\", \"ibt\", \"flush_l1d\", \"arch_capabilities\"], \"ansible_processor_count\": 1, \"ansible_processor_cores\": 4, \"ansible_processor_threads_per_core\": 2, \"ansible_processor_vcpus\": 8, \"ansible_processor_nproc\": 8, \"ansible_memtotal_mb\": 31810, \"ansible_memfree_mb\": 841, \"ansible_swaptotal_mb\": 34996, \"ansible_swapfree_mb\": 31795, \"ansible_memory_mb\": {\"real\": {\"total\": 31810, \"used\": 30969, \"free\": 841}, \"nocache\": {\"free\": 18580, \"used\": 13230}, \"swap\": {\"total\": 34996, \"free\": 31795, \"used\": 3201, \"cached\": 298}}, \"ansible_bios_date\": \"02/02/2024\", \"ansible_bios_vendor\": \"LENOVO\", \"ansible_bios_version\": \"N32ET91W (1.67 )\", \"ansible_board_asset_tag\": \"Not Available\", \"ansible_board_name\": \"20XW0055GE\", \"ansible_board_serial\": \"NA\", \"ansible_board_vendor\": \"LENOVO\", \"ansible_board_version\": \"SDK0J40697 WIN\", \"ansible_chassis_asset_tag\": \"No Asset Information\", \"ansible_chassis_serial\": \"NA\", \"ansible_chassis_vendor\": \"LENOVO\", \"ansible_chassis_version\": \"None\", \"ansible_form_factor\": \"Notebook\", \"ansible_product_name\": \"20XW0055GE\", \"ansible_product_serial\": \"NA\", \"ansible_product_uuid\": \"NA\", \"ansible_product_version\": \"ThinkPad X1 Carbon Gen 9\", \"ansible_system_vendor\": \"LENOVO\", \"ansible_devices\": {\"dm-1\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"uuids\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"labels\": [\"swap\"], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 71673682, \"size\": \"34.18 GB\", \"host\": \"\", \"holders\": []}, \"nvme0n1\": {\"virtual\": 1, \"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": \"Micron MTFDKBA1T0TFH\", \"sas_address\": null, \"sas_device_handle\": null, \"serial\": \"222538DCB6A6\", \"removable\": \"0\", \"support_discard\": \"512\", \"partitions\": {\"nvme0n1p3\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"uuids\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"labels\": [], \"masters\": [\"dm-1\"]}, \"start\": \"1928719957\", \"sectorsize\": 512, \"sectors\": 71677778, \"size\": \"34.18 GB\", \"uuid\": \"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"holders\": [\"luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"]}, \"nvme0n1p1\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"uuids\": [\"71C2-949D\"], \"labels\": [], \"masters\": []}, \"start\": \"4096\", \"sectorsize\": 512, \"sectors\": 614400, \"size\": \"300.00 MB\", \"uuid\": \"71C2-949D\", \"holders\": []}, \"nvme0n1p2\": {\"links\": {\"ids\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"uuids\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"labels\": [], \"masters\": [\"dm-0\"]}, \"start\": \"618496\", \"sectorsize\": 512, \"sectors\": 1928101461, \"size\": \"919.39 GB\", \"uuid\": \"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"holders\": [\"luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}}, \"rotational\": \"0\", \"scheduler_mode\": \"none\", \"sectorsize\": \"512\", \"sectors\": 2000409264, \"size\": \"953.87 GB\", \"host\": \"Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]\", \"holders\": []}, \"sdb\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS0\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"dm-0\": {\"virtual\": 1, \"links\": {\"ids\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"uuids\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"], \"labels\": [], \"masters\": []}, \"vendor\": null, \"model\": null, \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"\", \"sectorsize\": \"512\", \"sectors\": 1928097365, \"size\": \"919.39 GB\", \"host\": \"\", \"holders\": []}, \"sdc\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"NORELSYS\", \"model\": \"1081CS1\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"1\", \"support_discard\": \"0\", \"partitions\": {}, \"rotational\": \"0\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 0, \"size\": \"0.00 Bytes\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}, \"sda\": {\"virtual\": 1, \"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"uuids\": [], \"labels\": [], \"masters\": []}, \"vendor\": \"Micron\", \"model\": \"CT1000X8SSD9\", \"sas_address\": null, \"sas_device_handle\": null, \"removable\": \"0\", \"support_discard\": \"0\", \"partitions\": {\"sda1\": {\"links\": {\"ids\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"uuids\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"labels\": [], \"masters\": []}, \"start\": \"2048\", \"sectorsize\": 512, \"sectors\": 1953521664, \"size\": \"931.51 GB\", \"uuid\": \"6fcf42f5-198f-4616-a272-430c33b22155\", \"holders\": []}}, \"rotational\": \"1\", \"scheduler_mode\": \"mq-deadline\", \"sectorsize\": \"512\", \"sectors\": 1953525168, \"size\": \"931.51 GB\", \"host\": \"USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)\", \"holders\": []}}, \"ansible_device_links\": {\"ids\": {\"sdb\": [\"usb-NORELSYS_1081CS0_0123456789ABCDE-0:0\"], \"sdc\": [\"usb-NORELSYS_1081CS1_0123456789ABCDE-0:1\"], \"sda1\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1\"], \"sda\": [\"usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0\"], \"nvme0n1p1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1\", \"nvme-eui.000000000000000100a0752238dcb6a6-part1\"], \"nvme0n1p2\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2\", \"nvme-eui.000000000000000100a0752238dcb6a6-part2\"], \"nvme0n1p3\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3\", \"nvme-eui.000000000000000100a0752238dcb6a6-part3\"], \"nvme0n1\": [\"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6\", \"nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1\", \"nvme-eui.000000000000000100a0752238dcb6a6\"], \"dm-1\": [\"dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-0\": [\"dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"]}, \"uuids\": {\"sda1\": [\"6fcf42f5-198f-4616-a272-430c33b22155\"], \"nvme0n1p1\": [\"71C2-949D\"], \"nvme0n1p2\": [\"9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"nvme0n1p3\": [\"e3c32a55-f6b4-4d3d-a17a-9901f57c152f\"], \"dm-1\": [\"fa8cc308-7de8-418e-9791-09265567d62f\"], \"dm-0\": [\"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"]}, \"labels\": {\"dm-1\": [\"swap\"]}, \"masters\": {\"nvme0n1p3\": [\"dm-1\"], \"nvme0n1p2\": [\"dm-0\"]}}, \"ansible_uptime_seconds\": 974657, \"ansible_lvm\": \"N/A\", \"ansible_mounts\": [{\"mount\": \"/\", \"device\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"fstype\": \"ext4\", \"options\": \"rw,noatime\", \"dump\": 0, \"passno\": 0, \"size_total\": 970536476672, \"size_available\": 457928118272, \"block_size\": 4096, \"block_total\": 236947382, \"block_available\": 111798857, \"block_used\": 125148525, \"inode_total\": 60260352, \"inode_available\": 57699922, \"inode_used\": 2560430, \"uuid\": \"38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\"}, {\"mount\": \"/boot/efi\", \"device\": \"/dev/nvme0n1p1\", \"fstype\": \"vfat\", \"options\": \"rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro\", \"dump\": 0, \"passno\": 0, \"size_total\": 313942016, \"size_available\": 313483264, \"block_size\": 4096, \"block_total\": 76646, \"block_available\": 76534, \"block_used\": 112, \"inode_total\": 0, \"inode_available\": 0, \"inode_used\": 0, \"uuid\": \"71C2-949D\"}], \"ansible_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_proc_cmdline\": {\"BOOT_IMAGE\": \"/boot/vmlinuz-6.15-x86_64\", \"root\": [\"UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4\", \"/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\"], \"rw\": true, \"reboot\": \"acpi\", \"quiet\": true, \"cryptdevice\": \"UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7\", \"splash\": true, \"resume\": \"/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f\", \"udev.log_priority\": \"3\", \"nmi_watchdog\": \"0\", \"nowatchdog\": true}, \"ansible_loadavg\": {\"1m\": 0.2802734375, \"5m\": 0.42822265625, \"15m\": 0.6044921875}, \"ansible_env\": {\"SHELL\": \"/usr/bin/zsh\", \"LSCOLORS\": \"Gxfxcxdxbxegedabagacad\", \"SESSION_MANAGER\": \"local/man-dan-01:@/tmp/.ICE-unix/1271,unix/man-dan-01:/tmp/.ICE-unix/1271\", \"WINDOWID\": \"125829134\", \"QT_SCREEN_SCALE_FACTORS\": \"eDP-1=1.75;HDMI-1=1.75;DP-1=1.75;HDMI-2=1.75;DP-2=1.75;HDMI-3=1.75;DP-3=1.75;DP-4=1.75;\", \"COLORTERM\": \"truecolor\", \"XDG_CONFIG_DIRS\": \"/home/jonnybravo/.config/kdedefaults:/etc/xdg:/usr/share/manjaro-kde-settings/xdg:/usr/share/manjaro-kde-settings/xdg\", \"LESS\": \"-R\", \"XDG_SESSION_PATH\": \"/org/freedesktop/DisplayManager/Session1\", \"ANSIBLE_CACHE_PLUGIN\": \"jsonfile\", \"XDG_MENU_PREFIX\": \"plasma-\", \"TERM_PROGRAM_VERSION\": \"3.5a\", \"ZSH_TMUX_AUTOSTARTED\": \"true\", \"TMUX\": \"/tmp/tmux-1000/default,24818,0\", \"ICEAUTHORITY\": \"/run/user/1000/iceauth_WaGeTh\", \"LANGUAGE\": \"\", \"LC_ADDRESS\": \"de_DE.UTF-8\", \"LC_NAME\": \"de_DE.UTF-8\", \"SSH_AUTH_SOCK\": \"/tmp/ssh-XXXXXXPl66DT/agent.24865\", \"SHELL_SESSION_ID\": \"98a52bd5e1df44edb315d4c1da162224\", \"MEMORY_PRESSURE_WRITE\": \"c29tZSAyMDAwMDAgMjAwMDAwMAA=\", \"DESKTOP_SESSION\": \"plasma\", \"LC_MONETARY\": \"de_DE.UTF-8\", \"SSH_AGENT_PID\": \"24872\", \"GTK_RC_FILES\": \"/etc/gtk/gtkrc:/home/jonnybravo/.gtkrc:/home/jonnybravo/.config/gtkrc\", \"EDITOR\": \"mvim\", \"GTK_MODULES\": \"canberra-gtk-module\", \"XDG_SEAT\": \"seat0\", \"PWD\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play\", \"LOGNAME\": \"jonnybravo\", \"XDG_SESSION_DESKTOP\": \"KDE\", \"RUNNER_ONLY_FAILED_EVENTS\": \"False\", \"XDG_SESSION_TYPE\": \"x11\", \"SYSTEMD_EXEC_PID\": \"1307\", \"_\": \"/usr/bin/python\", \"XAUTHORITY\": \"/tmp/xauth_MViPvJ\", \"AWX_ISOLATED_DATA_DIR\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f\", \"MOTD_SHOWN\": \"pam\", \"CDPATH\": \"/home/jonnybravo/:/home/jonnybravo/Projekte\", \"GTK2_RC_FILES\": \"/etc/gtk-2.0/gtkrc:/home/jonnybravo/.gtkrc-2.0:/home/jonnybravo/.config/gtkrc-2.0\", \"HOME\": \"/home/jonnybravo\", \"LANG\": \"de_DE.UTF-8\", \"LC_PAPER\": \"de_DE.UTF-8\", \"LS_COLORS\": \"rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:\", \"XDG_CURRENT_DESKTOP\": \"KDE\", \"KONSOLE_DBUS_SERVICE\": \":1.142\", \"_ZSH_TMUX_FIXED_CONFIG\": \"/home/jonnybravo/.oh-my-zsh/plugins/tmux/tmux.only.conf\", \"VIRTUAL_ENV\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13\", \"MEMORY_PRESSURE_WATCH\": \"/sys/fs/cgroup/user.slice/user-1000.slice/user@1000.service/session.slice/plasma-plasmashell.service/memory.pressure\", \"KONSOLE_DBUS_SESSION\": \"/Sessions/1\", \"PROFILEHOME\": \"\", \"XDG_SEAT_PATH\": \"/org/freedesktop/DisplayManager/Seat0\", \"ANSIBLE_STDOUT_CALLBACK\": \"awx_display\", \"ANSIBLE_CALLBACK_PLUGINS\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/lib/python3.13/site-packages/ansible_runner/display_callback/callback\", \"INVOCATION_ID\": \"b7649f07995d41ef80f4f9a09d6df65a\", \"KONSOLE_VERSION\": \"250403\", \"MANAGERPID\": \"1157\", \"KDE_SESSION_UID\": \"1000\", \"ANSIBLE_CACHE_PLUGIN_CONNECTION\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/fact_cache\", \"XDG_SESSION_CLASS\": \"user\", \"PYTHONPATH\": \":/home/jonnybravo/python-module:/home/jonnybravo/python-module\", \"LC_IDENTIFICATION\": \"de_DE.UTF-8\", \"TERM\": \"tmux-256color\", \"ZSH\": \"/home/jonnybravo/.oh-my-zsh\", \"USER\": \"jonnybravo\", \"TMUX_PANE\": \"%0\", \"COLORFGBG\": \"0;15\", \"QT_WAYLAND_RECONNECT\": \"1\", \"KDE_SESSION_VERSION\": \"6\", \"PAM_KWALLET5_LOGIN\": \"/run/user/1000/kwallet5.socket\", \"DISPLAY\": \":0\", \"SHLVL\": \"4\", \"PAGER\": \"less\", \"LC_TELEPHONE\": \"de_DE.UTF-8\", \"LC_MEASUREMENT\": \"de_DE.UTF-8\", \"XDG_VTNR\": \"2\", \"RUNNER_OMIT_EVENTS\": \"False\", \"ANSIBLE_RETRY_FILES_ENABLED\": \"False\", \"XDG_SESSION_ID\": \"2\", \"QT_LINUX_ACCESSIBILITY_ALWAYS_ON\": \"1\", \"VIRTUAL_ENV_PROMPT\": \"run-ansible-play-py3.13\", \"XDG_RUNTIME_DIR\": \"/run/user/1000\", \"ZSH_TMUX_TERM\": \"tmux-256color\", \"DEBUGINFOD_URLS\": \"https://debuginfod.archlinux.org \", \"LC_TIME\": \"de_DE.UTF-8\", \"QT_AUTO_SCREEN_SCALE_FACTOR\": \"0\", \"ANSIBLE_HOST_KEY_CHECKING\": \"False\", \"JOURNAL_STREAM\": \"9:930\", \"GTK3_MODULES\": \"xapp-gtk3-module\", \"XDG_DATA_DIRS\": \"/home/jonnybravo/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share\", \"KDE_FULL_SESSION\": \"true\", \"PATH\": \"/home/jonnybravo/.cache/pypoetry/virtualenvs/run-ansible-play-yFMf1k7c-py3.13/bin:/home/jonnybravo/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/rustup/bin\", \"DBUS_SESSION_BUS_ADDRESS\": \"unix:path=/run/user/1000/bus\", \"KDE_APPLICATIONS_AS_SCOPE\": \"1\", \"MAIL\": \"/var/spool/mail/jonnybravo\", \"LC_NUMERIC\": \"de_DE.UTF-8\", \"OLDPWD\": \"/home/jonnybravo/Projekte/Python_Skripte/play_ansible\", \"TERM_PROGRAM\": \"tmux\", \"KONSOLE_DBUS_WINDOW\": \"/Windows/1\"}, \"ansible_service_mgr\": \"systemd\", \"gather_subset\": [\"all\"], \"module_setup\": true, \"_ansible_facts_gathered\": true}"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/1-77db1dac-c490-443d-9989-4d28a08eb31c.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/1-77db1dac-c490-443d-9989-4d28a08eb31c.json new file mode 100644 index 0000000..50c5c2c --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/1-77db1dac-c490-443d-9989-4d28a08eb31c.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "77db1dac-c490-443d-9989-4d28a08eb31c", "counter": 1, "stdout": "\u001b[1;35m[WARNING]: No inventory was parsed, only implicit localhost is available\u001b[0m", "start_line": 0, "end_line": 1, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "created": "2025-08-29T13:50:22.957726+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/10-29708dd0-33ec-45da-85ba-527cf1954cf9.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/10-29708dd0-33ec-45da-85ba-527cf1954cf9.json new file mode 100644 index 0000000..6f45898 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/10-29708dd0-33ec-45da-85ba-527cf1954cf9.json @@ -0,0 +1 @@ +{"uuid": "29708dd0-33ec-45da-85ba-527cf1954cf9", "counter": 10, "stdout": "\u001b[0;32mok: [localhost] => {\u001b[0m\r\n\u001b[0;32m \"msg\": \"Hello Ansible World\"\u001b[0m\r\n\u001b[0;32m}\u001b[0m", "start_line": 9, "end_line": 12, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "runner_on_ok", "pid": 898727, "created": "2025-08-29T13:50:24.484808+00:00", "parent_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000003", "task_action": "debug", "resolved_action": "ansible.builtin.debug", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"msg": "Hello Ansible World", "_ansible_verbose_always": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T13:50:24.475492+00:00", "end": "2025-08-29T13:50:24.484539+00:00", "duration": 0.009047, "event_loop": null, "uuid": "29708dd0-33ec-45da-85ba-527cf1954cf9"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/11-9dd0d18a-9c0e-4015-a537-8a0bbb486522.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/11-9dd0d18a-9c0e-4015-a537-8a0bbb486522.json new file mode 100644 index 0000000..9291c7a --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/11-9dd0d18a-9c0e-4015-a537-8a0bbb486522.json @@ -0,0 +1 @@ +{"uuid": "9dd0d18a-9c0e-4015-a537-8a0bbb486522", "counter": 11, "stdout": "\r\nPLAY RECAP *********************************************************************\r\n\u001b[0;32mlocalhost\u001b[0m : \u001b[0;32mok=2 \u001b[0m changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ", "start_line": 12, "end_line": 16, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "playbook_on_stats", "pid": 898727, "created": "2025-08-29T13:50:24.486291+00:00", "parent_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "changed": {}, "dark": {}, "failures": {}, "ignored": {}, "ok": {"localhost": 2}, "processed": {"localhost": 1}, "rescued": {}, "skipped": {}, "artifact_data": {}, "uuid": "9dd0d18a-9c0e-4015-a537-8a0bbb486522"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/2-7dcf913c-abbf-4d17-84bc-ba873247d4f3.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/2-7dcf913c-abbf-4d17-84bc-ba873247d4f3.json new file mode 100644 index 0000000..f10da95 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/2-7dcf913c-abbf-4d17-84bc-ba873247d4f3.json @@ -0,0 +1 @@ +{"event": "verbose", "uuid": "7dcf913c-abbf-4d17-84bc-ba873247d4f3", "counter": 2, "stdout": "\u001b[1;35m[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'\u001b[0m", "start_line": 1, "end_line": 2, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "created": "2025-08-29T13:50:22.961598+00:00"} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/3-48db46ba-55d1-4954-8db6-37caef1fd04f.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/3-48db46ba-55d1-4954-8db6-37caef1fd04f.json new file mode 100644 index 0000000..16bf6e4 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/3-48db46ba-55d1-4954-8db6-37caef1fd04f.json @@ -0,0 +1 @@ +{"uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "counter": 3, "stdout": "", "start_line": 2, "end_line": 2, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "playbook_on_start", "pid": 898727, "created": "2025-08-29T13:50:23.015512+00:00", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/4-c403a83c-0a7d-9b7b-9dbc-000000000001.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/4-c403a83c-0a7d-9b7b-9dbc-000000000001.json new file mode 100644 index 0000000..2d8f061 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/4-c403a83c-0a7d-9b7b-9dbc-000000000001.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "counter": 4, "stdout": "\r\nPLAY [Simple playbook] *********************************************************", "start_line": 2, "end_line": 4, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "playbook_on_play_start", "pid": 898727, "created": "2025-08-29T13:50:23.016831+00:00", "parent_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "play_pattern": "localhost", "name": "Simple playbook", "pattern": "localhost", "uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/5-c403a83c-0a7d-9b7b-9dbc-000000000008.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/5-c403a83c-0a7d-9b7b-9dbc-000000000008.json new file mode 100644 index 0000000..0ccf18b --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/5-c403a83c-0a7d-9b7b-9dbc-000000000008.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-9b7b-9dbc-000000000008", "counter": 5, "stdout": "\r\nTASK [Gathering Facts] *********************************************************", "start_line": 4, "end_line": 6, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "playbook_on_task_start", "pid": 898727, "created": "2025-08-29T13:50:23.021982+00:00", "parent_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "name": "Gathering Facts", "is_conditional": false, "uuid": "c403a83c-0a7d-9b7b-9dbc-000000000008"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/6-f852c0c3-f1e2-4170-ad79-1447b59273a7.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/6-f852c0c3-f1e2-4170-ad79-1447b59273a7.json new file mode 100644 index 0000000..f11eea5 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/6-f852c0c3-f1e2-4170-ad79-1447b59273a7.json @@ -0,0 +1 @@ +{"uuid": "f852c0c3-f1e2-4170-ad79-1447b59273a7", "counter": 6, "stdout": "", "start_line": 6, "end_line": 6, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "runner_on_start", "pid": 898727, "created": "2025-08-29T13:50:23.022451+00:00", "parent_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000008", "task_action": "gather_facts", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "uuid": "f852c0c3-f1e2-4170-ad79-1447b59273a7"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/7-cb063171-5ce1-4599-affd-7d8371ac5298.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/7-cb063171-5ce1-4599-affd-7d8371ac5298.json new file mode 100644 index 0000000..69b35bf --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/7-cb063171-5ce1-4599-affd-7d8371ac5298.json @@ -0,0 +1 @@ +{"uuid": "cb063171-5ce1-4599-affd-7d8371ac5298", "counter": 7, "stdout": "\u001b[0;32mok: [localhost]\u001b[0m", "start_line": 6, "end_line": 7, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "runner_on_ok", "pid": 898727, "created": "2025-08-29T13:50:24.471024+00:00", "parent_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000008", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "play_pattern": "localhost", "task": "Gathering Facts", "task_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000008", "task_action": "gather_facts", "resolved_action": "ansible.builtin.gather_facts", "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:2", "host": "localhost", "remote_addr": "127.0.0.1", "res": {"ansible_facts": {"ansible_fips": false, "ansible_local": {}, "ansible_system": "Linux", "ansible_kernel": "6.15.9-2-MANJARO", "ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Thu, 07 Aug 2025 04:47:58 +0000", "ansible_machine": "x86_64", "ansible_python_version": "3.13.5", "ansible_fqdn": "man-dan-01", "ansible_hostname": "man-dan-01", "ansible_nodename": "man-dan-01", "ansible_domain": "", "ansible_userspace_bits": "64", "ansible_architecture": "x86_64", "ansible_userspace_architecture": "x86_64", "ansible_machine_id": "fbf39be8eb7d4a7bbdc688dda54c0404", "ansible_lsb": {"release": "25.0.7", "id": "ManjaroLinux", "description": "Manjaro Linux", "codename": "Zetar", "major_release": "25"}, "ansible_user_id": "jonnybravo", "ansible_user_uid": 1000, "ansible_user_gid": 1000, "ansible_user_gecos": "Jonny Bravo", "ansible_user_dir": "/home/jonnybravo", "ansible_user_shell": "/usr/bin/zsh", "ansible_real_user_id": 1000, "ansible_effective_user_id": 1000, "ansible_real_group_id": 1000, "ansible_effective_group_id": 1000, "ansible_systemd": {"features": "+PAM +AUDIT -SELINUX -APPARMOR -IMA +IPE +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF +XKBCOMMON +UTMP -SYSVINIT +LIBARCHIVE", "version": 257}, "ansible_system_capabilities_enforced": "True", "ansible_system_capabilities": ["i"], "ansible_apparmor": {"status": "disabled"}, "ansible_virtualization_type": "kvm", "ansible_virtualization_role": "host", "ansible_virtualization_tech_guest": [], "ansible_virtualization_tech_host": ["virtualbox", "kvm"], "ansible_distribution": "Archlinux", "ansible_distribution_release": "Zetar", "ansible_distribution_version": "25.0.7", "ansible_distribution_major_version": "25", "ansible_distribution_file_path": "/etc/arch-release", "ansible_distribution_file_variety": "Archlinux", "ansible_os_family": "Archlinux", "ansible_dns": {"nameservers": ["127.0.0.53"], "options": {"edns0": true, "trust-ad": true}, "search": ["speedport.ip"]}, "ansible_is_chroot": false, "ansible_pkg_mgr": "pacman", "ansible_selinux": {"status": "Missing selinux Python library"}, "ansible_selinux_python_present": false, "ansible_iscsi_iqn": "", "ansible_date_time": {"year": "2025", "month": "08", "weekday": "Freitag", "weekday_number": "5", "weeknumber": "34", "day": "29", "hour": "15", "minute": "50", "second": "23", "epoch": "1756475423", "epoch_int": "1756475423", "date": "2025-08-29", "time": "15:50:23", "iso8601_micro": "2025-08-29T13:50:23.482781Z", "iso8601": "2025-08-29T13:50:23Z", "iso8601_basic": "20250829T155023482781", "iso8601_basic_short": "20250829T155023", "tz": "CEST", "tz_dst": "CEST", "tz_offset": "+0200"}, "ansible_interfaces": ["wg0", "vethaace71a", "wlan0", "wwan0", "enp0s13f0u3u2c2", "br-a049e64d05be", "vethc79e6dd", "br-005ea4a1de78", "lo", "docker0", "br-490cce44238c", "br1", "br-ddbeb66accbb"], "ansible_br_ddbeb66accbb": {"device": "br-ddbeb66accbb", "macaddress": "da:9f:ca:ff:37:49", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.da9fcaff3749", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.20.0.1", "broadcast": "172.20.255.255", "netmask": "255.255.0.0", "network": "172.20.0.0", "prefix": "16"}}, "ansible_br_005ea4a1de78": {"device": "br-005ea4a1de78", "macaddress": "e6:bc:8c:f7:09:53", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.e6bc8cf70953", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.21.0.1", "broadcast": "172.21.255.255", "netmask": "255.255.0.0", "network": "172.21.0.0", "prefix": "16"}, "ipv6": [{"address": "fc00:f853:ccd:e793::1", "prefix": "64", "scope": "global"}]}, "ansible_wg0": {"device": "wg0", "mtu": 1420, "active": true, "type": "tunnel", "promisc": false, "ipv4": {"address": "10.50.0.2", "broadcast": "", "netmask": "255.255.255.0", "network": "10.50.0.0", "prefix": "24"}}, "ansible_lo": {"device": "lo", "mtu": 65536, "active": true, "type": "loopback", "promisc": false, "ipv4": {"address": "127.0.0.1", "broadcast": "", "netmask": "255.0.0.0", "network": "127.0.0.0", "prefix": "8"}, "ipv6": [{"address": "::1", "prefix": "128", "scope": "host"}]}, "ansible_enp0s13f0u3u2c2": {"device": "enp0s13f0u3u2c2", "macaddress": "a0:ce:c8:a9:57:20", "mtu": 1500, "active": false, "module": "cdc_ncm", "type": "ether", "pciid": "2-3.2:2.0", "speed": 0, "promisc": false}, "ansible_br_490cce44238c": {"device": "br-490cce44238c", "macaddress": "32:bf:8b:ad:b9:17", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.32bf8badb917", "stp": false, "speed": -1, "promisc": false, "ipv4": {"address": "172.19.0.1", "broadcast": "172.19.255.255", "netmask": "255.255.0.0", "network": "172.19.0.0", "prefix": "16"}}, "ansible_br1": {"device": "br1", "macaddress": "56:e7:2b:5c:4a:a5", "mtu": 1500, "active": false, "type": "bridge", "interfaces": [], "id": "8000.56e72b5c4aa5", "stp": false, "speed": -1, "promisc": false}, "ansible_vethaace71a": {"device": "vethaace71a", "macaddress": "da:cb:ee:60:9e:dc", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::d8cb:eeff:fe60:9edc", "prefix": "64", "scope": "link"}]}, "ansible_wwan0": {"device": "wwan0", "mtu": 1500, "active": false, "type": "unknown", "pciid": "wwan0", "promisc": false}, "ansible_wlan0": {"device": "wlan0", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "active": true, "module": "iwlwifi", "type": "ether", "pciid": "0000:00:14.3", "promisc": false, "ipv4": {"address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24"}, "ipv6": [{"address": "fe80::c603:a8ff:fe3c:a7d", "prefix": "64", "scope": "link"}]}, "ansible_docker0": {"device": "docker0", "macaddress": "8a:d4:d2:98:9a:fc", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethaace71a"], "id": "8000.8ad4d2989afc", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.17.0.1", "broadcast": "172.17.255.255", "netmask": "255.255.0.0", "network": "172.17.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::88d4:d2ff:fe98:9afc", "prefix": "64", "scope": "link"}]}, "ansible_br_a049e64d05be": {"device": "br-a049e64d05be", "macaddress": "f2:5c:6a:9a:c2:2c", "mtu": 1500, "active": true, "type": "bridge", "interfaces": ["vethc79e6dd"], "id": "8000.f25c6a9ac22c", "stp": false, "speed": 10000, "promisc": false, "ipv4": {"address": "172.18.0.1", "broadcast": "172.18.255.255", "netmask": "255.255.0.0", "network": "172.18.0.0", "prefix": "16"}, "ipv6": [{"address": "fe80::f05c:6aff:fe9a:c22c", "prefix": "64", "scope": "link"}]}, "ansible_vethc79e6dd": {"device": "vethc79e6dd", "macaddress": "ee:de:03:8f:02:62", "mtu": 1500, "active": true, "type": "ether", "speed": 10000, "promisc": true, "ipv6": [{"address": "fe80::ecde:3ff:fe8f:262", "prefix": "64", "scope": "link"}]}, "ansible_default_ipv4": {"gateway": "192.168.50.1", "interface": "wlan0", "address": "192.168.50.177", "broadcast": "", "netmask": "255.255.255.0", "network": "192.168.50.0", "prefix": "24", "macaddress": "c4:03:a8:3c:0a:7d", "mtu": 1500, "type": "ether", "alias": "wlan0"}, "ansible_default_ipv6": {}, "ansible_all_ipv4_addresses": ["172.20.0.1", "172.21.0.1", "10.50.0.2", "172.19.0.1", "192.168.50.177", "172.17.0.1", "172.18.0.1"], "ansible_all_ipv6_addresses": ["fc00:f853:ccd:e793::1", "fe80::d8cb:eeff:fe60:9edc", "fe80::c603:a8ff:fe3c:a7d", "fe80::88d4:d2ff:fe98:9afc", "fe80::f05c:6aff:fe9a:c22c", "fe80::ecde:3ff:fe8f:262"], "ansible_locally_reachable_ips": {"ipv4": ["10.50.0.2", "127.0.0.0/8", "127.0.0.1", "172.17.0.1", "172.18.0.1", "172.19.0.1", "172.20.0.1", "172.21.0.1", "192.168.50.177"], "ipv6": ["::1", "fc00:f853:ccd:e793::1", "fe80::88d4:d2ff:fe98:9afc", "fe80::c603:a8ff:fe3c:a7d", "fe80::d8cb:eeff:fe60:9edc", "fe80::ecde:3ff:fe8f:262", "fe80::f05c:6aff:fe9a:c22c"]}, "ansible_hostnqn": "", "ansible_fibre_channel_wwn": [], "ansible_python": {"version": {"major": 3, "minor": 13, "micro": 5, "releaselevel": "final", "serial": 0}, "version_info": [3, 13, 5, "final", 0], "executable": "/usr/bin/python", "has_sslcontext": true, "type": "cpython"}, "ansible_processor": ["0", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "1", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "2", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "3", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "4", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "5", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "6", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz", "7", "GenuineIntel", "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz"], "ansible_flags": ["fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", "cx8", "apic", "sep", "mtrr", "pge", "mca", "cmov", "pat", "pse36", "clflush", "dts", "acpi", "mmx", "fxsr", "sse", "sse2", "ss", "ht", "tm", "pbe", "syscall", "nx", "pdpe1gb", "rdtscp", "lm", "constant_tsc", "art", "arch_perfmon", "pebs", "bts", "rep_good", "nopl", "xtopology", "nonstop_tsc", "cpuid", "aperfmperf", "tsc_known_freq", "pni", "pclmulqdq", "dtes64", "monitor", "ds_cpl", "vmx", "est", "tm2", "ssse3", "sdbg", "fma", "cx16", "xtpr", "pdcm", "pcid", "sse4_1", "sse4_2", "x2apic", "movbe", "popcnt", "tsc_deadline_timer", "aes", "xsave", "avx", "f16c", "rdrand", "lahf_lm", "abm", "3dnowprefetch", "cpuid_fault", "epb", "cat_l2", "cdp_l2", "ssbd", "ibrs", "ibpb", "stibp", "ibrs_enhanced", "tpr_shadow", "flexpriority", "ept", "vpid", "ept_ad", "fsgsbase", "tsc_adjust", "bmi1", "avx2", "smep", "bmi2", "erms", "invpcid", "rdt_a", "avx512f", "avx512dq", "rdseed", "adx", "smap", "avx512ifma", "clflushopt", "clwb", "intel_pt", "avx512cd", "sha_ni", "avx512bw", "avx512vl", "xsaveopt", "xsavec", "xgetbv1", "xsaves", "split_lock_detect", "user_shstk", "dtherm", "ida", "arat", "pln", "pts", "hwp", "hwp_notify", "hwp_act_window", "hwp_epp", "hwp_pkg_req", "vnmi", "avx512vbmi", "umip", "pku", "ospke", "avx512_vbmi2", "gfni", "vaes", "vpclmulqdq", "avx512_vnni", "avx512_bitalg", "avx512_vpopcntdq", "rdpid", "movdiri", "movdir64b", "fsrm", "avx512_vp2intersect", "md_clear", "ibt", "flush_l1d", "arch_capabilities"], "ansible_processor_count": 1, "ansible_processor_cores": 4, "ansible_processor_threads_per_core": 2, "ansible_processor_vcpus": 8, "ansible_processor_nproc": 8, "ansible_memtotal_mb": 31810, "ansible_memfree_mb": 841, "ansible_swaptotal_mb": 34996, "ansible_swapfree_mb": 31795, "ansible_memory_mb": {"real": {"total": 31810, "used": 30969, "free": 841}, "nocache": {"free": 18580, "used": 13230}, "swap": {"total": 34996, "free": 31795, "used": 3201, "cached": 298}}, "ansible_bios_date": "02/02/2024", "ansible_bios_vendor": "LENOVO", "ansible_bios_version": "N32ET91W (1.67 )", "ansible_board_asset_tag": "Not Available", "ansible_board_name": "20XW0055GE", "ansible_board_serial": "NA", "ansible_board_vendor": "LENOVO", "ansible_board_version": "SDK0J40697 WIN", "ansible_chassis_asset_tag": "No Asset Information", "ansible_chassis_serial": "NA", "ansible_chassis_vendor": "LENOVO", "ansible_chassis_version": "None", "ansible_form_factor": "Notebook", "ansible_product_name": "20XW0055GE", "ansible_product_serial": "NA", "ansible_product_uuid": "NA", "ansible_product_version": "ThinkPad X1 Carbon Gen 9", "ansible_system_vendor": "LENOVO", "ansible_devices": {"dm-1": {"virtual": 1, "links": {"ids": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "uuids": ["fa8cc308-7de8-418e-9791-09265567d62f"], "labels": ["swap"], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 71673682, "size": "34.18 GB", "host": "", "holders": []}, "nvme0n1": {"virtual": 1, "links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "uuids": [], "labels": [], "masters": []}, "vendor": null, "model": "Micron MTFDKBA1T0TFH", "sas_address": null, "sas_device_handle": null, "serial": "222538DCB6A6", "removable": "0", "support_discard": "512", "partitions": {"nvme0n1p3": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "uuids": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "labels": [], "masters": ["dm-1"]}, "start": "1928719957", "sectorsize": 512, "sectors": 71677778, "size": "34.18 GB", "uuid": "e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "holders": ["luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"]}, "nvme0n1p1": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "uuids": ["71C2-949D"], "labels": [], "masters": []}, "start": "4096", "sectorsize": 512, "sectors": 614400, "size": "300.00 MB", "uuid": "71C2-949D", "holders": []}, "nvme0n1p2": {"links": {"ids": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "uuids": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "labels": [], "masters": ["dm-0"]}, "start": "618496", "sectorsize": 512, "sectors": 1928101461, "size": "919.39 GB", "uuid": "9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "holders": ["luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}}, "rotational": "0", "scheduler_mode": "none", "sectorsize": "512", "sectors": 2000409264, "size": "953.87 GB", "host": "Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]", "holders": []}, "sdb": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS0", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "dm-0": {"virtual": 1, "links": {"ids": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "uuids": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"], "labels": [], "masters": []}, "vendor": null, "model": null, "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "", "sectorsize": "512", "sectors": 1928097365, "size": "919.39 GB", "host": "", "holders": []}, "sdc": {"virtual": 1, "links": {"ids": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "uuids": [], "labels": [], "masters": []}, "vendor": "NORELSYS", "model": "1081CS1", "sas_address": null, "sas_device_handle": null, "removable": "1", "support_discard": "0", "partitions": {}, "rotational": "0", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 0, "size": "0.00 Bytes", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}, "sda": {"virtual": 1, "links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "uuids": [], "labels": [], "masters": []}, "vendor": "Micron", "model": "CT1000X8SSD9", "sas_address": null, "sas_device_handle": null, "removable": "0", "support_discard": "0", "partitions": {"sda1": {"links": {"ids": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "uuids": ["6fcf42f5-198f-4616-a272-430c33b22155"], "labels": [], "masters": []}, "start": "2048", "sectorsize": 512, "sectors": 1953521664, "size": "931.51 GB", "uuid": "6fcf42f5-198f-4616-a272-430c33b22155", "holders": []}}, "rotational": "1", "scheduler_mode": "mq-deadline", "sectorsize": "512", "sectors": 1953525168, "size": "931.51 GB", "host": "USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)", "holders": []}}, "ansible_device_links": {"ids": {"sdb": ["usb-NORELSYS_1081CS0_0123456789ABCDE-0:0"], "sdc": ["usb-NORELSYS_1081CS1_0123456789ABCDE-0:1"], "sda1": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0-part1"], "sda": ["usb-Micron_CT1000X8SSD9_2326E32FE84E-0:0"], "nvme0n1p1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part1", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part1", "nvme-eui.000000000000000100a0752238dcb6a6-part1"], "nvme0n1p2": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part2", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part2", "nvme-eui.000000000000000100a0752238dcb6a6-part2"], "nvme0n1p3": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6-part3", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1-part3", "nvme-eui.000000000000000100a0752238dcb6a6-part3"], "nvme0n1": ["nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6", "nvme-Micron_MTFDKBA1T0TFH_222538DCB6A6_1", "nvme-eui.000000000000000100a0752238dcb6a6"], "dm-1": ["dm-name-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "dm-uuid-CRYPT-LUKS1-e3c32a55f6b44d3da17a9901f57c152f-luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-0": ["dm-name-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "dm-uuid-CRYPT-LUKS1-9cf04ebe7c4d4987afa50585f14cd1d7-luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"]}, "uuids": {"sda1": ["6fcf42f5-198f-4616-a272-430c33b22155"], "nvme0n1p1": ["71C2-949D"], "nvme0n1p2": ["9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "nvme0n1p3": ["e3c32a55-f6b4-4d3d-a17a-9901f57c152f"], "dm-1": ["fa8cc308-7de8-418e-9791-09265567d62f"], "dm-0": ["38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"]}, "labels": {"dm-1": ["swap"]}, "masters": {"nvme0n1p3": ["dm-1"], "nvme0n1p2": ["dm-0"]}}, "ansible_uptime_seconds": 974657, "ansible_lvm": "N/A", "ansible_mounts": [{"mount": "/", "device": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "fstype": "ext4", "options": "rw,noatime", "dump": 0, "passno": 0, "size_total": 970536476672, "size_available": 457928118272, "block_size": 4096, "block_total": 236947382, "block_available": 111798857, "block_used": 125148525, "inode_total": 60260352, "inode_available": 57699922, "inode_used": 2560430, "uuid": "38f88aa5-03f0-4608-ac46-6b9cad7cb1c4"}, {"mount": "/boot/efi", "device": "/dev/nvme0n1p1", "fstype": "vfat", "options": "rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro", "dump": 0, "passno": 0, "size_total": 313942016, "size_available": 313483264, "block_size": 4096, "block_total": 76646, "block_available": 76534, "block_used": 112, "inode_total": 0, "inode_available": 0, "inode_used": 0, "uuid": "71C2-949D"}], "ansible_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_proc_cmdline": {"BOOT_IMAGE": "/boot/vmlinuz-6.15-x86_64", "root": ["UUID=38f88aa5-03f0-4608-ac46-6b9cad7cb1c4", "/dev/mapper/luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7"], "rw": true, "reboot": "acpi", "quiet": true, "cryptdevice": "UUID=9cf04ebe-7c4d-4987-afa5-0585f14cd1d7:luks-9cf04ebe-7c4d-4987-afa5-0585f14cd1d7", "splash": true, "resume": "/dev/mapper/luks-e3c32a55-f6b4-4d3d-a17a-9901f57c152f", "udev.log_priority": "3", "nmi_watchdog": "0", "nowatchdog": true}, "ansible_loadavg": {"1m": 0.2802734375, "5m": 0.42822265625, "15m": 0.6044921875}, "ansible_service_mgr": "systemd", "gather_subset": ["all"], "module_setup": true}, "_ansible_verbose_override": true, "changed": false, "_ansible_no_log": false}, "start": "2025-08-29T13:50:23.022409+00:00", "end": "2025-08-29T13:50:24.470923+00:00", "duration": 1.448514, "event_loop": null, "uuid": "cb063171-5ce1-4599-affd-7d8371ac5298"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/8-c403a83c-0a7d-9b7b-9dbc-000000000003.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/8-c403a83c-0a7d-9b7b-9dbc-000000000003.json new file mode 100644 index 0000000..dcb3dee --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/8-c403a83c-0a7d-9b7b-9dbc-000000000003.json @@ -0,0 +1 @@ +{"uuid": "c403a83c-0a7d-9b7b-9dbc-000000000003", "counter": 8, "stdout": "\r\nTASK [Print message] ***********************************************************", "start_line": 7, "end_line": 9, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "playbook_on_task_start", "pid": 898727, "created": "2025-08-29T13:50:24.474955+00:00", "parent_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "name": "Print message", "is_conditional": false, "uuid": "c403a83c-0a7d-9b7b-9dbc-000000000003"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/9-7e57ba93-8391-4941-b5ca-f7185a770ca6.json b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/9-7e57ba93-8391-4941-b5ca-f7185a770ca6.json new file mode 100644 index 0000000..c976cc8 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/job_events/9-7e57ba93-8391-4941-b5ca-f7185a770ca6.json @@ -0,0 +1 @@ +{"uuid": "7e57ba93-8391-4941-b5ca-f7185a770ca6", "counter": 9, "stdout": "", "start_line": 9, "end_line": 9, "runner_ident": "d5fdc75b-c25d-418f-982d-3a0872a2792f", "event": "runner_on_start", "pid": 898727, "created": "2025-08-29T13:50:24.475556+00:00", "parent_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000003", "event_data": {"playbook": "playbook.yml", "playbook_uuid": "48db46ba-55d1-4954-8db6-37caef1fd04f", "play": "Simple playbook", "play_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000001", "play_pattern": "localhost", "task": "Print message", "task_uuid": "c403a83c-0a7d-9b7b-9dbc-000000000003", "task_action": "debug", "resolved_action": null, "task_args": "", "task_path": "/home/jonnybravo/Projekte/Python_Skripte/play_ansible/run_play/play/playbook.yml:6", "host": "localhost", "uuid": "7e57ba93-8391-4941-b5ca-f7185a770ca6"}} \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/rc b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/rc new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/rc @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/status b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/status new file mode 100644 index 0000000..a44f01d --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/status @@ -0,0 +1 @@ +successful \ No newline at end of file diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/stderr b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/stderr new file mode 100644 index 0000000..e69de29 diff --git a/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/stdout b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/stdout new file mode 100644 index 0000000..f6311de --- /dev/null +++ b/play_ansible/run_play/play/artifacts/d5fdc75b-c25d-418f-982d-3a0872a2792f/stdout @@ -0,0 +1,15 @@ +[WARNING]: No inventory was parsed, only implicit localhost is available +[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' + +PLAY [Simple playbook] ********************************************************* + +TASK [Gathering Facts] ********************************************************* +ok: [localhost] + +TASK [Print message] *********************************************************** +ok: [localhost] => { + "msg": "Hello Ansible World" +} + +PLAY RECAP ********************************************************************* +localhost : ok=2  changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 diff --git a/play_ansible/run_play/play/playbook.yml b/play_ansible/run_play/play/playbook.yml new file mode 100644 index 0000000..cc51438 --- /dev/null +++ b/play_ansible/run_play/play/playbook.yml @@ -0,0 +1,8 @@ +--- +- name: "Simple playbook" + hosts: localhost + connection: local + tasks: + - name: Print message + debug: + msg: Hello Ansible World diff --git a/play_ansible/run_play/playbook.yml b/play_ansible/run_play/playbook.yml new file mode 100644 index 0000000..cc51438 --- /dev/null +++ b/play_ansible/run_play/playbook.yml @@ -0,0 +1,8 @@ +--- +- name: "Simple playbook" + hosts: localhost + connection: local + tasks: + - name: Print message + debug: + msg: Hello Ansible World diff --git a/play_ansible/run_play/poetry.lock b/play_ansible/run_play/poetry.lock new file mode 100644 index 0000000..7a99efd --- /dev/null +++ b/play_ansible/run_play/poetry.lock @@ -0,0 +1,160 @@ +# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand. + +[[package]] +name = "ansible-runner" +version = "2.4.1" +description = "\"Consistent Ansible Python API and CLI with container and process isolation runtime capabilities\"" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "ansible_runner-2.4.1-py3-none-any.whl", hash = "sha256:ef4efe906414f6e9a4c2e41d131fabc3bfe952f16edded7bdc06d597b05f0eb6"}, + {file = "ansible_runner-2.4.1.tar.gz", hash = "sha256:11d717da4dd8d93d56703a4a98e5f2154026a7ed1b46d9930902b8298dc67d09"}, +] + +[package.dependencies] +packaging = "*" +pexpect = ">=4.5" +python-daemon = "*" +pyyaml = "*" + +[[package]] +name = "lockfile" +version = "0.12.2" +description = "Platform-independent file locking module" +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"}, + {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"}, +] + +[[package]] +name = "packaging" +version = "25.0" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +description = "Pexpect allows easy control of interactive console applications." +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, +] + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] + +[[package]] +name = "python-daemon" +version = "3.1.2" +description = "Library to implement a well-behaved Unix daemon process." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "python_daemon-3.1.2-py3-none-any.whl", hash = "sha256:b906833cef63502994ad48e2eab213259ed9bb18d54fa8774dcba2ff7864cec6"}, + {file = "python_daemon-3.1.2.tar.gz", hash = "sha256:f7b04335adc473de877f5117e26d5f1142f4c9f7cd765408f0877757be5afbf4"}, +] + +[package.dependencies] +lockfile = ">=0.10" + +[package.extras] +build = ["build", "changelog-chug", "docutils", "python-daemon[doc]", "wheel"] +devel = ["python-daemon[dist,test]"] +dist = ["python-daemon[build]", "twine"] +static-analysis = ["isort (>=5.13,<6.0)", "pip-check", "pycodestyle (>=2.12,<3.0)", "pydocstyle (>=6.3,<7.0)", "pyupgrade (>=3.17,<4.0)"] +test = ["coverage", "python-daemon[build,static-analysis]", "testscenarios (>=0.4)", "testtools"] + +[[package]] +name = "pyyaml" +version = "6.0.2" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, +] + +[metadata] +lock-version = "2.1" +python-versions = ">=3.10" +content-hash = "eec670dd5f348fab7097dd61aa2892d33e5db8f0146c9234238a36372f6478a8" diff --git a/play_ansible/run_play/pyproject.toml b/play_ansible/run_play/pyproject.toml new file mode 100644 index 0000000..986ba49 --- /dev/null +++ b/play_ansible/run_play/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "run_ansible_play" +version = "0.1.0" +description = "Dieses Projekt soll Plays virsual darstellen auf flask" +authors = [ + {name = "Jonny Bravo", email = "mr.blue82@gmail.com"} +] +readme = "README.md" +requires-python = ">=3.10" +dependencies = [ + "ansible_runner" +] + +[build-system] +build-backend = "poetry.core.masonry.api" diff --git a/play_ansible/run_play/requirements.txt b/play_ansible/run_play/requirements.txt new file mode 100644 index 0000000..3d95cb9 --- /dev/null +++ b/play_ansible/run_play/requirements.txt @@ -0,0 +1 @@ +ansible-runner diff --git a/play_ansible/run_play/run_play.py b/play_ansible/run_play/run_play.py new file mode 100644 index 0000000..8f551fc --- /dev/null +++ b/play_ansible/run_play/run_play.py @@ -0,0 +1,3 @@ +import ansible_runner +r = ansible_runner.run(private_data_dir='play', playbook='playbook.yml') +print("{}: {}".format(r.status, r.rc)) diff --git a/play_ansible/run_play/src/run_play/__init__.py b/play_ansible/run_play/src/run_play/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/play_ansible/run_play/start_eval.sh b/play_ansible/run_play/start_eval.sh new file mode 100755 index 0000000..34bebb1 --- /dev/null +++ b/play_ansible/run_play/start_eval.sh @@ -0,0 +1 @@ +eval $(poetry env activate) diff --git a/play_ansible/run_play/tests/__init__.py b/play_ansible/run_play/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test_skripte/frozen_dict.py b/test_skripte/frozen_dict.py new file mode 100644 index 0000000..643ff1e --- /dev/null +++ b/test_skripte/frozen_dict.py @@ -0,0 +1,12 @@ +from frozendict import frozendict + +config = frozendict(host="localhost", port=8080) +print(config["host"]) + + +permissions = { + frozendict(role="admin"): ["read", "write", "delete"], + frozendict(role="viewer"): ["read"], +} + +print(permissions[frozendict(role="admin")]) diff --git a/test_skripte/liste_abfragen.py b/test_skripte/liste_abfragen.py new file mode 100644 index 0000000..97c90db --- /dev/null +++ b/test_skripte/liste_abfragen.py @@ -0,0 +1,3 @@ +test = ["la", "li", "lu"] +if "lu" in test: + print("Ja lu ist vorhanden")