Add optional GitHub API authentication headers

If the `GITHUB_TOKEN` is defined in the Ansible controller's
environment it is used to set the GitHub REST API authentication header.
This is they passed to all `uri` modules tasks which interact with the
GitHub REST API. If the `GITHUB_TOKEN` is not set, the authentication
header is not used.

Fixes #19
This commit is contained in:
Kenneth Benzie 2024-04-06 16:33:03 +01:00
parent 883fee21b3
commit e711b9f3b2
17 changed files with 38 additions and 1 deletions

View File

@ -2,6 +2,10 @@
- import_playbook: LinuxCLI.yaml - import_playbook: LinuxCLI.yaml
- import_playbook: UnixGUI.yaml - import_playbook: UnixGUI.yaml
- hosts: localhost - hosts: localhost
vars:
github_auth_headers: >-
{{ { 'Authorization': 'Bearer ' + lookup('env', 'GITHUB_TOKEN') }
if lookup('env', 'GITHUB_TOKEN') else {} }}
roles: roles:
- role: firefox - role: firefox
- role: kitty - role: kitty

View File

@ -1,5 +1,9 @@
--- ---
- hosts: localhost - hosts: localhost
vars:
github_auth_headers: >-
{{ { 'Authorization': 'Bearer ' + lookup('env', 'GITHUB_TOKEN') }
if lookup('env', 'GITHUB_TOKEN') else {} }}
roles: roles:
- role: rpmfusion - role: rpmfusion
when: ansible_os_family == 'RedHat' and ansible_distribution == 'Fedora' when: ansible_os_family == 'RedHat' and ansible_distribution == 'Fedora'

View File

@ -1,5 +1,9 @@
--- ---
- hosts: localhost - hosts: localhost
vars:
github_auth_headers: >-
{{ { 'Authorization': 'Bearer ' + lookup('env', 'GITHUB_TOKEN') }
if lookup('env', 'GITHUB_TOKEN') else {} }}
roles: roles:
- role: sudo - role: sudo
when: ansible_user_id != "root" when: ansible_user_id != "root"

View File

@ -1,5 +1,9 @@
--- ---
- hosts: localhost - hosts: localhost
vars:
github_auth_headers: >-
{{ { 'Authorization': 'Bearer ' + lookup('env', 'GITHUB_TOKEN') }
if lookup('env', 'GITHUB_TOKEN') else {} }}
roles: roles:
- role: flatpak - role: flatpak
when: ansible_os_family != "Darwin" when: ansible_os_family != "Darwin"

View File

@ -1,5 +1,9 @@
--- ---
- import_playbook: LinuxCLI.yaml - import_playbook: LinuxCLI.yaml
- hosts: localhost - hosts: localhost
vars:
github_auth_headers: >-
{{ { 'Authorization': 'Bearer ' + lookup('env', 'GITHUB_TOKEN') }
if lookup('env', 'GITHUB_TOKEN') else {} }}
roles: roles:
- role: wsl - role: wsl

View File

@ -1,6 +1,9 @@
--- ---
- hosts: windows - hosts: windows
vars:
github_auth_headers: >-
{{ { 'Authorization': 'Bearer ' + lookup('env', 'GITHUB_TOKEN') }
if lookup('env', 'GITHUB_TOKEN') else {} }}
roles: roles:
- role: python - role: python
- role: git - role: git

View File

@ -5,6 +5,10 @@
- role: system-info - role: system-info
- import_playbook: UnixGUI.yaml - import_playbook: UnixGUI.yaml
- hosts: localhost - hosts: localhost
vars:
github_auth_headers: >-
{{ { 'Authorization': 'Bearer ' + lookup('env', 'GITHUB_TOKEN') }
if lookup('env', 'GITHUB_TOKEN') else {} }}
roles: roles:
- role: mas - role: mas

View File

@ -2,6 +2,7 @@
- name: get latest github release - name: get latest github release
uri: uri:
url: https://api.github.com/repos/sharkdp/bat/releases/latest url: https://api.github.com/repos/sharkdp/bat/releases/latest
headers: '{{github_auth_headers}}'
register: latest register: latest
- set_fact: - set_fact:

View File

@ -17,6 +17,7 @@
- name: get latest release - name: get latest release
uri: uri:
url: https://api.github.com/repos/ryanoasis/nerd-fonts/releases/latest url: https://api.github.com/repos/ryanoasis/nerd-fonts/releases/latest
headers: '{{github_auth_headers}}'
register: latest register: latest
- set_fact: - set_fact:

View File

@ -2,6 +2,7 @@
- name: get json containing all releases - name: get json containing all releases
win_uri: win_uri:
url: 'https://api.github.com/repos/git-for-windows/git/releases/tags/v{{git_version}}.windows.1' url: 'https://api.github.com/repos/git-for-windows/git/releases/tags/v{{git_version}}.windows.1'
headers: '{{github_auth_headers}}'
return_content: true return_content: true
register: git_release register: git_release

View File

@ -2,6 +2,7 @@
- name: get latest github release - name: get latest github release
uri: uri:
url: https://api.github.com/repos/jmespath/jp/releases/latest url: https://api.github.com/repos/jmespath/jp/releases/latest
headers: '{{github_auth_headers}}'
register: latest register: latest
- set_fact: - set_fact:

View File

@ -19,6 +19,7 @@
- name: get latest release - name: get latest release
uri: uri:
url: 'https://api.github.com/repos/jmespath/jp/releases/latest' url: 'https://api.github.com/repos/jmespath/jp/releases/latest'
headers: '{{github_auth_headers}}'
register: latest register: latest
- name: determine if jp needs installed - name: determine if jp needs installed

View File

@ -2,6 +2,7 @@
- name: get latest stable github release - name: get latest stable github release
uri: uri:
url: https://api.github.com/repos/llvm/llvm-project/releases/latest url: https://api.github.com/repos/llvm/llvm-project/releases/latest
headers: '{{github_auth_headers}}'
register: llvm_latest register: llvm_latest
- name: read /etc/os-release - name: read /etc/os-release

View File

@ -40,6 +40,7 @@
- name: get latest version - name: get latest version
uri: uri:
url: https://api.github.com/repos/neovim/neovim/releases/latest url: https://api.github.com/repos/neovim/neovim/releases/latest
headers: '{{github_auth_headers}}'
register: latest register: latest
- set_fact: - set_fact:

View File

@ -30,6 +30,7 @@
- name: get latest release - name: get latest release
uri: uri:
url: https://api.github.com/repos/k0kubun/xremap/releases/latest url: https://api.github.com/repos/k0kubun/xremap/releases/latest
headers: '{{github_auth_headers}}'
register: latest register: latest
- name: determine if install needed - name: determine if install needed

View File

@ -2,6 +2,7 @@
- name: get latest github release - name: get latest github release
uri: uri:
url: https://api.github.com/repos/mikefarah/yq/releases/latest url: https://api.github.com/repos/mikefarah/yq/releases/latest
headers: '{{github_auth_headers}}'
register: latest register: latest
- set_fact: - set_fact:

View File

@ -19,6 +19,7 @@
- name: get latest release - name: get latest release
uri: uri:
url: 'https://api.github.com/repos/mikefarah/yq/releases/latest' url: 'https://api.github.com/repos/mikefarah/yq/releases/latest'
headers: '{{github_auth_headers}}'
register: latest register: latest
- name: determine if yq needs installed - name: determine if yq needs installed