nginxinc.nginx_config

Ansible Galaxy Molecule CI/CD License Project Status: Active – The project has reached a stable, usable state and is being actively developed. Community Support Contributor Covenant

👾 NGINXの設定Ansibleロールをより良くするために、私たちのアンケートに参加してください! 👾

Ansible NGINX設定ロール

このロールは、ターゲットホスト上でNGINX Open SourceおよびNGINX Plusを構成します。

[!重要] このロールは現在も開発中です。未発見の問題があるかもしれず、ロールの変数は開発が進むにつれて変更される可能性があります。

ロール要件

Ansible

このロールを使用するには、サポートされているバージョンのAnsibleコアとJinja2、およびいくつかのAnsibleコレクションを使用する必要があります。

簡単に使用するために、次の四つのコマンドをAnsibleホストで実行して、Ansibleコア、Jinja2、上記のAnsibleコレクションをインストールおよび/またはアップグレードできます:

pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible.txt
curl -O https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_collections.yml
ansible-galaxy install --force -r requirements_collections.yml
rm -f requirements_collections.yml

これにより、上記のパッケージ/コレクションの完全にテストされたバージョンを使用してこのロールをデプロイ/実行できるようになります。

Ansibleコア

  • このロールは、維持されたバージョンのAnsibleコアとPythonで開発およびテストされています。

  • Ansibleコアを使用する場合、次のAnsibleコレクションもインストールする必要があります:

    ---
    collections:
      - name: ansible.posix
        version: 1.5.4
      - name: community.general
        version: 9.0.1
      - name: community.docker # Moleculeを使用する予定がある場合のみ必要
        version: 3.10.3
    
  • Ansibleコアのインストール方法については、Ansibleのドキュメントを参照してください。

  • Ansibleコレクションのインストール方法については、Ansibleコレクションガイドを参照してください。

[!ヒント] 個々のコレクションを管理したくない場合は、Ansibleコミュニティディストリビューション(従来のAnsibleのことです)を代わりにインストールできます。

Jinja2

  • このロールはJinja2のテンプレートを使用します。AnsibleコアはデフォルトでJinja2をインストールしますが、インストールまたはアップグレードの経路によっては、古いバージョンのJinja2を実行している可能性があります。ロールが正しく機能するために必要なJinja2の最小バージョンは3.1です。
  • Jinja2のインストール方法については、Jinja2のウェブサイトを参照してください。

テストスイート(オプション)

このロールに貢献したい場合、Ansible LintとMoleculeもインストールする必要があります。

Ansible Lint(オプション)

  • Ansible Lintは、Ansibleのベストプラクティスおよび潜在的なAnsible/YAMLの問題をチェックするために使用されます。

  • Ansible Lintのインストール方法については、Ansible Lintのウェブサイトを参照してください。

  • インストール後、Ansible Lintを使用するのは簡単です:

    ansible-lint
    
  • 簡単に使用するために、次のコマンドをAnsibleホストで実行して、Ansible Lintをインストールおよび/またはアップグレードできます:

    pip install -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible_lint.txt
    

Molecule(オプション)

  • Moleculeは、ロールのさまざまな機能をテストするために使用されます。

  • Moleculeのインストール方法については、Moleculeのウェブサイトを参照してください。MoleculeプラグインパッケージとDocker Python SDKもインストールする必要があります。

  • NGINX Plus/App Protectの設定Moleculeテストを実行するには、NGINX Plus/App ProtectのライセンスをロールのMolecule common/files/licenseディレクトリにコピーする必要があります。

    代わりに、NGINX Plus/App Protectのリポジトリ証明書とキーをローカル環境に追加できます。次のコマンドを実行して、これらのファイルをbase64エンコードされた変数としてエクスポートし、Moleculeテストを実行します:

    export NGINX_CRT=$( cat <証明書ファイルのパス> | base64 )
    export NGINX_KEY=$( cat <キーファイルのパス> | base64 )
    molecule test -s plus
    
  • 簡単に使用するために、次のコマンドをAnsibleホストで実行して、Molecule、Moleculeプラグインパッケージ、Docker Python SDKをインストールおよび/またはアップグレードできます:

    pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_molecule.txt
    

ロールのインストール

