2 changed files with 106 additions and 1 deletions
@ -1,2 +1,4 @@ |
|||||
ansible/inventory.yaml |
ansible/inventory.yaml |
||||
.vscode |
.vscode |
||||
|
ansible/test |
||||
|
ansible/test.pub |
||||
@ -0,0 +1,103 @@ |
|||||
|
- name: Create the initial ostree repo |
||||
|
hosts: all |
||||
|
tasks: |
||||
|
- name: Extract userspace architecture |
||||
|
ansible.builtin.set_fact: |
||||
|
userspace_arch: "{{ ansible_facts['userspace_architecture'] }}" |
||||
|
- name: Enable required rhocp repositories using subscription-manager |
||||
|
become: true |
||||
|
ansible.builtin.command: |
||||
|
cmd: "sudo subscription-manager repos --enable rhocp-4.14-for-rhel-9-{{ userspace_arch }}-rpms --enable fast-datapath-for-rhel-9-{{ userspace_arch }}-rpms" |
||||
|
- name: Get information about the microshift package |
||||
|
ansible.builtin.command: |
||||
|
cmd: "dnf info microshift" |
||||
|
register: microshift_info |
||||
|
|
||||
|
- name: Display microshift package information |
||||
|
ansible.builtin.debug: |
||||
|
var: microshift_info.stdout_lines |
||||
|
|
||||
|
- name: Install mkpasswd and podman packages |
||||
|
become: true |
||||
|
ansible.builtin.dnf: |
||||
|
name: |
||||
|
- mkpasswd |
||||
|
- podman |
||||
|
state: present |
||||
|
|
||||
|
- name: Generate bcrypt hash of the admin password |
||||
|
command: mkpasswd -m bcrypt "{{ ADMIN_PASSWORD }}" |
||||
|
register: admin_password_hash |
||||
|
changed_when: false |
||||
|
|
||||
|
- name: Update kiosk.toml with admin password hash and SSH public key |
||||
|
ansible.builtin.lineinfile: |
||||
|
path: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.toml" |
||||
|
regexp: "{{ item.regexp }}" |
||||
|
line: "{{ item.line }}" |
||||
|
loop: |
||||
|
- { regexp: '^__ADMIN_PASSWORD__=', line: '__ADMIN_PASSWORD__={{ admin_password_hash.stdout }}' } |
||||
|
- { regexp: '^__ADMIN_SSH_PUBLIC_KEY__=', line: '__ADMIN_SSH_PUBLIC_KEY__={{ ADMIN_SSH_PUBLIC_KEY }}' } |
||||
|
|
||||
|
- name: Add custom packages source to composer |
||||
|
ansible.builtin.shell: | |
||||
|
composer-cli sources add <<EOF |
||||
|
check_gpg = false |
||||
|
check_ssl = false |
||||
|
id = "custom" |
||||
|
name = "custom packages for RHEL" |
||||
|
system = false |
||||
|
type = "yum-baseurl" |
||||
|
url = "file://{{ repo_location }}" |
||||
|
EOF |
||||
|
args: |
||||
|
executable: /bin/bash |
||||
|
|
||||
|
- name: Add rhocp-4.14 source to composer |
||||
|
ansible.builtin.shell: | |
||||
|
composer-cli sources add <<EOF |
||||
|
id = "rhocp-4.14" |
||||
|
name = "Red Hat OpenShift Container Platform 4.14 for RHEL 9" |
||||
|
type = "yum-baseurl" |
||||
|
url = "https://cdn.redhat.com/content/dist/layered/rhel9/{{ ansible_architecture }}/rhocp/4.14/os" |
||||
|
check_gpg = true |
||||
|
check_ssl = true |
||||
|
system = false |
||||
|
rhsm = true |
||||
|
EOF |
||||
|
args: |
||||
|
executable: /bin/bash |
||||
|
|
||||
|
- name: Add fast-datapath source to composer |
||||
|
ansible.builtin.shell: | |
||||
|
composer-cli sources add <<EOF |
||||
|
id = "fast-datapath" |
||||
|
name = "Fast Datapath for RHEL 9" |
||||
|
type = "yum-baseurl" |
||||
|
url = "https://cdn.redhat.com/content/dist/layered/rhel9/{{ ansible_architecture }}/fast-datapath/os" |
||||
|
check_gpg = true |
||||
|
check_ssl = true |
||||
|
system = false |
||||
|
rhsm = true |
||||
|
EOF |
||||
|
args: |
||||
|
executable: /bin/bash |
||||
|
|
||||
|
- name: Add EPEL source to composer |
||||
|
ansible.builtin.shell: | |
||||
|
composer-cli sources add <<EOF |
||||
|
id = "epel" |
||||
|
name = "Extra Packages for Enterprise Linux" |
||||
|
type = "yum-baseurl" |
||||
|
url = "http://mirror.in2p3.fr/pub/epel/9/Everything/{{ ansible_architecture }}/" |
||||
|
check_gpg = false |
||||
|
check_ssl = false |
||||
|
system = false |
||||
|
rhsm = false |
||||
|
EOF |
||||
|
args: |
||||
|
executable: /bin/bash |
||||
|
- name: Push Blueprint |
||||
|
infra.osbuild.push_blueprint: |
||||
|
src: "{{ ansible_env.HOME }}/red-hat-kiosk/imagebuilder/kiosk.toml" |
||||
|
|
||||
Loading…
Reference in new issue