第2章 Ansible ルールブック

Event-Driven Ansible Controller は、Event-Driven Ansible による自動化を実行するインターフェイスを提供します。Ansible ルールブックは、Event-Driven Ansible による自動化のフレームワークを提供します。Ansible ルールブックは、基本的にルールセットのコレクションです。ルールセットは 1 つ以上のソース、ルール、条件で構成されます。

2.1. 意思決定環境

Event-Driven Ansible には、デフォルトで ansible.eda コレクションが含まれています。このコレクションには、サンプルソース、イベントフィルター、ルールブックが含まれています。すべてのコレクション、Ansible ルールブック、およびそれらの依存関係は、意思決定環境を使用します。意思決定環境は、Podman または Kubernetes で実行できるイメージです。

意思決定環境では、ソース (通常、Python コード) は ansible-collections を通じて配布されます。外部イベントは、ルールブックに挿入されて処理されます。ルールブックは次の内容で構成されます。

  • Python インタープリター
  • Drools ルールエンジン用の Java ランタイム環境
  • ansible-rulebook Python パッケージ
  • ansible.eda コレクション

ベースとなる意思決定環境を使用し、追加のコレクションとコレクションの依存関係を使用することで、独自にカスタマイズした意思決定環境を構築できます。Dockerfile を使用して意思決定環境を構築することもできます。また、必要に応じて CA 証明書をイメージにデプロイできます。