❌

Normale Ansicht

Redlib – Alternatives Reddit Frontend

14. Juli 2024 um 08:25

Ein neuer adminForge Service kann ab sofort genutzt werden.

Redlib ist ein datenschutzorientiertes und quelloffenes Frontend für Reddit.

Redlib

Redlib ist ein datenschutzorientiertes und quelloffenes Frontend für Reddit.

https://reddit.adminforge.de

Features:

🚀 Schnell: geschrieben in Rust für blitzschnelle Geschwindigkeit und Speichersicherheit
☁️ Leicht: kein JavaScript, keine Werbung, kein Tracking, keine Aufblähung
🕵 Privat: alle Anfragen werden über den Server geleitet, einschließlich Medien
🔒 Sicher: starke Content Security Policy verhindert Browser-Anfragen an Reddit

Browser Addons:

Mit dieser Erweiterung könnt ihr sämtlichen Reddit Traffic in eurem Browser auf eine Redlib Instanz umleiten.

Firefox: LibRedirect
Chrome: LibRedirect

Software: Redlib

 

Euer adminForge Team

UnterstützenDas Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.
Unterstütze unsere Arbeit mit einer Spende und diskutiere in unserem Chat mit.

by adminForge.

Beispiele für Ansibles ‚var is defined‘

08. Juli 2024 um 05:00

In diesem Beitrag gebe ich einige Beispiele mit Erklärungen zu Ansible Conditionals, welche mir in der Dokumentation fehlen. Dieser Artikel dient mir zur Erinnerung und mag Einsteigern helfen, ein besseres Verständnis der Bedingung is defined zu gewinnen.

Wird in einem Task eine Variable verwendet, welche nicht definiert ist, bricht Ansible die Verarbeitung eines Playbooks mit einem Fehler ab. Der folgende Code-Block zeigt ein einfaches Playbook mit anschließender Ausgabe des Playbooklaufs, um dies zu verdeutlichen. Der Task beinhaltet dabei bereits eine Bedingung. Er soll nur dann ausgeführt werden, wenn die Variable my_var den Wert Hello world! enthält.

]$ cat test_conditionals.yml 
---
- name: Play around with conditionals
  hosts: localhost
  gather_facts: false

  tasks:
    - name: >-
        When all conditionals are met, print the variable value using
        ansible.builtin.debug
      when:
        - my_var == "Hello world!"
      ansible.builtin.debug:
        var: my_var

]$ ansible-playbook -i hosts test_conditionals.yml 

PLAY [Play around with conditionals] *******************************************

TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
fatal: [localhost]: FAILED! => {"msg": "The conditional check 'my_var == \"Hello world!\"' failed. The error was: error while evaluating conditional (my_var == \"Hello world!\"): 'my_var' is undefined. 'my_var' is undefined\n\nThe error appears to be in '/home/tronde/ansible/test_conditionals.yml': line 7, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n  tasks:\n    - name: >-\n      ^ here\n"}

PLAY RECAP *********************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

Der Text 'my_var' is undefined in obiger Fehlerausgabe benennt den Grund des Scheiterns.

Nun gibt es Fälle, in denen Tasks, welche undefinierte Variablen enthalten, nicht zum Abbruch des gesamten Playbooks führen sollen. Stattdessen soll der betroffene Task einfach übersprungen werden. Dies erreicht man mit der Bedingung `is defined`. Der nächste Code-Block liefert wieder ein Beispiel dazu.

]$ cat test_conditionals.yml
---
- name: Play around with conditionals
  hosts: localhost
  gather_facts: false

  tasks:
    - name: >-
        When all conditionals are met, print the variable value using
        ansible.builtin.debug
      when:
        - my_var is defined
        - my_var == "Hello world!"
      ansible.builtin.debug:
        var: my_var

]$ ansible-playbook -i hosts test_conditionals.yml

PLAY [Play around with conditionals] *******************************************

TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
skipping: [localhost]

PLAY RECAP *********************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

Der Task mit der undefinierten Variable wurde übersprungen (skipped) und das Playbook erfolgreich beendet.

