certificates
certificates copied to clipboard
add support for `head` requests for `roots.pem`
Hello!
- Vote on this issue by adding a 👍 reaction
- If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)
Issue details
Allow head requests for the roots.pem path. Currently this returns a 405.
$ curl --head https://step-cert-authority.anonymous-org.com/roots.pem
HTTP/2 405
Resulting output from journalctl -x --unit=step-ca:
Aug 01 15:24:03 ip-x-x-x-x.x.internal step-ca[2461]: time="2022-08-01T15:24:03-05:00" level=warning duration="25.229µs" duration-ns=25229 fields.time="2022-08-01T15:24:03-05:00" method=HEAD name=ca path=/roots.pem protocol=HTTP/2.0 referer= remote-address=x.x.x.x request-id=cbk3copes5pck49fpnn0 size=0 status=405 user-agent=curl/7.68.0 user-id=
step version:
$ step --version
Smallstep CLI/0.20.0 (linux/amd64)
Release Date: 2022-05-26T18:40:14Z
Why is this needed?
When running an ansible playbook in check mode, the ansible.builtin.get_url module uses head requests instead of get in order to validate that the url is accessible.
From Ansible 2.4 when run with --check, it will do a HEAD request to validate the URL but will not download the entire file or verify it against hashes and will report incorrect changed status.
Without this, ansible errors on this step in check mode since the server returns 405, which the module treats as a terminating error, stopping the playbook execution.