PHPlist - Die Einfachheit, die ich gesucht und gefunden habe

21 Nov 2023 - Lesezeit: 2 Minuten

Als wir die Jagdakademie Kamener Kreuz aufbauten und einen Newsletter anbieten wollten, war die Auswahl an Anbietern groß, aber keiner schien genau das Richtige zu bieten. Zu kompliziert, zu teuer oder einfach unseriös - das waren meine Eindrücke. PHPlist gab ich eine Chance, und obwohl meine ersten Erwartungen nicht erfüllt wurden, entpuppte es sich nach einer kurzen Lernphase als leistungsstarkes Werkzeug.

Die Kraft der Einfachheit

Die Einfachheit von PHPlist ist seine Stärke. Was anfangs enttäuschend wirkte, entpuppte sich als solide Grundlage, die viel mehr abdeckt, wenn man sie clever nutzt. Ich kann Voranmeldungen über unsere Webseite einfach per AJAX in Form von Listen handhaben. Der Double-Opt-In ist gewährleistet, und Benutzer können sich ebenso leicht wieder abmelden. Call-to-Action ist kein Problem, und terminierte E-Mails lassen sich durch Cronjob-Trigger mühelos realisieren.

Die Lektion der Einfachheit

Dieser erneute Schluss bestätigt meine Überzeugung, dass einfach oft besser ist. Ein solides Produkt benötigt Zeit, um sich auf das Nötigste zu reduzieren und diese Aspekte zu perfektionieren. PHPlist hat sich für mich zu einem unverzichtbaren Werkzeug entwickelt, mit dem ich mehr als 40 Listen, Email Reminder, Kampagnen, Newsletter und interne Kommunikation pflege.

Ideal für Unternehmen und mehr

Für Unternehmen bietet PHPlist eine ideale Plattform, um Mitarbeiter über Neuigkeiten zu informieren. Der einfache Umgang mit aktuellen Themen wird durch PHPlist zu einer mühelosen Aufgabe. Ich sehe E-Mails im Vergleich zu vielen anderen Kommunikationskanälen als den stabilsten, einfachsten, fokussiertesten und ausgereiftesten an - vorausgesetzt, man verwendet sie richtig.


Kubernetes tools für erwachsene - Kyverno

21 Jul 2023 - Lesezeit: 3 Minuten

Installation von Kyverno

Die Installation von Kyverno ist einfach und unkompliziert. Folge den Schritten unten, um Kyverno in einem Kubernetes-Cluster zu installieren:

1. Füge das Kyverno-Helm-Repository hinzu:

helm repo add kyverno https://kyverno.github.io/kyverno/
helm repo update

2. Installiere Kyverno mit Helm:

helm install kyverno-policies kyverno/kyverno-policies -n kyverno

Das war's schon! Kyverno ist jetzt einsatzbereit und bereit, Kubernetes-Policies zu verwalten.

Beispiel: Standardmäßige Quotas auf Namespaces anwenden

Nehmen wir an, man möchte standardmäßig Ressourcenquotas auf alle Namespaces in einem Cluster anwenden, um sicherzustellen, dass Ressourcen verantwortungsbewusst genutzt werden. Mit Kyverno kann man dies mühelos erreichen.

Erstelle eine YAML-Datei mit dem Namen "namespace-default-quota.yaml" und füge den folgenden Inhalt hinzu:

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: add-ns-quota
  annotations:
    policies.kyverno.io/title: Add Quota
    policies.kyverno.io/category: Multi-Tenancy, EKS Best Practices
    policies.kyverno.io/subject: ResourceQuota, LimitRange
    policies.kyverno.io/minversion: 1.6.0
    policies.kyverno.io/description: >-
      To better control the number of resources that can be created in a given
      Namespace and provide default resource consumption limits for Pods,
      ResourceQuota and LimitRange resources are recommended.
      This policy will generate ResourceQuota and LimitRange resources when
      a new Namespace is created.      
spec:
  rules:
  - name: generate-resourcequota
    match:
      any:
      - resources:
          kinds:
          - Namespace
    generate:
      apiVersion: v1
      kind: ResourceQuota
      name: default-resourcequota
      synchronize: true
      namespace: "{{request.object.metadata.name}}"
      data:
        spec:
          hard:
            requests.cpu: '4'
            requests.memory: '16Gi'
            limits.cpu: '4'
            limits.memory: '16Gi'
  - name: generate-limitrange
    match:
      any:
      - resources:
          kinds:
          - Namespace
    generate:
      apiVersion: v1
      kind: LimitRange
      name: default-limitrange
      synchronize: true
      namespace: "{{request.object.metadata.name}}"
      data:
        spec:
          limits:
          - default:
              cpu: 500m
              memory: 1Gi
            defaultRequest:
              cpu: 200m
              memory: 256Mi
            type: Container

Mit diesem Policy-Template sorgt man dafür, dass Ressourcenquotas standardmäßig auf alle Namespaces angewendet werden. Wenn man jetzt einen Namespace erstellt und keine spezifischen Ressourcenquotas definiert, wird automatisch das Standard-Quota gemäß der Policy auf den Namespace angewendet.

Wendet die Policy auf den Cluster an:

kubectl apply -f namespace-default-quota.yaml

Jetzt werden alle neuen Namespaces automatisch mit dem Standard-Quota versehen, und man kann sicher sein, dass Ressourcen verantwortungsbewusst genutzt werden.

Fazit

Kyverno vereinfacht das Policy-Management in Kubernetes und bietet eine effiziente Möglichkeit, Sicherheitsrichtlinien in einem Cluster umzusetzen.

Quellen und Links:


Bildoptimierung fürs Web

20 Jul 2023 - Lesezeit: ~1 Minute

Du hast großartige Bilder für deine Webseite, aber die Dateigröße ist zu groß und sie laden langsam? ImageMagick ist die Lösung! Mit

mogrify -resize 50% *.jpg

kannst du die Bilder effizient anpassen und die Ladezeiten verbessern.

Achte darauf, das richtige Gleichgewicht zwischen Bildqualität und Dateigröße zu finden. ImageMagick bietet vielfältige Optionen, um Bilder zu optimieren und perfekt in dein Webdesign einzufügen.

Quellen und Links: