forked from CCCHH/ansible-infra
38 lines
1.4 KiB
YAML
38 lines
1.4 KiB
YAML
---
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# SPDX-FileCopyrightText: 2022, Felix Fontein
|
|
|
|
- name: Fetch list of releases from GitHub
|
|
ansible.builtin.uri:
|
|
headers:
|
|
Accept: application/vnd.github+json
|
|
Authorization: "{{ ('Bearer ' ~ sops_github_token) if sops_github_token is defined and sops_github_token else '' }}"
|
|
status_code:
|
|
- 200
|
|
- 403 # "HTTP Error 403: rate limit exceeded"
|
|
url: https://api.github.com/repos/getsops/sops/releases
|
|
register: _community_sops_install_github_releases
|
|
delegate_to: localhost
|
|
run_once: true
|
|
|
|
- name: In case rate limit was exceeded, inform user
|
|
ansible.builtin.debug:
|
|
msg: >-
|
|
Rate limit exceeded! Make sure to provide a GitHub token
|
|
as `sops_github_token` to reduce the chance of this error.
|
|
when: _community_sops_install_github_releases.status == 403
|
|
|
|
- name: Determine the latest release
|
|
ansible.builtin.set_fact:
|
|
_community_sops_install_effective_sops_version: >-
|
|
{{
|
|
(
|
|
_community_sops_install_github_releases.json
|
|
| rejectattr("prerelease")
|
|
| rejectattr("draft")
|
|
| map(attribute="tag_name")
|
|
| map("ansible.builtin.regex_replace", "^v", "")
|
|
| community.sops._latest_version
|
|
) if _community_sops_install_github_releases.status == 200 else ''
|
|
}}
|