constrict0r.aptitude

aptitude


Ansibleロールは、パッケージを管理するためのapt <https://wiki.debian.org/Apt>_のラッパーとして使用されます。

完全なドキュメントはReadthedocs <https://aptitude.readthedocs.io>_にあります。

ソースコードは以下でご覧いただけます:

Github <https://github.com/constrict0r/aptitude>_。

Gitlab <https://gitlab.com/constrict0r/aptitude>_。

成分

内容


  • 説明 <#Description>_
  • 使用方法 <#Usage>_
  • 変数 <#Variables>_
    • packages <#packages>_
    • packages_purge <#packages-purge>_
    • configuration <#configuration>_
  • YAML <#YAML>_
  • 属性 <#Attributes>_
    • item_expand <#item-expand>_
    • item_path <#item-path>_
  • 要件 <#Requirements>_
  • 互換性 <#Compatibility>_
  • ライセンス <#License>_
  • リンク <#Links>_
  • UML <#UML>_
    • 展開 <#deployment>_
    • メイン <#main>_
  • 著者 <#Author>_

説明


Ansibleロールは、パッケージを管理するためのaptのラッパーとして使用されます。

このロールは以下のアクションを実行します:

  • 要件がインストールされていることを確認します。

  • 現在のユーザーが管理者(root)権限を取得できることを確認します。

  • aptキャッシュを更新します。

  • packages_purge変数が定義されている場合、そのリストにあるパッケージを削除します。

  • configuration変数が定義されている場合、リストにあるpackages_purgeを削除します。

  • packages変数が定義されている場合、そのリストにあるパッケージをインストールします。

  • configuration変数が定義されている場合、リストにあるパッケージをインストールします。

使用方法


  • インストールして実行する場合:

       ansible-galaxy install constrict0r.aptitude
       ansible localhost -m include_role -a name=constrict0r.aptitude -K
    
  • 変数を渡す場合:

       ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "{packages: [gedit, rolldice]}"
    
  • プレイブックにロールを含める場合:

       - hosts: servers
         roles:
             - {role: constrict0r.aptitude}
    
  • 他のロールの依存関係としてロールを含める場合:

       dependencies:
         - role: constrict0r.aptitude
           packages: [gedit, rolldice]
    
  • タスクからロールを使用する場合:

       - name: Execute role task.
         import_role:
           name: constrict0r.aptitude
         vars:
           packages: [gedit, rolldice]
    

テストを実行するには:

   cd aptitude
   chmod +x testme.sh
   ./testme.sh

いくつかのテストでは、成功するためにsudoを使用する必要があります。

変数


サポートされている変数は以下の通りです:

packages

aptを介してインストールするパッケージのリスト。

このリストは、プレイブックでロールを含める時や、ターミナルから–extra-varsを介して変更できます。

この変数はデフォルトで空です。

   # ターミナルから含める場合。
   ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "{packages: [gedit, rolldice]}"

packages_purge

aptを使用して削除するパッケージのリスト。

このリストは、プレイブックでロールを含める時や、ターミナルから–extra-varsを介して変更できます。

この変数はデフォルトで空です。

   # ターミナルから含める場合。
   ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "{packages_purge: [gedit, rolldice]}"

configuration

このロールがサポートする変数の一部または全部を含む*.yml*ファイルの絶対ファイルパスまたはURL。

configurationファイルには、*.ymlまたは.yaml*の拡張子を使用することをお勧めします。

この変数はデフォルトで空です。

   # ファイルパスを使用する場合。
   ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "configuration=/home/username/my-config.yml"

YAML


設定ファイルをこのロールにパラメーターとして渡す場合は、各ファイルに*.ymlまたは.yaml*の拡張子を追加することをお勧めします。

また、各ファイルの先頭に三つのダッシュを追加することをお勧めします:

   ---

ファイルに必要な変数を含めることができます:

   ---
   packages:
     - [gedit, rolldice]

このロールがファイルやURLからアイテムのリストを読み込むようにしたい場合は、expand変数をtrueに設定できます:

   ---
   packages: /home/username/my-config.yml
   expand: true

expand変数がfalseの場合、見つかったファイルパスやURLは単なるテキストとして扱われます。

属性


アイテムレベルで、このロールがアイテムデータをどのように処理するかを設定するために属性を使用できます。

このロールでサポートされる属性は以下の通りです:

item_expand

このアイテムをファイルパスまたはURLとして扱うか、単なるテキストとして扱うかを示す真偽値。

   ---
   packages:
     - item_expand: true
       item_path: /home/username/my-config.yml

item_path

.ymlファイルへの絶対ファイルパスまたはURL。

   ---
   packages:
     - item_path: /home/username/my-config.yml

この属性はURLにも使用できます。

要件


  • 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/>_。

テストを実行したい場合は、以下も必要です:

  • Docker <https://www.docker.com/>_。

  • Molecule <https://molecule.readthedocs.io/>_。

  • Setuptools <https://pypi.org/project/setuptools/>_。

互換性


  • 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/>_。

ライセンス


MITライセンス。詳細はLICENSEファイルを参照してください。

リンク


  • 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


展開

全プロジェクト構造は以下の通りです。

メイン

プロジェクトのデータフローは以下の通りです。

著者


旅行するバルデビルの悪役。

楽しんでください!!!

プロジェクトについて

Wrapper for apt to install Debian packages.

インストール
ansible-galaxy install constrict0r.aptitude
ライセンス
mit
ダウンロード
2.2k
所有者
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy