Skip to content

Commit 66d0bec

Browse files
ehelmsclaude
andcommitted
Deploy foreman-certs from source instead of unmerged PR COPR build
foreman-installer PR #935 adds foreman-certs but is not yet merged, so the mock-installer role was pinned to a COPR build of that PR. Deploy the binary and Kafo scenario config as role files instead, relying only on the nightly foreman-installer-katello package for puppet, modules, and kafo-export-params. Extract repository setup into a reusable role so mock-installer is self-contained and does not require forge setup-repositories to run first. Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 4d2d756 commit 66d0bec

7 files changed

Lines changed: 98 additions & 34 deletions

File tree

development/playbooks/mock-installer/mock-installer.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
- quadlet
55
become: true
66
roles:
7+
- setup_repositories
78
- pre_install
89
- mock_foreman_installer

development/playbooks/setup-repositories/setup-repositories.yaml

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,5 @@
33
hosts:
44
- quadlet
55
become: true
6-
tasks:
7-
- name: Setup Puppet repositories
8-
ansible.builtin.include_role:
9-
name: theforeman.operations.openvox_repositories
10-
vars:
11-
foreman_openvox_repositories_version: "8"
12-
when:
13-
- ansible_distribution_major_version == '9'
14-
15-
- name: Setup Foreman repositories
16-
ansible.builtin.include_role:
17-
name: theforeman.operations.foreman_repositories
18-
vars:
19-
foreman_repositories_version: nightly
20-
foreman_repositories_katello_version: nightly
21-
when:
22-
- ansible_distribution_major_version == '9'
23-
24-
- name: Enable hammer-el10 copr
25-
community.general.copr:
26-
host: copr.fedorainfracloud.org
27-
state: enabled
28-
name: evgeni/hammer-el10
29-
chroot: rhel-10-x86_64
30-
when:
31-
- ansible_distribution_major_version == '10'
6+
roles:
7+
- setup_repositories
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env ruby
2+
require 'rubygems'
3+
require 'kafo'
4+
5+
CONFIG_DIR = '/usr/share/foreman-installer/foreman-certs/scenarios.d/'.freeze
6+
7+
@result = Kafo::KafoConfigure.run
8+
exit((@result.nil? || @result.exit_code == 2) ? 0 : @result.exit_code)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
certs:
2+
generate: true
3+
regenerate: true
4+
deploy: false
5+
group: root
6+
certs::generate: true
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
:answer_file: "/usr/share/foreman-installer/foreman-certs/scenarios.d/foreman-certs-answers.yaml"
3+
:color_of_background: :dark
4+
:colors: true
5+
:custom: {}
6+
:description: Generate Foreman certificates
7+
:dont_save_answers: true
8+
:enabled: true
9+
:facts: {}
10+
:hook_dirs: []
11+
:installer_dir: "/usr/share/foreman-installer/foreman-certs"
12+
:log_dir: "/var/log/foreman-installer"
13+
:log_level: :debug
14+
:log_name: foreman-certs.log
15+
:low_priority_modules: []
16+
:mapping: {}
17+
:module_dirs: "/usr/share/foreman-installer/modules"
18+
:name: foreman-certs
19+
:no_prefix: true
20+
:order:
21+
- certs
22+
- certs:generate
23+
:parser_cache_path: "/usr/share/foreman-installer/parser_cache/foreman-certs.yaml"
24+
:skip_puppet_version_check: false
25+
:store_dir: ''
26+
:verbose: false
27+
:verbose_log_level: debug

development/roles/mock_foreman_installer/tasks/main.yml

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,36 @@
11
---
2-
- name: Enable foreman-installer PR 935 Copr repo
3-
community.general.copr:
4-
host: copr.fedorainfracloud.org
5-
state: enabled
6-
name: packit/theforeman-foreman-installer-935
7-
chroot: rhel-9-x86_64
8-
92
- name: Install foreman-installer package
103
ansible.builtin.package:
114
name: foreman-installer-katello
125

13-
# utilize https://github.com/theforeman/foreman-installer/pull/935
6+
- name: Create foreman-certs scenarios directory
7+
ansible.builtin.file:
8+
path: /usr/share/foreman-installer/foreman-certs/scenarios.d
9+
state: directory
10+
mode: '0755'
11+
12+
- name: Deploy foreman-certs binary
13+
ansible.builtin.copy:
14+
src: foreman-certs
15+
dest: /usr/sbin/foreman-certs
16+
mode: '0755'
17+
18+
- name: Deploy foreman-certs scenario config
19+
ansible.builtin.copy:
20+
src: foreman-certs.yaml
21+
dest: /usr/share/foreman-installer/foreman-certs/scenarios.d/foreman-certs.yaml
22+
mode: '0644'
23+
24+
- name: Deploy foreman-certs answers file
25+
ansible.builtin.copy:
26+
src: foreman-certs-answers.yaml
27+
dest: /usr/share/foreman-installer/foreman-certs/scenarios.d/foreman-certs-answers.yaml
28+
mode: '0644'
29+
30+
- name: Install puppet-strings gem
31+
ansible.builtin.command: /opt/puppetlabs/puppet/bin/gem install openvox-strings
32+
changed_when: false
33+
1434
- name: Generate certs
1535
ansible.builtin.command: foreman-certs --apache true --foreman true --candlepin true --iop true
1636
changed_when: false
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
- name: Setup Puppet repositories
3+
ansible.builtin.include_role:
4+
name: theforeman.operations.openvox_repositories
5+
vars:
6+
foreman_openvox_repositories_version: "8"
7+
when:
8+
- ansible_distribution_major_version == '9'
9+
10+
- name: Setup Foreman repositories
11+
ansible.builtin.include_role:
12+
name: theforeman.operations.foreman_repositories
13+
vars:
14+
foreman_repositories_version: nightly
15+
foreman_repositories_katello_version: nightly
16+
when:
17+
- ansible_distribution_major_version == '9'
18+
19+
- name: Enable hammer-el10 copr
20+
community.general.copr:
21+
host: copr.fedorainfracloud.org
22+
state: enabled
23+
name: evgeni/hammer-el10
24+
chroot: rhel-10-x86_64
25+
when:
26+
- ansible_distribution_major_version == '10'

0 commit comments

Comments
 (0)