このロールは、Ansible Galaxy(Ansibleコミュニティマーケットプレイス)またはこのリポジトリをクローンすることでインストールできます。インストール後は、rolesキーワード、import_roleモジュール、またはinclude_roleモジュールを使用してAnsibleプレイブックにロールを含める必要があります。

Ansible Galaxy

システムに最新の安定リリースのロールをインストールするには、次のコマンドを使用してください:

ansible-galaxy install nginxinc.nginx_config

また、すでにロールをインストールしている場合は、次のコマンドを使用してロールを最新のリリースに更新できます:

ansible-galaxy install -f nginxinc.nginx_config

ロールを使用するには、プレイブックに次のタスクを含めます:

- name: NGINXを構成
  ansible.builtin.include_role:
    name: nginxinc.nginx_config

Git

GitHubからロールの最新のエッジコミットを取得するには、次のコマンドを使用します:

git clone https://github.com/nginxinc/ansible-role-nginx-config.git

ロールを使用するには、プレイブックに次のタスクを含めます:

- name: NGINXを構成
  ansible.builtin.include_role:
    name: <リポジトリのパス> # 例えば、プロジェクトのrolesディレクトリ内にリポジトリをクローンした場合は<roles/ansible-role-nginx-config>

プラットフォーム

NGINX設定Ansibleロールは、NGINX Open SourceおよびNGINX Plusがサポートするすべてのプラットフォームをサポートしています。

[!注意] このロールを使用して、任意のNGINXインストールを構成できるはずです -- どこでどのようにインストールされていても。当ロールのサポートされていないインストール方法/プラットフォームに関するバグは、最善を尽くして対処される可能性がありますが、完全に無視されることもあります。*

ロール変数

このロールには複数の変数があります。これらの変数の説明とデフォルトは、**defaults/main/**ディレクトリ内の以下のファイルにあります:

名前 説明
main.yml NGINXの簡単な設定変数
selinux.yml NGINXセットアップへの必要な接続を許可するためのSELinuxの設定
template.yml NGINX設定テンプレートの変数
upload.yml NGINX設定/HTML/SSLアップロード変数

例のプレイブック

動作する機能的なプレイブックの例は、**molecule/**ディレクトリ内の以下のファイルにあります:

名前 説明
api/converge.yml NGINX Plus APIおよびライブメトリクスダッシュボードを構成
cleanup_config/converge.yml NGINX設定のクリーンアップ
complete/converge.yml すべてのNGINXディレクティブが正しくテンプレート化されているかをテスト
complete_plus/converge.yml すべてのNGINX Plus特定のディレクティブが正しくテンプレート化されているかをテスト
default/converge.yml できるだけデフォルト設定に近い設定でNGINXを構成
push_config/converge.yml 既存のNGINX設定をシステムからNGINXインスタンスにプッシュ
reverse_proxy/converge.yml 二つのウェブサーバーの間でNGINXをリバースプロキシとして構成
stub_status/converge.yml NGINX Open Sourceのスタブステータスメトリクスを構成
web_server/converge.yml NGINXをウェブサーバーとして構成

[!注意] Ansible Galaxyを介してこのリポジトリをインストールした場合、例のプレイブックのinclude_role変数をansible-role-nginx-configからnginxinc.nginx_configに置き換える必要があります。

その他のNGINX Ansibleコレクションとロール

NGINX Open Source、NGINX Plus、NGINX App Protectをインストールおよび構成するためのAnsible NGINX Coreコレクションはこちらで見つけることができます。

NGINX OSSとNGINX PlusをインストールするためのAnsible NGINXロールはこちらで見つけることができます。

NGINX App Protect WAFとNGINX App Protect DoSをインストールおよび構成するためのAnsible NGINX App Protectロールはこちらで見つけることができます。

NGINX UnitをインストールするためのAnsible NGINX Unitロールはこちらで見つけることができます。

ライセンス

Apache License, Version 2.0

著者情報

Alessandro Fael Garcia

© F5, Inc. 2020 - 2024

プロジェクトについて

Official Ansible role for configuring NGINX

インストール
ansible-galaxy install nginxinc.nginx_config
ライセンス
apache-2.0
ダウンロード
1.6M
所有者
Welcome to this part of the NGINX open source world. We're constantly expanding our ecosystem designed to help you create the best web and app experience around