Im nächsten Beispiel habe ich die Variable my_var im Playbook definiert und den passenden Wert zugewiesen.

]$ cat test_conditionals.yml
---
- name: Play around with conditionals
  hosts: localhost
  gather_facts: false
  vars:
    my_var: Hello world!

  tasks:
    - name: >-
        When all conditionals are met, print the variable value using
        ansible.builtin.debug
      when:
        - my_var is defined
        - my_var == "Hello world!"
      ansible.builtin.debug:
        var: my_var

]$ ansible-playbook -i hosts test_conditionals.yml

PLAY [Play around with conditionals] *******************************************

TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
ok: [localhost] => {
    "my_var": "Hello world!"
}

PLAY RECAP *********************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Das war auch schon alles für heute. Ihr seht, es ist keine Hexerei. Mir hilft es, die Bedeutung von is defined zu erinnern, wenn ich es einmal aufgeschrieben habe.

Zum Ende gibt es noch einen Code-Block, der zeigt, dass dies auch mit Dictionaries funktioniert:

]$ cat test_conditionals.yml
---
- name: Play around with conditionals
  hosts: localhost
  gather_facts: false
  vars:
    my_dict:
      my_var: Hello world!

  tasks:
    - name: >-
        When all conditionals are met, print the variable value using
        ansible.builtin.debug
      when:
        - my_dict.my_var is defined
        - my_dict.my_var == "Hello world!"
      ansible.builtin.debug:
        var: my_dict.my_var

]$ ansible-playbook -i hosts test_conditionals.yml

PLAY [Play around with conditionals] *******************************************

TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
ok: [localhost] => {
    "my_dict.my_var": "Hello world!"
}

PLAY RECAP *********************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

In der Kategorie Ansible findet ihr weitere Artikel rund um Ansible. Viel Spaß beim Stöbern.

SafeTwitch

07. Juli 2024 um 10:27

Ein neuer adminForge Service kann ab sofort genutzt werden.

SafeTwitch ist ein datenschutzorientiertes und quelloffenes Frontend für Twitch.

SafeTwitch

SafeTwitch ist ein datenschutzorientiertes und quelloffenes Frontend für Twitch.

https://safetwitch.adminforge.de

Features:

  • Keine Verbindung zu Twitch/Amazon
  • Keine Werbung oder Tracking
  • Keine externen Verbindungen, die einzige Verbindung ist zur Instanz
  • Keine Logs
  • Viel kleinere Seiten im Vergleich zu Twitch (<1,6mb mit Bildern im Vergleich zu >8,2mb)
  • Folgen Sie Streamern lokal
  • Unendliches Scrollen

Software: SafeTwitch

 

Euer adminForge Team

UnterstützenDas Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.
Unterstütze unsere Arbeit mit einer Spende und diskutiere in unserem Chat mit.

by adminForge.

Mozhi Translate

07. Juli 2024 um 10:12

Ein neuer adminForge Service kann ab sofort genutzt werden.

Alternatives Frontend für die Google, DeepL, DuckDuckGo Übersetzung.

Mozhi Translate

Alternatives Frontend für die Google, DeepL, DuckDuckGo Übersetzung.

https://mozhi.adminforge.de

Features:

  • Dark Theme
  • Spracherkennung
  • Kein Tracking

Software: Mozhi Translate

 

Euer adminForge Team

UnterstützenDas Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.
Unterstütze unsere Arbeit mit einer Spende und diskutiere in unserem Chat mit.

by adminForge.

Ubuntu 24.04 Buch von Josef Moser veröffentlicht

05. Juli 2024 um 07:21

Das Ubuntu 22.04 Buch für Einsteiger Seit Juni 2024 ist das neue Buch von Linux Autor Josef Moser über Ubuntu 24.04 LTS erhältlich. Wie immer handelt es sich dabei um eine sogenannte Schnellanleitung. Das bedeutet, dass es sich inhaltlich hauptsächlich an Linux Einsteiger richtet. Ubuntu zählt zu den beliebtesten Linux Betriebssystemen. Alle zwei Jahre veröffentlicht… Weiterlesen Ubuntu 24.04 Buch von Josef Moser veröffentlicht

Der Beitrag Ubuntu 24.04 Buch von Josef Moser veröffentlicht erschien zuerst auf Die Seite für LINUX UMSTEIGER.

❌