pacifica.ansible_travis
Pacifica Travis CI
このAnsibleロールは、Travis CIで管理されたインフラストラクチャにおけるPacificaサービスのデプロイに必要な設定を定義します。
要件
現在、このロールには特に要件はありません。ただし、Pacificaサービスは、構成に応じて他のサービスに依存しています。たとえば、PostgreSQLを使用するサービスを構成する場合は、デプロイメントの一部としてこのロールを含める前にPostgreSQLを構成しておく必要があります。
ロール変数
ロール変数は、さまざまなディストリビューションにPythonをインストールするためのものです。これは、消費するロール内のdefault.yml
でsetup_packages
とpython_packages
をカスタムパッケージのリストに設定することで上書きできます。
また、消費するPlaybookが別の方法でPythonをインストールしている場合は、external_python
に任意の値を設定すると、Pythonのインストールタスクがスキップされます。
他のロール変数は、異なるPacificaサービスのデフォルト設定です。各Pacificaサービスは異なる設定要件を持っていますが、これらの要件はサービス間で一貫しており、同じ方法で構成できます。たとえば、ingest
サービスとmetadata
サービスはどちらもデータベースを必要とし、これらは同じインターフェースで管理されます。ただし、ingest
プロセスはCeleryバックエンドを必要とし、metadata
は必要としません。
ロールデフォルト値
ロールデフォルト値は、Pacificaサービスのユーザーによる設定を制御します。各サービスの設定は、pacifica_available_services
辞書に名前を付けた辞書であるべきです。サービス設定は、その後、pacifica_enabled_services
リスト内の項目で参照されます。
依存関係
現在、このロールに依存関係はありません。ただし、PacificaサービスをMySQLまたはPostgreSQLデータベースを使用して状態を保存するように構成する場合は、MySQLまたはPostgreSQLのサービスがインフラストラクチャのどこかにデプロイされ、設定されていることを確認する責任があります。これには、ElasticSearchなどの他のオプションの依存関係も含まれます。
例のPlaybook
ロールを含める方法は、他のAnsibleロールと似ています。具体的なサービスを特定のシステムにデプロイするための例は、molecule
サブディレクトリにあります。
シンプルな例:
- hosts: servers
roles:
- role: pacifica
pacifica_enabled_services:
- metadata
- policy
ライセンス
LGPLv3
著者情報
Pacificaはコミュニティ主導のプロジェクトであり、これらのサービスのサポートはAnsibleチームによって行われています。以下に、一部のメンバーが記載されています。
- David Brown dmlb2000@gmail.com: 主なPacificaアーキテクト
- Ian Smith gitbytes@gmail.com: コミュニティ貢献者
ansible-galaxy install pacifica.ansible_travis