Terraform Helferlein

18 Mär 2023 Lesezeit: 2 Minuten

Wir alle kennen das Problem mit dem man sich rumschlagen muss, wenn man sich mit der Verwaltung von Infrastruktur beschäftigt. Das ständige hin und her von verschiedenen Tools und Konfigurationsdateien kann echt nervig sein. Aber keine Sorge, ich habe hier ein paar Tools für euch, die euch das Leben leichter machen können.

Terragrunt

Erstens haben wir Terragrunt, ein Tool, das die Verwaltung von Terraform-Projekten erleichtert. Terragrunt ermöglicht es uns, Terraform-Konfigurationsdateien in einzelne Module zu unterteilen und automatisch zu verwalten, was den Arbeitsablauf deutlich verbessert.

Terraformer

Als nächstes haben wir Terraformer, ein Tool, das es uns ermöglicht, bereits bestehende Cloud-Infrastrukturressourcen in Terraform-Konfigurationsdateien umzuwandeln. Das ist super praktisch, wenn ihr eure bereits vorhandene Infrastruktur in einer Terraform-Konfiguration verwalten möchtet, ohne alles von Grund auf neu zu erstellen.

Terraform-docs

Drittens haben wir Terraform-docs, ein Tool, das es uns ermöglicht, unsere Terraform-Konfigurationsdateien automatisch zu dokumentieren. Damit sparen wir uns eine Menge Zeit und Mühe, wenn es darum geht, unsere Konfigurationsdateien sauber und gut strukturiert zu halten.

hcl2json

Und zu guter Letzt haben wir hcl2json, ein Tool, das uns hilft, unsere HCL (HashiCorp Configuration Language)-Dateien in JSON-Dateien umzuwandeln. Das ist praktisch, wenn wir unsere HCL-Dateien in anderen Tools verwenden möchten, die nur JSON-Dateien unterstützen.


Automatisierung in Trello - kleine Helferlein

17 Nov 2022 Lesezeit: ~1 Minute

Ich stehe ja seit einiger Zeit so ziemlich auf personal Kanban. Es hilft mir mich mit den Vielen Themen die mich umgeben zu organisieren und immer ein kleines bisschen weiter zu kommen und dabei möglichst wenig zu vergessen. Ich liebe es, wenn ich in jeder Situation schauen kann, was der letzte Status, die letzte Absprache oder ähnliches war. Noch besser finde ich die Möglichkeit mit Partnerin und Freunden, mit Kindern oder Geschäftskunden gemeinsam Transparenz zu schaffen.

Nun nutze ich für all das gern Trello - jaja.. ich weiß, nicht die geilste Entscheidung. Aber ich bin faul und es funktioniert und ich hab keinen Bock was selbst zu hosten.

Trello ist allerdings ziemlich dumm und personal Kanban gebietet mir, mein Board ständig dem aktuellen Wertefluss und notwendigen gegebenheiten anzupassen. Da ich faul bin, will ich manches automatisieren. Zum Beispiel die Sortierung, wer wo zugeordnet ist, welches Label vergeben wird und so weiter.

Da kann man froh sein, dass es hier schon was gibt. Schaut euch also schlau, wie ihr eurer Trello ein wenig fluffiger macht.


Mit Ansible die Landschaft aktualisieren

2 Mär 2016 Lesezeit: 2 Minuten

Das Ansible für mich der logische nächste schritt nach der Shell ist, sobald es um die Verwaltung von Servern geht, habe ich vielleicht hier und da schon mal durchblicken lassen. Der Hintergrund ist einfach:

  • Es sollte ein Anliegen sein wiederkehrende Arbeitsschritte systematisch gleich durchzuführen
  • Es sollte ein Anliegen sein die zu erledigenden Aufgaben transparent zu halten
  • Es sollte ein Anliegen sein seine Arbeiten reproduzierbar auf andere Systeme anwenden zu können
  • Es macht einfach Spaß, wenn man sich nicht mehr mit dem quatsch der unterschiedlichen Systeme befassen zu müssen.

Mit Ansible Playbooks habe ich als Systemverwalter die Möglichkeit meine Schritte in einfacher Art und Weise (fast schon stenografisch) nieder zuschreiben und so einen Ablauf zu skizzieren, welche Arbeiten/Schritte/Rahmenbedingungen auf dem von mir zu verwaltenden System durchgeführt/vorhanden sein sollen.

Ansible selbst kümmert sich dann um die Abstraktion zum System hin, auf dem ich dann letztendlich die Skizze ausführe.

Wenn ich nun eine gewachsene Landschaft mit unterschiedlichen Linux-Distributionen habe, kann Ansible mir helfen diese aktuell zu halten. Das einfache Playbook dazu sieht wie folgt aus:

---
- hosts: all:!switche:!windows
 user: root
 gather_facts: true

 tasks:
 - name: apt update
 action: apt update_cache=yes
 when: ansible_distribution == "Ubuntu" or ansible_distribution == "Debian"

 - name: apt upgrade
 action: apt upgrade=dist force=yes
 when: ansible_distribution == "Ubuntu" or ansible_distribution == "Debian"

 - name: yum upgrade
 action: yum name=* state=latest
 when: ansible_distribution == "CentOS"

 - name: dnf upgrade
 action: yum name=* state=latest
 when: ansible_distribution == "Fedora"

Wenn ich dieses Playbook nun auf meine Landschaft loslasse:

ansible-playbook playbooks/linux-upgrade.yml

 spielt es keine Rolle mehr, ob die Eingesetzte Distribution ein Debian, Ubuntu, Fedora oder CentOS ist. Alle werden mit den eigenen Paketmanagern aktualisiert