SlideShare a Scribd company logo
1 of 32
Foreman in Your
Data Center
Lukáš Zapletal
@lzap
Agenda
● Introduction
– Provisioning
– Configuration
– Monitoring
● History and Technology
● Architecture and Installation
● Demo: Foreman Basics
● Customizing foreman
– Automating with CLI + API
– Plugins (Bootdisk, Discovery, Docker, Katello, Chef, Salt, Hooks, Remote
Execution)
● Demo: Foreman Plugins
Foreman's Realm
Managing the Lifecycle of your Systems
Foreman
● Provision new machines or containers to
(almost) anything
– Bare metal, oVirt, libvirt, VMware, Docker, EC2,
Rackspace, Digital Ocean, OpenStack, etc.
● If we don't support it today, we can via new
plugins
● Provisioning types:
– PXE - via PXELinux and kickstart, preseed, AutoYAST, etc
– Image-based - cloning, configured over SSH or user data (cloudinit)
● For virtualization provider, we create the VM
● For everything we orchestrate related services through Smart Proxies
– DNS - DHCP / TFTP
– FreeIPA Realm - Configuration Management
● Puppet
● Via plugins:
– Chef
– Salt
– Ansible
● Automatic registration & setup of
clients, including autosigning
certs/keys
● Defining:
● Classes / states
● Parameters / pillars
● Inventory data:
● Facts / Grains
● results of configuration runs
● Generic Report API with graphs/trends:
– System Inventories
– Reports from runs
– Generic reports: ABRT, OpenSCAP
● Context sensitive search:
– Not full-text (SQL level)
– Keyword completion
– Works across whole application
Distributed Architecture
● Smart Proxies located locally on Foreman itself or
independent – (orchestration)
● Large organizations and/or multi-tenancy:
– Organizations (Divisions)
– Locations
● Strong RBAC model
– Users / Groups
– Permissions / Filters
● LDAP / MS-AD integration
History
● Project started in July 2009
● Initial set of features: Puppet + PXE provisioning
● 213 unique contributors (winter 2015)
● Core team sponsored by Red Hat (GMT +10 -8)
● Translated to 13 languages
● Healthy and friendly community
● Reported usage: Red Hat, CERN, EMC, Citrix, DHL,
BBC, Digg, Good Data, Mozilla, eBay/Paypal (100,000
nodes)
Technology
Foreman itself
– Ruby on Rails application
– Targeted on UNIX platforms, Ruby 1.9+
– Steep learning curve (git clone, bundle install)
● Smart Proxy
– Ruby / Sinatra application
– Minimum dependencies
– Quick start (git clone, bundle install)
– On all Ruby 1.8+ platforms (incl. MS Windows)
Installation
● Repositories for RHEL/Fedora, Debian/Ubuntu
● Puppet-based installer
● Sane defaults for POC deployments
● Able to install, configure and manage:
– Foreman app
– Smart-proxies
– Services: DNS, DHCP, TFTP, Puppet
– Selected plugins
# foreman-installer -h | wc -l
439
Demo: Foreman Basics
Customization
● Customize Foreman to support your workflows!
– Configuration options in UI: Adminster → Settings
– Smart proxy configuration values (features)
– Automation with API + CLI
– Foreman Plugins
– Smart Proxy Plugins
– Foreman Hooks Plugin
API & CLI
● Full UI coverage
● All of our API is documented
● Documentation DSL generates dynamic Ruby
bindings
● Full RESTful API
– Docs at /apidoc on your Foreman server
– Also available at
http://www.theforeman.org/api/1.9/index.html
Hammer CLI
● On par with UI
● Username/Password authentication
● Easy to use, great for working in shell
hammer salt-key list --smart-proxy=smartproxy.example.com
Plugins
More Info: http://projects.theforeman.org/projects/foreman/wiki/List_of_Plugins
Rich ecosystem of existing plugins
Bootdisk plugin
● Small hybrid ISO downloaded from Host UI page
● Unknown or pre-registred hosts boot chainloads from
Foreman without PXE/TFTP
● Generic image
– iPXE-based, DHCP required
● Host image
– iPXE-based, DHCP not required
● Full host image
– SYSLINUX-based, DHCP required, OS specific
Discovery plugin
● Unknown host boots via DHCP/PXE
– Becomes available in Foreman as a “Discovered Host”
– Workflow remains the same
– Discovery image is RHEL7/CentOS7-based
● Provision with as few as NO clicks
– Automatic provisioning via rules on arbitrary facts:
● cpu_count < 8 → web server host group
● cpu_count >= 8 → db box host group
Discovery plugin
● Metal as a Service – PXE installation
Discovery plugin
● PXE-less (un)attended workflow (supports EFI)
Docker plugin
● Manage many docker hosts
● Deploy new containers easily & view their
status, logs, etc
● Multiple registry support & integration with
Katello
● https://github.com/theforeman/foreman-docker
Katello plugin
● Content Lifecycle Management
– http://www.katello.org/
● Sync RPM, Docker, and Puppet content
● Spin repositories with filters using Content Views
Katello plugin
● Manage through a lifecycle
– Dev → QA → Production (Environments)
● Patch Management
– Emergency Patches
– Errata Reports
● And much more!
Hooks plugin
● Hooks
– Triggered on actions: on action, do X
● host create/update/delete, build complete, etc.
● X could be anything
– add to nagios
– send an email
● Can be shell, python, ruby, etc.
– More info:
https://github.com/theforeman/foreman_hooks
Salt plugin
● Bootstrapping nodes
● Full interface to keys/autosign
● Define states, pillars via ext_node and ext_pillar
● Import reports (state.highstate results) and
grains into Foreman
● API & CLI
Chef plugin
● Automatic bootstrapping of clients
● Import reports and attributes into Foreman
● Decomission nodes from Chef server when
deleted in Foreman
Remote execution plugin
● Arbitrary commands on hosts
● Job Templates
– Based on Foreman Templating engine
– Input parameters
● Collected data available (Facts)
● Multiple providers architecture:
– SSH (via Smart Proxies)
Writing Foreman Plugins
● Foreman:
– Rails Engine
– Extra Foreman API (plugin registration)
– Distributed as a Ruby GEM
– Template and HOWTO available
● Smart Proxy:
– Sinatra app (REST API)
– Small plugin registration API
– Distributed as a Ruby GEM
What Next?
● Visit us http://theforeman.org/
● If you do something cool with Foreman, let us know!
● Find us:
– IRC: irc.freenode.net
● #theforeman
● #theforeman-dev
– Mailing Lists on Google groups
● foreman-users
● foreman-dev
Demo: Foreman Plugins

More Related Content

What's hot

Cloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust VisibilityCloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust Visibility
Raphaël PINSON
 

What's hot (20)

[락플레이스] RHEL8.4 웨비나 발표자료
[락플레이스] RHEL8.4 웨비나 발표자료 [락플레이스] RHEL8.4 웨비나 발표자료
[락플레이스] RHEL8.4 웨비나 발표자료
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
 
Cloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust VisibilityCloud Native Bern 05.2023 — Zero Trust Visibility
Cloud Native Bern 05.2023 — Zero Trust Visibility
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
Kubernetes PPT.pptx
Kubernetes PPT.pptxKubernetes PPT.pptx
Kubernetes PPT.pptx
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
 
Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
 
Comparison of existing cni plugins for kubernetes
Comparison of existing cni plugins for kubernetesComparison of existing cni plugins for kubernetes
Comparison of existing cni plugins for kubernetes
 
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 

Similar to Foreman in your datacenter

What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
chalermpany
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
Edmond Yu
 

Similar to Foreman in your datacenter (20)

OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam RuzickaOSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
 
Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015
 
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data CenterOSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
 
Installation of LAMP Server with Ubuntu 14.10 Server Edition
Installation of LAMP Server with Ubuntu 14.10 Server EditionInstallation of LAMP Server with Ubuntu 14.10 Server Edition
Installation of LAMP Server with Ubuntu 14.10 Server Edition
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
 
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & Operators
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
 
