Packer und Proxmox
Worum geht es?
Ich brauche ein paar Windows-Agenten für eine CI/CD-Pipeline, die ich gerne automatisch mit Terraform ausrollen würde. Dafür brauche ich ein Image/Template. Also ein Windows 10 mit etwas vorinstallierter Software, etwas angepasster Konfiguration und natürlich am Ende mit einem Sysprep versehen, damit ich das Ganze auch in Masse ausrollen kann.
Voraussetzungen
Als erstes müsst ihr euch von der Proxmox-Webseite die aktuelle VirtIO-Treiber herunterladen und diese in ein Isoverzeichnis in Proxmox hochladen. Dazu legt ihr am besten noch direkt eure Windows 10 ISO, damit auch diese später eingebunden werden kann.
Lets Encrypt im Homelab
Warum Lets Encrypt im Homelab?
Wir alle kennen das Problem wenn wir zu Hause einzelne Services bereit stellen:
Wo bekomme ich ein Zertifikat, damit ich meine HTTPS-Dienste auch von allen Geräten aus problemlos erreichen kann?
Das Problem gerade bei mobilen Geräten ist, dass die selbst erstellten Zertifikate nicht ohne Probleme installiert werden können. Aber auch dafür gibt es heute eine gute Lösung.
Die eigene Domain @ Home
Was wir jetzt anstreben, ist eine eigene Domain, die wir bei Hetzner hosten, die es uns dann ermöglicht, über ein DNS-Challange-Verfahren ein Lets Encrypt Zertifikat zu erhalten.
Terraform
Was ist Terraform lauf ChatGPT:
Terraform ist ein “Infrastructure as Code” (IaC) Tool, das von HashiCorp entwickelt wurde. Es ermöglicht die Definition, Bereitstellung und Verwaltung von Infrastrukturressourcen auf deklarative Weise. Mit Terraform können Sie Ihre Infrastruktur als Code schreiben, was bedeutet, dass Sie die gesamte Struktur Ihrer IT-Infrastruktur in einer einzigen Konfigurationsdatei abbilden können. Durch die Verwendung von Terraform können Teams Infrastrukturänderungen versionieren, gemeinsam bearbeiten und auf kontrollierte und reproduzierbare Weise implementieren. Dies erleichtert die Automatisierung und Skalierung von Infrastrukturmanagementaufgaben.
Dev zu DevOps
Es war einmal…
Ich bin im Grunde seit meiner Schulzeit Entwickler. Meine ersten Erfahrungen habe ich mit HTML und PHP gesammelt, als ich gerade einmal 11 Jahre alt war.
Um meine Errungenschaften der Welt zu präsentieren, war ein Hosting damals wie heute unerlässlich. Zu Beginn habe ich auf meinem eigenen Rechner mit DynDNS gearbeitet, danach auf meinem HomeLab und schließlich, als die ersten V-Server erschwinglich wurden, auf einem VPS.
All dies war ein Teil meines Weges zum DevOps. Ich habe Erfahrungen mit Linux als Betriebssystem sowohl auf dem Server als auch auf dem Desktop gesammelt. Bei der Entscheidung zur Berufswahl habe ich mich jedoch gegen den Ops-Bereich und eher für den des Developers entschieden. Ich habe diese Entscheidung nie bereut. Ich habe den Ops/Admin-Bereich weiterhin als Hobby in meiner Freizeit ausgeübt und mein Homelab sowie meinen VPS immer weiter gepflegt und ausgebaut.
Ansible
Was ist Ansible?
Ansible ist ein plattformübergreifendes Automatisierungstool, das zur Konfiguration, Verwaltung und Deployment von Systemen, Anwendungen und Netzwerken verwendet wird. Es verwendet eine einfache, aber leistungsstarke YAML-basierte Sprache namens Ansible Playbooks, um IT-Infrastrukturen zu beschreiben und zu automatisieren. Playbooks können auf eine Vielzahl von Aufgaben angewendet werden, wie z.B. die Installation von Software, die Konfiguration von Systemeinstellungen oder die Verwaltung von Netzwerkgeräten.
Ansible ist auch clientlos, was bedeutet, dass keine Agenten auf den Zielsystemen installiert werden müssen. Stattdessen kommuniziert Ansible über SSH oder WinRM (für Windows-Systeme) mit den Zielsystemen und führt die definierten Aktionen aus. Dadurch wird die Komplexität der Infrastruktur automatisiert und vereinfacht, was Zeit und Ressourcen spart und die Fehleranfälligkeit reduziert.
BASTA Spring 2022
Was ist die BASTA
Was sagt die Homepage dazu ?
Die BASTA! ist die führende unabhängige Konferenz
für Microsoft-Technologien im deutschsprachigen Raum.
Auf der Basta geht es vornehmlich um .NET und alles was damit zu tun hat. Dazu kommen noch weitere Themen die sich nicht immer nur um die Entwicklung, sondern auch um etwas, dass über den Tellerrand hinaus gehen drehen. Alles in allem also eine “normale” Konferenz mit dem Schwerpunkt Microsoft .NET.
Warum OpenSource
Mein Weg zu OpenSource Software
Ich bin Softwareentwickler und benutze sehr viele Tools die OpenSource Software (OSS) sind. Zudem betreue ich selbst ein zwei Projekte, die OSS sind und versuche, auch wenn ich es nicht immer schaffe, meinen Beitrag zu anderen Projekten zu leisten. Aber wie bin ich überhaupt auf OSS gestoßen?
Eigentlich fing das schon recht früh an, als ich noch nicht wirklich sicher war, was ich denn mal werden wollte. Ich habe mich schon immer für Computer(Hard- und Software) interessiert und zu der Zeit der LAN-Partys ist man auch schon etwas in den Kontakt mit Linux gekommen. So ergab es sich, dass man auch mal einen alten Rechner als “Gamingserver” für die LAN-Party bereit stellte oder auch ein PHP Forum betrieb. In dieser Zeit bin ich in den kleinen Topf des OSS gefallen. Damals noch nur aus dem Grund, dass OSS kostenlos erhältlich ist aber der Anfang war gemacht.
Hugo auf GitHub-Pages hosten
Was ist Hugo
Hugo ist ein so genannter “static site generator”. Also mit Hilfe einfacher Dateien (In diesem Fall Markdown) generiert Hugo eine statische Internetseite, die man dann ohne PHP, Java oder .NET auf einem ganz einfachen Webserver betreiben kann. Wie man damit umgeht und eine ganz neue Seite erstellt, werde ich ggf. mal in einem weiteren Blogeintrag beschreiben. Heute soll es zunächst erst mal einen Schritt weiter um das gehen, was nach der ersten lokalen Version passiert. Das bereitstellen im Internet. Und das mit ganz einfachen Mitteln und zwar GitHub-Pages.
Umzug auf den Mac
Hintergrund
Ich bin mit WindowsPC´s aufgewachsen. Habe von Win 3.11 über Win95, Millennium, 2000, XP bis heute Windows 10 alles mitgemacht. Nebenbei habe ich immer ein Auge auf Linux und den Mac gehabt, aber mit .NET konnte ich hier nicht viel machen. Im Jahre 2012 habe ich mich dann allerdings doch für ein MacBook Pro entschieden und gesagt meine Entwicklung kann ich auch in einer VM machen und zusätzlich mich ggf. etwas in die Entwicklung für den Mac einarbeiten. Ich wollte gerne meinen Horizont erweitern und auch mal in die schöne Welt des Mac eintauchen. Einige Jahre war ich mit dem MacBook sehr glücklich. Ok ich hatte zu dem Zeitpunkt auch noch einen Desktop PC den ich zum Spielen und Entwickeln im privaten genutzt habe, aber mein täglicher Begleiter war der Mac. Leider wurde dieser auf Dauer etwas laut und heiß, so dass ich ihn nicht auf dem Schoß betreiben konnte wenn ich etwas intensivere Arbeiten verrichten wollte. Also habe ich mich doch wieder für ein Windows/Linux Laptop entschieden und gesagt: Sobald Apple mal wieder ein richtiges ProBook raus bringt schaue ich mir das ganze wieder an. (Die Versionen mit der Touchbar , ohne ESC Taste und F-Key sind für mich raus gefallen) Und so ist es nun in 2021 gekommen. Mit dem M1 Pro hat Apple wieder ein MacBook raus gebracht, was meiner Meinung nach den Zusatz Pro verdient. Alle Tasten sind da, die Power stimmt und es gibt das Teil auch in mehr als 13Zoll. Also angeschaut, verliebt und gekauft.
Verschönere deine PowerShell
Verschöner deine PowerShell
In der vergangenen Woche bin ich durch ein Video von Scott Hanselman wieder auf Oh-My-Posh gestoßen. Auf meinem Linuxrechner benutze ich bereits seit einigen Jahren Oh-My-ZSH. Dies ist genau wie Oh-My-Posh ein Tool, welches es dem Benutzer erlaubt, seine Shell/Terminal optisch etwas aufzuhübschen und mit Informationen/Plugins anzureichern. Da ich im beruflichen Alltag auf Windows10 unterwegs bin und meine private ZSH Konsole doch SEHR mag, suchte ich eigentlich schön länger nach einer Lösung für Windows. Im Zusammenhang mit der neuen PowerShell7 bin ich nun fündig geworden. Scott beschreibt in seinem Video sehr detailliert, wie man die PowerShell, sowie Oh-My-Posh installiert und einen passenden Font von NerdFonts herunterlädt und installiert. Das Ergebnis schau am Ende wie die schöne Konsole auf Linux aus, die ich so lieben gelernt habe.