{"id":15103279,"url":"https://github.com/ji-podhead/rhel_9_foreman_guide","last_synced_at":"2025-09-13T12:41:04.671Z","repository":{"id":241286281,"uuid":"805451596","full_name":"ji-podhead/RHEL_9_Foreman_Guide","owner":"ji-podhead","description":"foreman guide (libvirt,promox,provision,discovery...)","archived":false,"fork":false,"pushed_at":"2024-07-12T11:43:51.000Z","size":8302,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T18:53:13.443Z","etag":null,"topics":["bare-metal","dhcp","foreman","guide","katello","provisioning","puppet","rhel9","tftp"],"latest_commit_sha":null,"homepage":"https://ji-podhead.github.io/RHEL_9_Foreman_Guide/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ji-podhead.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-24T15:49:57.000Z","updated_at":"2024-10-04T17:30:56.000Z","dependencies_parsed_at":"2024-05-30T10:49:25.805Z","dependency_job_id":null,"html_url":"https://github.com/ji-podhead/RHEL_9_Foreman_Guide","commit_stats":null,"previous_names":["ji-podhead/rhel_9_foreman_guide"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ji-podhead/RHEL_9_Foreman_Guide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2FRHEL_9_Foreman_Guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2FRHEL_9_Foreman_Guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2FRHEL_9_Foreman_Guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2FRHEL_9_Foreman_Guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ji-podhead","download_url":"https://codeload.github.com/ji-podhead/RHEL_9_Foreman_Guide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ji-podhead%2FRHEL_9_Foreman_Guide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274961860,"owners_count":25381893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bare-metal","dhcp","foreman","guide","katello","provisioning","puppet","rhel9","tftp"],"created_at":"2024-09-25T19:23:07.402Z","updated_at":"2025-09-13T12:41:04.640Z","avatar_url":"https://github.com/ji-podhead.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# RHEL9 Foreman Guide\n\n\u003cdiv align=\"center\"\u003e\n      \u003cimg src=\"https://github.com/ji-podhead/ji-podhead/blob/main/logo.jpg?raw=true\" align=\"right\" width=\"150\" /\u003e\n\u003c/div\u003e\n\n\u003e - In this Guide i will show you how to install Forman with puppet, katello and discovery plugin.\n\u003e - You will also learn how to install and setup DHCP- and TFTP-Server.\n\u003e - I will also show you how to setup Foreman and how to use the Foreman Boot Image via PXE.\n\u003e - You will be ready to discover and provision your physical servers and workstations after following this Guide.\n\n\n \n## 1. [Knowledge Base](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/knowledge%20base)\n\n\u003e - here we explain:\n\u003e\t  -  how tftp and dhcp works \n\u003e   -  how the pxe boot process works\n\u003e\t  -  how the foreman smartproxy works\n\u003e   -  Lifecycle Management\n\u003e      - what is it?\n\u003e      - puppet \u0026 katello roles\n\n## 2. [Install Foreman (with katello, discovery-plugin, and local dhcp/tftp)](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/installation%20(katello%2Cdiscovery%2Cdhcp%2Ctftp))\n\u003e - just the installation process\n\n## 3. [Discovery and Provisioning](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/discovery%20and%20provisioning)\n\u003e - we discover our host using the Boot Image\n\u003e - we set up Hostgroups, subnets, etc\n\u003e - we finally provision our discovered host\n\n## 4. [install and setup libvirt in Foreman](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/libvirt)\n\u003e - we install libvirt\n\u003e - we setup libvirt as compute resource\n\u003e - boot intoo container/vm\n\n## 5. [Proxmox](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/proxmox)\n\u003e  - we install proxmox inside a vm using kvm\u0026libvirt \n\u003e  - we setup proxmox as a compute resource\n## 6. [Install Foreman with external DHCP \u0026 DNS](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/nestedVM_with_external_DHCP%26DNS)\n\u003e  - we install foreman inside a nested VM\n\u003e  - we set up our DHCP \u0026 DNS for Dynamic Updates using RNDC \n\u003e  - we configure our DHCP to share its leases using omapi(HMAC-MD5) key and NFS\n\u003e  - we configure Foreman to manage our external DNS by importing the RNDC key\n\u003e  - we configure Foreman to manage our external DHCP by using remote-isc-key flag and our omapi key   \n## 7. [diskless pxe-boot using zfs](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/diskless_pxe_using_zfs) *(under construction)*\n\u003e - we create a zfs tank inside proxmox\n\u003e - we create a wm inside proxmox and move the storage to our zfs tank *(optional)*\n\u003e - we create a automatic backup-plan for the wm *(optional)*\n\u003e - we create a pxe template inside foreman to pxe-boot diskless using the zfs tank storage \n\n---\n\n# Roadmap\n- ~~libvirt~~ ✓\n- ~~proxmox~~ ✓\n- ~~diskless boot using zfs (incl. repo storage) and custom pxe/grub preset~~ ✓\n- lifecycle management with puppet and katello\n- cicd with ansible, terraform and packer\n- salt, k8s and kubevirt\n---\n***the original version of the guide can be found here:*** [original](https://ji-podhead.github.io/RHEL_9_Foreman_Guide/original)\n\u003e - I decided to group the tutorials, rather than creating a huuuuge file.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fji-podhead%2Frhel_9_foreman_guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fji-podhead%2Frhel_9_foreman_guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fji-podhead%2Frhel_9_foreman_guide/lists"}