|
1 | 1 | #!/bin/bash |
2 | 2 |
|
3 | 3 | SUCCESS=0 |
| 4 | +EXTRA_OPTS="" |
| 5 | +puppet_ver=8 |
4 | 6 |
|
5 | 7 | if grep -iq centos /etc/os-release; then |
6 | | - if [[ `echo | awk "{print ($FOREMAN_VER >= 3.4)}"` -eq 1 ]]; then |
7 | | - dnf -y install https://yum.puppet.com/puppet7-release-el-8.noarch.rpm |
8 | | - # workaround for https://community.theforeman.org/t/puppet-7-29-0-8-5-0-breaks-our-installer/37075 |
9 | | - # can be removed once https://github.com/puppetlabs/puppet/pull/9269 is in downstream |
10 | | - echo "excludepkgs=puppet-agent-7.29.0*" >> /etc/yum.repos.d/puppet7-release.repo |
11 | | - dnf -y install https://yum.theforeman.org/releases/$FOREMAN_VER/el8/x86_64/foreman-release.rpm |
12 | | - dnf -y module enable foreman:el8 |
13 | | - else |
14 | | - dnf -y install https://yum.puppet.com/puppet6-release-el-8.noarch.rpm |
15 | | - dnf -y install https://yum.theforeman.org/releases/$FOREMAN_VER/el8/x86_64/foreman-release.rpm |
16 | | - dnf -y module enable ruby:2.7 postgresql:12 foreman:el8 |
17 | | - fi |
| 8 | + os_version=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID=\"\(.*\)\"/\1/') |
| 9 | + dnf -y install https://yum.puppet.com/puppet${puppet_ver}-release-el-${os_version}.noarch.rpm |
| 10 | + dnf -y install https://yum.theforeman.org/releases/$FOREMAN_VER/el${os_version}/x86_64/foreman-release.rpm |
| 11 | + dnf -y install https://yum.theforeman.org/katello/$KATELLO_VER/katello/el${os_version}/x86_64/katello-repos-latest.rpm |
| 12 | + dnf -y module enable foreman:el${os_version} |
| 13 | + dnf -y install foreman-installer-katello |
18 | 14 | dnf -y install foreman-installer && SUCCESS=1 |
| 15 | + EXTRA_OPTS="--scenario katello" |
19 | 16 | elif grep -iq debian /etc/os-release; then |
| 17 | + series=$(grep VERSION_CODENAME /etc/os-release | sed s/VERSION_CODENAME=//g) |
20 | 18 | apt-get update |
21 | 19 | apt-get -y install ca-certificates locales |
22 | 20 | sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen |
23 | 21 | locale-gen |
24 | 22 | export LC_ALL=en_US.UTF-8 |
25 | 23 | export LANG=en_US.UTF-8 |
26 | | - curl https://apt.puppet.com/puppet7-release-bullseye.deb --output /root/puppet7-release-bullseye.deb |
27 | | - # workaround for https://community.theforeman.org/t/puppet-7-29-0-8-5-0-breaks-our-installer/37075 |
28 | | - # can be removed once https://github.com/puppetlabs/puppet/pull/9269 is in downstream |
29 | | - cat <<< 'Package: puppet-agent |
30 | | - Pin: version 7.29.0* |
31 | | - Pin-Priority: -10' | sed "s/^ //g" > /etc/apt/preferences.d/puppet.pref |
32 | | - apt-get install /root/puppet7-release-bullseye.deb |
33 | | - curl https://archivedeb.theforeman.org/foreman.asc --output /etc/apt/trusted.gpg.d/foreman.asc |
34 | | - echo "deb http://archivedeb.theforeman.org/ bullseye $FOREMAN_VER" | tee /etc/apt/sources.list.d/foreman.list |
35 | | - echo "deb http://archivedeb.theforeman.org/ plugins $FOREMAN_VER" | tee -a /etc/apt/sources.list.d/foreman.list |
| 24 | + curl https://apt.puppet.com/puppet${puppet_ver}-release-${series}.deb --output /root/puppet${puppet_ver}-release-${series}.deb |
| 25 | + apt-get install /root/puppet${puppet_ver}-release-${series}.deb |
| 26 | + sudo wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc |
| 27 | + echo "deb http://deb.theforeman.org/ ${series} $FOREMAN_VER" | tee /etc/apt/sources.list.d/foreman.list |
| 28 | + echo "deb http://deb.theforeman.org/ plugins $FOREMAN_VER" | tee -a /etc/apt/sources.list.d/foreman.list |
36 | 29 | apt-get update |
37 | 30 | apt-get -y install foreman-installer && SUCCESS=1 |
38 | 31 | fi |
39 | 32 |
|
40 | 33 | if [[ $SUCCESS == 1 ]]; then |
41 | | - foreman-installer --foreman-db-password='S0Sdb=p@ssw0rd!' --foreman-initial-admin-password='S0S@dmin\\p@ssw0rd!' |
| 34 | + foreman-installer --foreman-db-password='S0Sdb=p@ssw0rd!' --foreman-initial-admin-password='S0S@dmin\\p@ssw0rd!' ${EXTRA_OPTS} |
42 | 35 | else |
43 | 36 | echo "Setup failed" |
44 | 37 | exit 1 |
|
0 commit comments