Compare commits

..

1 commit

Author SHA1 Message Date
Dan Urson
eaed41db2c feat(os): enable RHEL support
this change enables T-Pot deployment on red hat enterprise linux. a number of hacks
had to be implemented due to RHEL's somewhat opinionated package
management mechanisms.

we also add a new section to the README which explains the caveats inherent in using RHEL.

NOTE: this change only support RHEL >= 8 due to packaging issues. it omits `grc` which depends on python2 and doesn't build on RHEL >= 7.
2025-09-22 13:37:59 -04:00
5 changed files with 6 additions and 8 deletions

View file

@ -386,7 +386,7 @@ To get things up and running just follow these steps:
Red Hat Enterprise Linux (RHEL) is a somewhat unique case in that:
1. Connections to Red Hat repositories depend on a Red Hat subscription. You will not be able to update the OS or install new packages if the targeted machine is not subscribed. **If your server is not attached to a Red Hat subscription, installation will fail!**
1. Connections to Red Hat repositories depend on a Red Hat subscription. You will not be able to update the OS or install new packages if the targeted machine is not subscribed. **If your server is not attached to a Red Hat subscription, installation will fail!
2. Ansible is installed from a RHEL-specific repository by the installer. Do not attempt to install it from the upstream repositories.
3. Docker is installed from EPEL, which is installed by the installer script. Do not attempt to install it from the community installer script.
2. T-Pot will only install successfully on RHEL >= 8. One of the convenience dependencies (`grc`) depends on Python 2, which was removed after RHEL 7. It is omitted from the RHEL installation of T-Pot.

View file

@ -197,7 +197,7 @@ case ${myCURRENT_DISTRIBUTION} in
echo
echo ${myINSTALL_NOTIFICATION}
echo
sudo dnf -y --refresh install ${myPACKAGES_ROCKY}
sudo dnf -y --refresh install ${myPACKAGES_ROCKY_RHEL}
ansible-galaxy collection install ansible.posix
;;
"Red Hat Enterprise Linux")

View file

@ -759,25 +759,24 @@
when: ansible_distribution in ["AlmaLinux", "Debian", "Fedora", "openSUSE Tumbleweed", "Raspbian", "RedHat", "Rocky", "Ubuntu"]
failed_when: ansible_user_id == "root"
- name: Add aliases
- name: Add aliases (All except RHEL)
blockinfile:
path: ~/.bashrc
block: |
alias dps='{{ "grc --colour=on " if ansible_distribution != "RedHat" else "" }}docker ps -f status=running -f status=exited --format "table {{'{{'}}.Names{{'}}'}}\\t{{'{{'}}.Status{{'}}'}}\\t{{'{{'}}.Ports{{'}}'}}" | sort'
alias dps='grc --colour=on docker ps -f status=running -f status=exited --format "table {{'{{'}}.Names{{'}}'}}\\t{{'{{'}}.Status{{'}}'}}\\t{{'{{'}}.Ports{{'}}'}}" | sort'
alias dpsw='watch -c bash -ic dps'
alias mi='micro'
alias sudo='sudo '
marker: "# {mark} ANSIBLE MANAGED BLOCK"
insertafter: EOF
state: present
when: ansible_distribution in ["AlmaLinux", "Debian", "Fedora", "openSUSE Tumbleweed", "Raspbian", "RedHat", "Rocky", "Ubuntu"]
when: ansible_distribution in ["AlmaLinux", "Debian", "Fedora", "openSUSE Tumbleweed", "Raspbian", "Rocky", "Ubuntu"]
tags:
- "AlmaLinux"
- "Debian"
- "Fedora"
- "openSUSE Tumbleweed"
- "Raspbian"
- "RedHat"
- "Rocky"
- "Ubuntu"

View file

@ -179,7 +179,7 @@
target: DROP
permanent: yes
state: enabled
when: ansible_distribution in ["AlmaLinux", "Fedora", "openSUSE Tumbleweed", "RedHat", "Rocky"]
when: ansible_distribution in ["AlmaLinux", "Fedora", "openSUSE Tumbleweed", "Rocky"]
tags:
- "AlmaLinux"
- "Fedora"

View file

@ -65,7 +65,6 @@ if [[ "${myANSIBLE_DISTRIBUTIONS[@]}" =~ "${myCURRENT_DISTRIBUTION}" ]];
fi
else
myANSIBLE_TAG=${myCURRENT_DISTRIBUTION}
fi
# Check type of sudo access
if myANSIBLE_TAG="Debian";