-
Get systemd services in ansible plays
Hi, this is a tip to get details about linux (e.g. systemd) services in an ansible play. Just use the ansible service_facts module. You can use it without passing any argument. – name: Populate service facts ansible.builtin.service_facts: You can access services by using ansible_facts.services. As this is an dictionary, a single service is addressable by using ansible_facts.services[{{ service-name }}]. – name: show all service facts debug: var: ansible_facts.services[{{ service_name }}] A few more examples: – name: Retrieve data about single service debug: var: ansible_facts.services.httpd – name: get a particular service attribute debug: var: ansible_facts.services.httpd.state – name: Test (RHEL7 and higher) if service is up and running fail: msg: “Service httpd…
-
use ansible module copy instead of template for small files
In order to adapt files and their content on target servers I am used to using ansible copy module. owever, if you only have a small file with just one or a few lines, you can do so without creating a jinja2 template. Here is the little cheat: Just use ansible’s copy module. – copy: content: “env: {{ my_environment_var }}” dest: /app/env.cfg That’s it. This creates a file with variable content, without need to create a template.
-
merge particular files in another branch
Every now and then I am faced with the question of how I can transfer individual files from a feature branch. git cherry-pick is intended for taking over the contents of a commit. But if I only want to take over individual files, this tool is probably not the solution. In order not to make it too exciting, here is the simple answer: I want to explain it using a specific example. In the feature branch 426-great-new-feature I have the files iWwantThat.yml and alsoNeeded2.py. To transfer these two files and only these to the main branch, I switch to the main branch and run the git checkout: git checkout main…
-
Powershell Tip: Find all files larger than X bytes in a directory structure
In order to output all files larger than a certain size on Windows systems, you do not have to use the explorer search. A Powershell script does this very efficiently. The result is shown in a gridview window: If the last part | Out-GridView is omitted, the output in the console is required.
-
Convert JSON to YAML and back using python
Just a few lines of code to convert json to yaml and back. Convert JSON to YAML Convert YAML to JSON
-
HTTPS Setup für eine Flask Anwendung – Teil 2
Im ersten Teil habe ich die Einrichtung des Ubuntu Servers für meine kleine Webanwendung für den isländisch Kurs beschrieben. Im zweiten Teil möchte ich kurz auf die HTTPS Einrichtung eingehen. Die DigitalOcean Anleitung für Ubuntu 18.04 funktioniert nicht unter Ubunt 20.x. Bitte darauf achren, die Anleitung für das eingesetzte Ubuntu Release (hier 20.04) zu verwenden, falls vorhanden. Das verwendete Repository ppa:certbot/certbot ist im Status DEPRECATED. Daher wird der Certbot für die Let’s Encrypt Zertifikate apt install python3-certbot-apache Ein Apache Virtual Host ist Vorausssetzung für die nächsten Schritte. Die Einrichung habe ich in Teil 1 beschrieben. HTTPS Zugriff durch die Firewall Der aktuelle Status der Firewall wird mit ufw abgefragt: sudo…
-
Web Anwendung basierend auf Python Flask – Teil 3
Der dritte Teil beschreibt die Webanwendung meines Isländisch Trainers. Ich habe den Quellcode auf Gihub veröffentlicht. Der hauptteil der Anwendung besteht aus 2 Webseiten. Die erste eröffnet eine Session und zeigt ein Wort aus einer Liste an. Die Wörterliste ist im yaml Format erstellt. Die Struktur entspricht einen Dictionary: Ein Zufallsgenerator suche ein Wort aus dieser Liste und zeigt die deutsche Übersetzung an. Der Lernwillige kann sich die Deklinaktion der Fälle in Singular und Plural, mit und ohne Artikel ansehen. Ob seine Kenntnisse richtig sind, zeigt Seite 2 nach Absenden des Formulars in Form eines simplen Buttons an. Die Lösungsseite zeigt die korrekten Deklinationen an und eine Link auf die…
-
Digitalocean Setup für eine Flask Anwendung – Teil 1
Dieser Blog wird Teil einer Serie für eine Web Anwendung in Python auf einer Cloud Instanz. Ich habe mich für DigialOcean entschieden. Linode, Azure, GCP, … wären alle genau so gut für diesen Zweck. Die Anwendung wird aus einer Liste von Vokabeln ein Wort in Deutsch heraussuchen und anzeigen. Auf einer zweiten Seite wird die Übersetzung des Worts und die Deklination angezeigt. Im ersten Teil werde ich die Einrichtung des Servers beschreiben. Teil 2 wird die HTTPS Konfiguration behandeln. Teil 3 schliesslich beschreibt die Python Flask Anwendung und deren Deployment mit Github Actions. Teil 4 wird die Einrichtung der Subdomain is.hslomka.de und die Umleitung auf meinen Server beinhalten. Das Ergebnis…
-
Prozess zu einem offenen Port ermitteln
Um den Prozess zu einem offenen Port zu finden gibt es verschiedene Möglichkeiten. Als Beispiel wollen wir für einen Port 5000 in Erfahrung bringen, welcher Prozess dahinter läuft. Der erste Versuch könnte ein grep auf den Port mit ps -ef sein. Dieser Ansatz ist nur ergfolgreich, wenn ein Prozess den Port als Argument übergeben bekommt. Das ist nur in wenigen Fällen so. LSOF lsof mit der Option -i gefolgt von :<PORT> werden die Prozess angezeigt, die diesen Port offen halten.❗ Wenn man nicht der technische Benutzer ist, unter dem der Prozess läuft, sieht man keine Ausgabe: Mit sudo oder als Benutzer, dem der Prozess gehört, wird der Prozessnamen und die…
-
Daten Visualisierung
Bezüglich Datenvisualisierung bin ich vor Kurzem auf einen Bericht gestossen. Er ist inhaltich zwar sehr umfassend, aber trotzdem gut lesbar und in dem Sinne kompakt, dass der Inhalt nicht zu gesprächig erläutert wird. Das Dokument ist auf Github als Web Version, EPub und PDF verfügbar: Data Visualization Guide for Presentations, Reports, and Dashboards Ich kann das Dokument uneingeschränkt empfehlen.