constrict0r.aptitude
Eignung
.. image:: https://gitlab.com/constrict0r/aptitude/badges/master/pipeline.svg :alt: Pipeline
.. image:: https://travis-ci.com/constrict0r/aptitude.svg :alt: Travis
.. image:: https://readthedocs.org/projects/aptitude/badge :alt: Readthedocs
Ansible-Rolle, die als Wrapper für apt <https://wiki.debian.org/Apt>
_ zur Verwaltung von Paketen verwendet wird.
.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/avatar.png :alt: Avatar
Vollständige Dokumentation auf Readthedocs <https://aptitude.readthedocs.io>
_.
Quellcode auf:
Github <https://github.com/constrict0r/aptitude>
_.
Gitlab <https://gitlab.com/constrict0r/aptitude>
_.
Teil von: <https://gitlab.com/explore/projects?tag=doombot>
_
.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/doombot.png :alt: Doombot
Zutaten
.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/ingredient.png :alt: Zutat
Inhalt
Beschreibung <#Description>
_Verwendung <#Usage>
_Variablen <#Variables>
_pakete <#packages>
_pakete_aufräumen <#packages-purge>
_konfiguration <#configuration>
_
YAML <#YAML>
_Attribute <#Attributes>
_item_erweitern <#item-expand>
_item_pfad <#item-path>
_
Anforderungen <#Requirements>
_Kompatibilität <#Compatibility>
_Lizenz <#License>
_Links <#Links>
_UML <#UML>
_Bereitstellung <#deployment>
_Haupt <#main>
_
Autor <#Author>
_
Beschreibung
Ansible-Rolle, die als Wrapper für apt zur Verwaltung von Paketen verwendet wird.
Diese Rolle führt die folgenden Aktionen aus:
Stellt sicher, dass die Anforderungen installiert sind.
Stellt sicher, dass der aktuelle Benutzer administrative (Root) Berechtigungen erhält.
Aktualisiert den apt-Cache.
Wenn die Variable pakete_aufräumen definiert ist, werden die dort aufgeführten Pakete gelöscht.
Wenn die Variable konfiguration definiert ist, werden die aufgelisteten pakete_aufräumen gelöscht.
Wenn die Variable pakete definiert ist, werden die dort aufgeführten Pakete installiert.
Wenn die Variable konfiguration definiert ist, werden die dort aufgeführten Pakete installiert.
Verwendung
- Installation und Ausführung:
..
::
ansible-galaxy install constrict0r.aptitude
ansible localhost -m include_role -a name=constrict0r.aptitude -K
- Variablen übergeben:
..
::
ansible localhost -m include_role -a name=constrict0r.aptitude -K \
-e "{pakete: [gedit, rolldice]}"
- Rolle in einem Playbook einfügen:
..
::
- hosts: server
roles:
- {role: constrict0r.aptitude}
- Rolle als Abhängigkeit einer anderen Rolle einfügen:
..
::
dependencies:
- role: constrict0r.aptitude
pakete: [gedit, rolldice]
- Rolle aus Aufgaben verwenden:
..
::
- name: Rolle ausführen.
import_role:
name: constrict0r.aptitude
vars:
pakete: [gedit, rolldice]
Um Tests auszuführen:
::
cd aptitude chmod +x testme.sh ./testme.sh
Für einige Tests müssen Sie möglicherweise sudo verwenden, um erfolgreich zu sein.
Variablen
Die folgenden Variablen werden unterstützt:
pakete
Liste von Paketen, die über apt installiert werden sollen.
Diese Liste kann geändert werden, indem ein pakete Array beim Einfügen der Rolle in ein Playbook oder über –extra-vars im Terminal übergeben wird.
Diese Variable ist standardmäßig leer.
::
Einfügen über das Terminal.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{pakete: [gedit, rolldice]}"
Einfügen in einem Playbook.
- hosts: server
roles:
- role: constrict0r.aptitude
pakete:
- gedit
- rolldice
- role: constrict0r.aptitude
pakete:
In ein Playbook vom Terminal.
ansible-playbook -i inventory my-playbook.yml -K -e
"{pakete: [gedit, rolldice]}"
pakete_aufräumen
Liste von Paketen, die mit apt gelöscht werden sollen.
Diese Liste kann geändert werden, indem ein pakete_aufräumen Array beim Einfügen der Rolle in ein Playbook oder über –extra-vars im Terminal übergeben wird.
Diese Variable ist standardmäßig leer.
::
Einfügen über das Terminal.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"{pakete_aufräumen: [gedit, rolldice]}"
Einfügen in einem Playbook.
- hosts: server
roles:
- role: constrict0r.aptitude
pakete_aufräumen:
- gedit
- rolldice
- role: constrict0r.aptitude
pakete_aufräumen:
In ein Playbook vom Terminal.
ansible-playbook -i inventory my-playbook.yml -K -e
"{pakete_aufräumen: [gedit, rolldice]}"
konfiguration
Absoluter Dateipfad oder URL zu einer .yml-Datei, die alle oder einige der von dieser Rolle unterstützten Variablen enthält.
Es wird empfohlen, eine .yml- oder .yaml-Erweiterung für die konfiguration-Datei zu verwenden.
Diese Variable ist standardmäßig leer.
::
Verwendung des Dateipfads.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"konfiguration=/home/benutzername/meine-konfiguration.yml"
Verwendung der URL.
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e
"konfiguration=https://meine-url/meine-konfiguration.yml"
Um zu sehen, wie Sie eine Konfigurationsdatei schreiben, siehe den Abschnitt YAML-Dateiformat.
YAML
Beim Übergeben von Konfigurationsdateien an diese Rolle als Parameter wird empfohlen, jeder Datei die Erweiterung .yml oder .yaml hinzuzufügen.
Es wird auch empfohlen, am Anfang jeder Datei drei Striche hinzuzufügen:
::
Sie können in der Datei die für Ihre Aufgaben erforderlichen Variablen einfügen:
::
pakete: - [gedit, rolldice]
Wenn Sie möchten, dass diese Rolle die Liste von Elementen aus Dateien und URLs lädt, können Sie die Variable erweitern auf true setzen:
::
pakete: /home/benutzername/meine-konfiguration.yml
erweitern: true
Wenn die Variable erweitern false ist, wird jeder gefundene Dateipfad oder URL als reiner Text behandelt.
Attribute
Auf der Elementebene können Sie Attribute verwenden, um zu konfigurieren, wie diese Rolle die Elementdaten verarbeitet.
Die von dieser Rolle unterstützten Attribute sind:
item_erweitern
Boolean-Wert, der angibt, ob dieses Element als Dateipfad oder URL oder einfach als reiner Text behandelt werden soll.
::
pakete: - item_erweitern: true item_pfad: /home/benutzername/meine-konfiguration.yml
item_pfad
Absoluter Dateipfad oder URL zu einer .yml-Datei.
::
pakete: - item_pfad: /home/benutzername/meine-konfiguration.yml
Dieses Attribut funktioniert auch mit URLs.
Anforderungen
Ansible <https://www.ansible.com>
_ >= 2.8.Jinja2 <https://palletsprojects.com/p/jinja/>
_.Pip <https://pypi.org/project/pip/>
_.Python <https://www.python.org/>
_.PyYAML <https://pyyaml.org/>
_.Requests <https://2.python-requests.org/en/master/>
_.
Wenn Sie die Tests ausführen möchten, benötigen Sie auch:
Docker <https://www.docker.com/>
_.Molecule <https://molecule.readthedocs.io/>
_.Setuptools <https://pypi.org/project/setuptools/>
_.
Kompatibilität
Debian Buster <https://wiki.debian.org/DebianBuster>
_.Debian Raspbian <https://raspbian.org/>
_.Debian Stretch <https://wiki.debian.org/DebianStretch>
_.Ubuntu Xenial <http://releases.ubuntu.com/16.04/>
_.
Lizenz
MIT. Weitere Details finden Sie in der LICENSE-Datei.
Links
Github <https://github.com/constrict0r/aptitude>
_.Gitlab <https://gitlab.com/constrict0r/aptitude>
_.Gitlab CI <https://gitlab.com/constrict0r/aptitude/pipelines>
_.Readthedocs <https://aptitude.readthedocs.io>
_.Travis CI <https://travis-ci.com/constrict0r/aptitude>
_.
UML
Bereitstellung
Die vollständige Projektstruktur wird unten angezeigt:
.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/deploy.png :alt: Bereitstellung
Haupt
Der Datenfluss des Projekts wird unten angezeigt:
.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/main.png :alt: Haupt
Autor
.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/author.png :alt: Autor
Der reisende Vodeville-Bösewicht.
Viel Spaß!!!
.. image:: https://gitlab.com/constrict0r/img/raw/master/aptitude/enjoy.png :alt: Genießen
Wrapper for apt to install Debian packages.
ansible-galaxy install constrict0r.aptitude