The Foreman Project
The Foreman ProjectThe Foreman Project
The Foreman Project
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Foreman in your datacenter

  • 1. Foreman in Your Data Center Lukáš Zapletal @lzap
  • 2. Agenda ● Introduction – Provisioning – Configuration – Monitoring ● History and Technology ● Architecture and Installation ● Demo: Foreman Basics ● Customizing foreman – Automating with CLI + API – Plugins (Bootdisk, Discovery, Docker, Katello, Chef, Salt, Hooks, Remote Execution) ● Demo: Foreman Plugins
  • 3. Foreman's Realm Managing the Lifecycle of your Systems
  • 5. ● Provision new machines or containers to (almost) anything – Bare metal, oVirt, libvirt, VMware, Docker, EC2, Rackspace, Digital Ocean, OpenStack, etc. ● If we don't support it today, we can via new plugins
  • 6. ● Provisioning types: – PXE - via PXELinux and kickstart, preseed, AutoYAST, etc – Image-based - cloning, configured over SSH or user data (cloudinit) ● For virtualization provider, we create the VM ● For everything we orchestrate related services through Smart Proxies – DNS - DHCP / TFTP – FreeIPA Realm - Configuration Management
  • 7. ● Puppet ● Via plugins: – Chef – Salt – Ansible ● Automatic registration & setup of clients, including autosigning certs/keys ● Defining: ● Classes / states ● Parameters / pillars ● Inventory data: ● Facts / Grains ● results of configuration runs
  • 8. ● Generic Report API with graphs/trends: – System Inventories – Reports from runs – Generic reports: ABRT, OpenSCAP ● Context sensitive search: – Not full-text (SQL level) – Keyword completion – Works across whole application
  • 9. Distributed Architecture ● Smart Proxies located locally on Foreman itself or independent – (orchestration) ● Large organizations and/or multi-tenancy: – Organizations (Divisions) – Locations ● Strong RBAC model – Users / Groups – Permissions / Filters ● LDAP / MS-AD integration
  • 10.
  • 11. History ● Project started in July 2009 ● Initial set of features: Puppet + PXE provisioning ● 213 unique contributors (winter 2015) ● Core team sponsored by Red Hat (GMT +10 -8) ● Translated to 13 languages ● Healthy and friendly community ● Reported usage: Red Hat, CERN, EMC, Citrix, DHL, BBC, Digg, Good Data, Mozilla, eBay/Paypal (100,000 nodes)
  • 12. Technology Foreman itself – Ruby on Rails application – Targeted on UNIX platforms, Ruby 1.9+ – Steep learning curve (git clone, bundle install) ● Smart Proxy – Ruby / Sinatra application – Minimum dependencies – Quick start (git clone, bundle install) – On all Ruby 1.8+ platforms (incl. MS Windows)
  • 13. Installation ● Repositories for RHEL/Fedora, Debian/Ubuntu ● Puppet-based installer ● Sane defaults for POC deployments ● Able to install, configure and manage: – Foreman app – Smart-proxies – Services: DNS, DHCP, TFTP, Puppet – Selected plugins # foreman-installer -h | wc -l 439
  • 15. Customization ● Customize Foreman to support your workflows! – Configuration options in UI: Adminster → Settings – Smart proxy configuration values (features) – Automation with API + CLI – Foreman Plugins – Smart Proxy Plugins – Foreman Hooks Plugin
  • 16. API & CLI ● Full UI coverage ● All of our API is documented ● Documentation DSL generates dynamic Ruby bindings ● Full RESTful API – Docs at /apidoc on your Foreman server – Also available at http://www.theforeman.org/api/1.9/index.html
  • 17. Hammer CLI ● On par with UI ● Username/Password authentication ● Easy to use, great for working in shell hammer salt-key list --smart-proxy=smartproxy.example.com
  • 19. Bootdisk plugin ● Small hybrid ISO downloaded from Host UI page ● Unknown or pre-registred hosts boot chainloads from Foreman without PXE/TFTP ● Generic image – iPXE-based, DHCP required ● Host image – iPXE-based, DHCP not required ● Full host image – SYSLINUX-based, DHCP required, OS specific
  • 20. Discovery plugin ● Unknown host boots via DHCP/PXE – Becomes available in Foreman as a “Discovered Host” – Workflow remains the same – Discovery image is RHEL7/CentOS7-based ● Provision with as few as NO clicks – Automatic provisioning via rules on arbitrary facts: ● cpu_count < 8 → web server host group ● cpu_count >= 8 → db box host group
  • 21. Discovery plugin ● Metal as a Service – PXE installation
  • 22. Discovery plugin ● PXE-less (un)attended workflow (supports EFI)
  • 23. Docker plugin ● Manage many docker hosts ● Deploy new containers easily & view their status, logs, etc ● Multiple registry support & integration with Katello ● https://github.com/theforeman/foreman-docker
  • 24. Katello plugin ● Content Lifecycle Management – http://www.katello.org/ ● Sync RPM, Docker, and Puppet content ● Spin repositories with filters using Content Views
  • 25. Katello plugin ● Manage through a lifecycle – Dev → QA → Production (Environments) ● Patch Management – Emergency Patches – Errata Reports ● And much more!
  • 26. Hooks plugin ● Hooks – Triggered on actions: on action, do X ● host create/update/delete, build complete, etc. ● X could be anything – add to nagios – send an email ● Can be shell, python, ruby, etc. – More info: https://github.com/theforeman/foreman_hooks
  • 27. Salt plugin ● Bootstrapping nodes ● Full interface to keys/autosign ● Define states, pillars via ext_node and ext_pillar ● Import reports (state.highstate results) and grains into Foreman ● API & CLI
  • 28. Chef plugin ● Automatic bootstrapping of clients ● Import reports and attributes into Foreman ● Decomission nodes from Chef server when deleted in Foreman
  • 29. Remote execution plugin ● Arbitrary commands on hosts ● Job Templates – Based on Foreman Templating engine – Input parameters ● Collected data available (Facts) ● Multiple providers architecture: – SSH (via Smart Proxies)
  • 30. Writing Foreman Plugins ● Foreman: – Rails Engine – Extra Foreman API (plugin registration) – Distributed as a Ruby GEM – Template and HOWTO available ● Smart Proxy: – Sinatra app (REST API) – Small plugin registration API – Distributed as a Ruby GEM
  • 31. What Next? ● Visit us http://theforeman.org/ ● If you do something cool with Foreman, let us know! ● Find us: – IRC: irc.freenode.net ● #theforeman ● #theforeman-dev – Mailing Lists on Google groups ● foreman-users ● foreman-dev

Editor's Notes

  1. Talk slower
  2. Introductory talk – first half basic introduction, second half – customizing to fit your own needs in your data center How many people use Foreman today? Puppet? Chef? Salt? Anyone using non-puppet in foreman? TALK SLOWER
  3. Talk slower
  4. Talk slower
  5. Talk slower
  6. Talk slower
  7. Talk slower
  8. Talk slower
  9. Install a basic foreman – smart-proxy runs on the localhost with foreman
  10. Talk slower
  11. Install a basic foreman – smart-proxy runs on the localhost with foreman
  12. Install a basic foreman – smart-proxy runs on the localhost with foreman
  13. Install a basic foreman – smart-proxy runs on the localhost with foreman
  14. Talk slower
  15. Talk slower
  16. Talk slower
  17. Talk slower
  18. Talk slower
  19. Talk slower
  20. Talk slower
  21. Talk slower
  22. Talk slower
  23. Talk slower
  24. Talk slower
  25. Talk slower
  26. Talk slower
  27. Talk slower
  28. Talk slower
  29. Talk slower
  30. Talk slower.
  31. Let us know!
  32. Talk slower