debian-forge-composer/templates/packer/ansible/roles/common/tasks/packages.yml
2023-03-01 20:05:38 +01:00

118 lines
2.7 KiB
YAML

---
- name: Add osbuild-composer repository
tags:
- rpmrepo
yum_repository:
name: "composer"
description: "osbuild-composer commit {{ COMPOSER_COMMIT }}"
baseurl: "http://osbuild-composer-repos.s3.amazonaws.com/osbuild-composer/{{ rpmrepo_distribution }}/{{ ansible_architecture }}/{{ COMPOSER_COMMIT }}"
enabled: yes
gpgcheck: no
priority: "5"
- name: Add osbuild repository
tags:
- rpmrepo
yum_repository:
name: "osbuild"
description: "osbuild commit {{ osbuild_commit }}"
baseurl: "http://osbuild-composer-repos.s3-website.us-east-2.amazonaws.com/osbuild/{{ rpmrepo_distribution }}/{{ ansible_architecture }}/{{ osbuild_commit }}"
enabled: yes
gpgcheck: no
priority: "5"
# if osbuild_commit is not defined, osbuild from distribution repositories is installed
when: osbuild_commit is defined
- name: Upgrade all packages
package:
name: "*"
state: latest
register: result
retries: 5
until: result is success
- name: Add Vector repo
copy:
src: "{{ playbook_dir }}/roles/common/files/timber-vector.repo"
dest: /etc/yum.repos.d/
- name: Install required packages
package:
name:
- jq
- unzip
- vector-0.21.2 # vector-0.22 has broken the journald source, see https://github.com/vectordotdev/vector/issues/12966
register: result
retries: 5
until: result is success
- name: Download AWS CLI installer
get_url:
url: "https://awscli.amazonaws.com/awscli-exe-linux-{{ ansible_architecture }}.zip"
dest: /tmp/awscli.zip
register: result
retries: 5
until: result is success
- name: Unpack AWS CLI installer
unarchive:
src: /tmp/awscli.zip
dest: /tmp
remote_src: yes
- name: Run AWS installer
command: /tmp/aws/install
- name: Cleanup AWS installer
file:
path: "{{ item }}"
state: absent
loop:
- /tmp/awscli.zip
- /tmp/aws
- name: Create rpmbuild directory
tags:
- rpmcopy
file:
path: "{{ item }}"
state: directory
with_items:
- /tmp/rpmbuild
- /tmp/rpmbuild/RPMS
- name: Push rpms
tags:
- rpmcopy
ansible.posix.synchronize:
mode: push
src: "{{ playbook_dir }}/roles/common/files/rpmbuild/{{ ansible_architecture }}/RPMS"
dest: /tmp/rpmbuild
- name: Add repo config
tags:
- rpmcopy
copy:
dest: /etc/yum.repos.d/osbuild.repo
content: |
[osbuild]
name=osbuild
baseurl=file:///tmp/rpmbuild/RPMS
enabled=1
gpgcheck=0
priority=1
- name: Install worker rpm
package:
name:
- osbuild-composer-worker
state: present
- name: Cleanup rpmbuild dir
file:
path: "{{ item }}"
state: absent
with_items:
- /tmp/rpmbuild
- /etc/yum.repos.d/osbuild.repo