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

Zabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructureZabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructure
Arvids Godjuks
 
Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack Neutron
Michelle Holley
 
Monitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_TutorialMonitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_Tutorial
Tim Vaillancourt
 

What's hot (20)

Nagios, Getting Started.
Nagios, Getting Started.Nagios, Getting Started.
Nagios, Getting Started.
 
Virtual training Intro to InfluxDB & Telegraf
Virtual training  Intro to InfluxDB & TelegrafVirtual training  Intro to InfluxDB & Telegraf
Virtual training Intro to InfluxDB & Telegraf
 
Linux Kernel Live Patching
Linux Kernel Live PatchingLinux Kernel Live Patching
Linux Kernel Live Patching
 
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
Room 1 - 4 - Phạm Tường Chiến & Trần Văn Thắng - Deliver managed Kubernetes C...
 
Ansible
AnsibleAnsible
Ansible
 
Cloud Monitoring tool Grafana
Cloud Monitoring  tool Grafana Cloud Monitoring  tool Grafana
Cloud Monitoring tool Grafana
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
 
Zabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructureZabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructure
 
Summit 16: ETSI NFV Interface and Architecture Overview
Summit 16: ETSI NFV Interface and Architecture OverviewSummit 16: ETSI NFV Interface and Architecture Overview
Summit 16: ETSI NFV Interface and Architecture Overview
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
 
Terraform
TerraformTerraform
Terraform
 
Distributed fun with etcd
Distributed fun with etcdDistributed fun with etcd
Distributed fun with etcd
 
Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack Neutron
 
Zabbix
ZabbixZabbix
Zabbix
 
The internals and the latest trends of container runtimes
The internals and the latest trends of container runtimesThe internals and the latest trends of container runtimes
The internals and the latest trends of container runtimes
 
오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기오픈스택 멀티노드 설치 후기
오픈스택 멀티노드 설치 후기
 
Monitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_TutorialMonitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_Tutorial
 
Admission controllers - PSP, OPA, Kyverno and more!
Admission controllers - PSP, OPA, Kyverno and more!Admission controllers - PSP, OPA, Kyverno and more!
Admission controllers - PSP, OPA, Kyverno and more!
 
Linux basics
Linux basicsLinux basics
Linux basics
 

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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
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
 
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)
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 

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