robertdebock.ca

Ansibleロールca

システムに証明書機関をインストールし、設定します。

GitHub GitLab ダウンロード バージョン
github gitlab downloads Version

例のプレイブック

この例は molecule/default/converge.yml から取り上げられ、プッシュ、プルリクエスト、リリースのたびにテストされています。

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.ca

マシンは準備が必要です。CIでは、molecule/default/prepare.yml を使用して行います:

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.buildtools
    - role: robertdebock.epel
    - role: robertdebock.python_pip
    - role: robertdebock.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
    - role: robertdebock.httpd

これらのロールを使用する方法については、完全な説明と例も参照してください。

ロール変数

変数のデフォルト値は defaults/main.yml に設定されています:

---
# caのデフォルトファイル

# CAを作成するには ca_init: 'yes' を設定します
ca_init: true

# 自分自身のルートCAが欲しい場合は ca_own_root: 'yes' を設定します。
# そうでない場合は、ca_certificate_pathを手動で設定してください
ca_own_root: true

# CAキーのためのパスフレーズ。
ca_passphrase: SuP3rS3creT

# CAの共通名。
ca_common_name: example.com

# CAのその他の詳細。
ca_country_name: NL
ca_email_address: [email protected]
ca_organization_name: Very little
ca_organizational_unit_name: Even less
ca_state_or_province_name: Utrecht
ca_locality_name: Utrecht

# キーと証明書を取得するための二つの形式があります:
# 1. 詳細付き: (name:を含む)
# ca_requests:
#   - name: certificate1.example.com
#     passphrase: S3creT
#
# 2. 詳細なし: (name:を含まない)
# ca_requests:
#   - "{{ ansible_fqdn }}"

# これらの形式を混ぜて使用することもできます:
# ca_requests:
#   - name: certificate1.example.com
#     passphrase: S3creT
#   - "{{ ansible_fqdn }}"

# 証明書をどこに公開するか、通常はWebサーバーの場所。
# 指定しなければ、証明書は公開されません。
# {{ httpd_data_directory }} は robertdebock.httpd ロールから継承されています。
ca_publication_location: "{{ httpd_data_directory | default('/tmp') }}/pub"

# 証明書はどこに保管する必要がありますか?デフォルトでは、
# 配布の優先場所が使用されます(`vars/main.yml`の `_ca_openssl_path`を参照)。
# CA証明書が他の場所に必要な場合は、以下のように単純に使用してください:
# ca_openssl_path: /my/preferred/path
ca_openssl_path: "{{ _ca_openssl_path[ansible_os_family] | default(_ca_openssl_path['default']) }}"

要件

使用されるロールの状態

次のロールがシステムの準備に使用されます。他の方法でシステムを準備することもできます。

要件 GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.buildtools Build Status GitHub Build Status GitLab
robertdebock.epel Build Status GitHub Build Status GitLab
robertdebock.httpd Build Status GitHub Build Status GitLab
robertdebock.openssl Build Status GitHub Build Status GitLab
robertdebock.python_pip Build Status GitHub Build Status GitLab

コンテキスト

このロールは多くの互換性のあるロールの一部です。詳細については、これらのロールのドキュメントをご覧ください。

関係するロールの概要: dependencies

互換性

このロールは次のコンテナイメージでテストされています:

コンテナ タグ
EL 9
Debian all
Fedora all
Ubuntu jammy, focal

必要なAnsibleの最小バージョンは2.12で、テストは以下の環境で行われました:

  • 前のバージョン。
  • 現在のバージョン。
  • 開発バージョン。

問題を見つけた場合は、GitHubで報告してください。

ライセンス

Apache-2.0

著者情報

robertdebock

私を支援してくれることを考慮してください

プロジェクトについて

Install and configure a certificate authority on your system.

インストール
ansible-galaxy install robertdebock.ca
ライセンス
apache-2.0
ダウンロード
33.9k
所有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.