HTTPS でファイルをダウンロードする
- name: Download foo.conf
ansible.builtin.get_url:
url: https://example.com/path/file.conf
dest: /etc/foo.conf
mode: '0440'
- パラメーターの説明:
dest で指定したファイルが既に存在する場合は、ダウンロードはスキップされます。
ただし、dest で指定したパスがディレクトリの場合は、ファイルは毎回ダウンロードされてしまうので、dest ではファイルのパスを指定すべきです。
force: yes オプションを指定すると、ファイルは必ずダウンロードされます。
SSL エラーが発生する場合
Ubuntu の Docker イメージには CA 証明書がインストールされておらず、get_url モジュールで HTTPS アクセスしたときに次のように SSL 関連のエラーが出ることがあります。
Request failed: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
このような場合は、get_url の validate_certs: no オプションを指定して SSL 検証をスキップしてしまうこともできますが、次のように CA 証明書をインストールするのが正しい対処方法です。
- name: Install CA certificates
ansible.builtin.apt:
name: ca-certificatesちなみに、ca-certificates パッケージは、apt install するときに推奨パッケージとして自動的にインストールされるものですが、--no-install-recommends オプションを指定するとインストールされません。