From e7f0d5e453b1547b70165c12a96a4944df76a254 Mon Sep 17 00:00:00 2001 From: kevinnls Date: Thu, 1 Oct 2026 00:33:47 +0530 Subject: [PATCH] streamline dnf repo install --- playbooks/setupworkstation/main.yaml | 53 ++++++++--------------- roles/installdnfrepo/meta/main.yml | 6 +++ roles/installdnfrepo/tasks/main.yml | 8 ++++ roles/installdnfrepo/templates/dnfrepo.j2 | 7 +++ 4 files changed, 38 insertions(+), 36 deletions(-) create mode 100644 roles/installdnfrepo/meta/main.yml create mode 100644 roles/installdnfrepo/tasks/main.yml create mode 100644 roles/installdnfrepo/templates/dnfrepo.j2 diff --git a/playbooks/setupworkstation/main.yaml b/playbooks/setupworkstation/main.yaml index 67fcc1f..14b6fdf 100644 --- a/playbooks/setupworkstation/main.yaml +++ b/playbooks/setupworkstation/main.yaml @@ -58,44 +58,25 @@ dest: /usr/local/bin/ src: https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip - - name: install google-chrome dnf repository - become: true - copy: - dest: /etc/yum.repos.d/google-chrome.repo - content: | - [google-chrome] - name=google-chrome - baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64 - enabled=1 - gpgcheck=1 - gpgkey=https://dl.google.com/linux/linux_signing_key.pub + - name: install dnf repos + include_role: + role: installdnfrepo + loop: + - id: googlechrome + baseurl: https://dl.google.com/linux/chrome/rpm/stable/x86_64 + gpgkey: https://dl.google.com/linux/linux_signing_key.pub - - name: install wayscriber dnf repository - become: true - copy: - dest: /etc/yum.repos.d/waysriber.repo - content: | - [wayscriber] - name=Wayscriber - baseurl=https://wayscriber.com/rpm - enabled=1 - gpgcheck=1 - repo_gpgcheck=1 - gpgkey=https://wayscriber.com/rpm/RPM-GPG-KEY-wayscriber.asc + - id: wayscriber + baseurl: https://wayscriber.com/rpm + gpgkey: https://wayscriber.com/rpm/RPM-GPG-KEY-wayscriber.asc - - name: install tailscale dnf repository - become: true - copy: - dest: /etc/yum.repos.d/tailscale.repo - content: | - [tailscale] - name=Tailscale - baseurl=https://pkgs.tailscale.com/stable/fedora/$basearch - enabled=1 - type=rpm - repo_gpgcheck=1 - gpgcheck=1 - gpgkey=https://pkgs.tailscale.com/stable/fedora/repo.gpg + - id: tailscale + baseurl: https://pkgs.tailscale.com/stable/fedora/$basearch + gpgkey: https://pkgs.tailscale.com/stable/fedora/repo.gpg + + - id: charmcli + baseurl: https://repo.charm.sh/yum/ + gpgkey: https://repo.charm.sh/yum/gpg.key - name: install dnf packages become: true diff --git a/roles/installdnfrepo/meta/main.yml b/roles/installdnfrepo/meta/main.yml new file mode 100644 index 0000000..9f28352 --- /dev/null +++ b/roles/installdnfrepo/meta/main.yml @@ -0,0 +1,6 @@ +galaxy_info: + author: kevinnlsamuel + description: sayin hello +dependencies: + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. diff --git a/roles/installdnfrepo/tasks/main.yml b/roles/installdnfrepo/tasks/main.yml new file mode 100644 index 0000000..19864fd --- /dev/null +++ b/roles/installdnfrepo/tasks/main.yml @@ -0,0 +1,8 @@ +- name: "install {{ item.id | default( id ) | mandatory }} dnf repository" + become: true + ansible.builtin.template: + dest: "/etc/yum.repos.d/{{ item.id | default( id ) | mandatory }}.repo" + src: dnfrepo.j2 + owner: root + group: root + mode: 644 diff --git a/roles/installdnfrepo/templates/dnfrepo.j2 b/roles/installdnfrepo/templates/dnfrepo.j2 new file mode 100644 index 0000000..94e1214 --- /dev/null +++ b/roles/installdnfrepo/templates/dnfrepo.j2 @@ -0,0 +1,7 @@ +[{{ item.id | default( id ) | mandatory }}] +name={{ item.id | default( id ) | mandatory }} +baseurl={{ item.baseurl | default( baseurl ) | mandatory }} +enabled=1 +gpgcheck=1 +repo_gpgcheck=1 +gpgkey={{ item.gpgkey | default( gpgkey ) | mandatory }}