augeas, swiss knife resources for your puppet tree
DESCRIPTION
This talk gives you an introduction to augeas with some usecases and demo of its Puppet integration. It also gives an introduction about how to manage files with puppet.TRANSCRIPT
![Page 1: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/1.jpg)
...
AugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet treeSwiss-knife resources for your puppet tree
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014November 17th, 2014
![Page 2: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/2.jpg)
..
$::user$::user$::user$::user$::user$::user$::user$::user$::user$::user$::user$::user$::user$::user$::user$::user$::userJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
• Open-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.eu
• FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004• DevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelist• Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011Puppet User since 2011• @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github
![Page 3: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/3.jpg)
..
..
inuits.eu
![Page 4: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/4.jpg)
..
..
Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101Sysadmin 101CC BY-SA 2.0 https://www.flickr.com/photos/arthur-caranta/2926332140
![Page 5: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/5.jpg)
..
Setting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a serviceSetting up a service
• Install the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the packageInstall the package• Change the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configurationChange the configuration• Start the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemonStart the daemon
![Page 6: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/6.jpg)
..
PackagePackagePackagePackagePackagePackagePackagePackagePackagePackagePackagePackagePackagePackagePackagePackagePackageConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigConfigServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceServiceService
Ken Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentKen Barber - modern module developmentPuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012PuppetCamp Edinburgh 2012
![Page 7: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/7.jpg)
..
3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.3 steps.What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?What can go wrong?
![Page 8: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/8.jpg)
..
PackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackaging
• Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?Where is the package?• Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?Which version do we need?• Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?Does it conflict with something else?
![Page 9: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/9.jpg)
..
..
Dependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies HellDependencies Hell
#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks#packagingsucks
CC BY-SA 2.0 https://www.flickr.com/photos/coconinonationalforest/4587053982
![Page 10: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/10.jpg)
..
ConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfigurationConfiguration
• Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?Where is the file?• How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?How many files?• Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?Configuration is in the database?• The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*The file is *huge*
![Page 11: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/11.jpg)
..
Starting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the serviceStarting the service
• Does not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not startDoes not start▶ Bad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config fileBad config file▶ Stale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock fileStale lock file▶ Data corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruptionData corruption
• High AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh AvailabilityHigh Availability• ReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplicationReplication
![Page 12: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/12.jpg)
..
Let's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfigurationconfiguration today.today.today.today.today.today.today.today.today.today.today.today.today.today.today.today.today.
![Page 13: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/13.jpg)
..
Let's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk aboutLet's talk about filesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfiles today.today.today.today.today.today.today.today.today.today.today.today.today.today.today.today.today.
![Page 14: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/14.jpg)
..
File manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulationFile manipulation
![Page 15: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/15.jpg)
..
Full configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changesFull configuration changes
• Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach:Classical approach: File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[] resourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresource• Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach:Advanced approach: Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[] definedefinedefinedefinedefinedefinedefinedefinedefinedefinedefinedefinedefinedefinedefinedefinedefine• Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers +Puppet approach: type/providers + purgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurge• Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d +Directory approach: conf.d + purgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurge
![Page 16: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/16.jpg)
..
Partial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changesPartial configuration changes
• Puppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/oPuppet approach: type/providers w/o purgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurge• Directory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/oDirectory approach: conf.d w/o purgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurgepurge• Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach:Broken approach: Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed]Exec[sed] resourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresource• Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach:Surgical approach: Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[]Augeas[] resourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresource
![Page 17: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/17.jpg)
..
..
TheTheTheTheTheTheTheTheTheTheTheTheTheTheTheTheThe File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[] resourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceresourceCC BY 2.0 https://www.flickr.com/photos/80497449@N04/10567875696/
![Page 18: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/18.jpg)
..
FileFileFileFileFileFileFileFileFileFileFileFileFileFileFileFileFile
• Built-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resourceBuilt-in puppet resource• Most usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost usedMost used• Works with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecasesWorks with a lot of usecases• Text files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary filesText files, binary files
![Page 19: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/19.jpg)
..
.
.
file{"${::icinga::confdir_server}/cgi.cfg":ensure => present,content => template('icinga/redhat/cgi.cfg.erb'),owner => $::icinga::server_user,group => $::icinga::server_group,require => Class['icinga::config'],notify => [
Service[$::icinga::service_client],Service[$::icinga::service_server],Exec['fix_collected_permissions']
],}
![Page 20: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/20.jpg)
..
Content of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a fileContent of a file
• content parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parametercontent parameter▶ StringStringStringStringStringStringStringStringStringStringStringStringStringStringStringStringString▶ template()template()template()template()template()template()template()template()template()template()template()template()template()template()template()template()template()▶ file()file()file()file()file()file()file()file()file()file()file()file()file()file()file()file()file()▶ Dynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic contentDynamic content
• source parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parametersource parameter▶ puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///puppet:///▶ /local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file/local/file▶ Static contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic contentStatic content
![Page 21: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/21.jpg)
..
File[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviourFile[] behaviour
• ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray asasasasasasasasasasasasasasasasas "source":"source":"source":"source":"source":"source":"source":"source":"source":"source":"source":"source":"source":"source":"source":"source":"source": PuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppet willwillwillwillwillwillwillwillwillwillwillwillwillwillwillwillwill pickpickpickpickpickpickpickpickpickpickpickpickpickpickpickpickpick thethethethethethethethethethethethethethethethethe firstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstfirstavailableavailableavailableavailableavailableavailableavailableavailableavailableavailableavailableavailableavailableavailableavailableavailableavailable
• MultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultipleMultiple argumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsargumentsarguments tototototototototototototototototo template():template():template():template():template():template():template():template():template():template():template():template():template():template():template():template():template(): PuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetPuppetwillwillwillwillwillwillwillwillwillwillwillwillwillwillwillwillwill concatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenateconcatenate themthemthemthemthemthemthemthemthemthemthemthemthemthemthemthemthem allallallallallallallallallallallallallallallallall
• File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]File[/foo/bar] will autorequire File[/foo]
![Page 22: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/22.jpg)
..
Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]Downside of File[]
• You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"You can only have at one "content"• That resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole fileThat resource describe the whole file• Getting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complexGetting more is complex
▶ content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()content => custom_fuction()▶ Recursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templatesRecursive templates
![Page 23: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/23.jpg)
..
..
concatPublic Domain http://commons.wikimedia.org/wiki/File:Adhesive_tapes_clear.JPG
![Page 24: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/24.jpg)
..
ConcatConcatConcatConcatConcatConcatConcatConcatConcatConcatConcatConcatConcatConcatConcatConcatConcat
• A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:A "reference" puppet module:puppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concat
• https://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concathttps://github.com/puppetlabs/puppetlabs-concat
• Provides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage fileProvides definitions to manage file• Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:Alternative modules:
▶ onyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concatonyxpoint/pupmod-concat▶ theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)theforeman/puppet-concat (fork of onyxpoint)
![Page 25: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/25.jpg)
..
Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?Concat?
• Concat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippetsConcat takes a bunch of snippets• Assemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a fileAssemble them info a file• Each snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a defineEach snippet is a define• The final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a defineThe final file is a define
![Page 26: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/26.jpg)
..
.
.
concat { '/tmp/file':ensure => present,
}
concat::fragment { 'tmpfile':target => '/tmp/file',content => 'test contents',order => '01'
}
![Page 27: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/27.jpg)
..
Base and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragmentsBase and fragments
• Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[] configures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destinationconfigures the destination▶ modemodemodemodemodemodemodemodemodemodemodemodemodemodemodemodemode▶ ownerownerownerownerownerownerownerownerownerownerownerownerownerownerownerownerowner▶ pathpathpathpathpathpathpathpathpathpathpathpathpathpathpathpathpath▶ ……………………………………………
• Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[] = parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file= parts of the file• 11111111111111111 Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[]Concat[] = X= X= X= X= X= X= X= X= X= X= X= X= X= X= X= X= X Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]Concat::Fragment[]
![Page 28: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/28.jpg)
..
Advantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concatAdvantages of concat
• More flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibilityMore flexibility▶ ififififififififififififififififif▶ virtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resourcevirtual resource▶ exported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resourcesexported resources▶ create_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resourcescreate_resources
• Mix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and filesMix templates and files
![Page 29: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/29.jpg)
..
Disadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concatDisadvantages of concat
• External Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet moduleExternal Puppet module• Still defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole fileStill defining the whole file• PerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformancesPerformances
![Page 30: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/30.jpg)
..
..
Exec{sed: onlyif => grep}
CC BY-SA 3.0 http://commons.wikimedia.org/wiki/File:Ca%C3%AFn_par_Henri_Vidal.jpg
![Page 31: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/31.jpg)
..
..https://github.com/search?o=desc&q=exec+sed+onlyif+grep+language%3APuppet
![Page 32: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/32.jpg)
..
exec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0kenexec[sed] is br0ken
• Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?Which options to pass to sed and grep?• You should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possibleYou should use as few Exec[] as possible• grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....grep ....• Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…Escape, regexes…
![Page 33: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/33.jpg)
..
Another alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.dAnother alternative: conf.d
• Some services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directoriesSome services support conf.d directories• But it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parametersBut it is hard to change existing parameters• In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?In which order are the files read?• Don't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purgeDon't forget to purge
![Page 34: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/34.jpg)
..
..
Augeas
CC BY-SA 3.0 http://commons.wikimedia.org/wiki/File:Students_assisting_surgery.JPG
![Page 35: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/35.jpg)
..
• Configuration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing tool• First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007First release in 2007• API coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in CAPI coded in C• Command-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line toolsCommand-line tools• Bindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languagesBindings for different languages
![Page 36: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/36.jpg)
..
Configuration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing toolConfiguration editing tool
• Parsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration filesParsing the configuration files• Turning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a treeTurning them into a tree• Edit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configurationEdit the tree & save the configuration
![Page 37: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/37.jpg)
..
.
.
$ cat /etc/nsswitch.conf# /etc/nsswitch.conf## Example configuration#
passwd: db filesgroup: db filesinitgroups: db [SUCCESS=continue] filesshadow: db filesgshadow: files
![Page 38: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/38.jpg)
..
.
.
augtool> ls /files/etc/nsswitch.conf/#comment[1] = /etc/nsswitch.conf#comment[2] = Example configurationdatabase[1]/ = passwddatabase[2]/ = groupdatabase[3]/ = initgroupsdatabase[4]/ = shadowdatabase[5]/ = gshadow
![Page 39: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/39.jpg)
..
.
.
augtool> ls /files/etc/nsswitch.conf/database[1]/service[1] = dbservice[2] = files
![Page 40: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/40.jpg)
..
Native format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> treeNative format -> tree
• Augeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a treeAugeas turns the file into a tree• The tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the fileThe tree matches the meaning of the file• Augeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand commentsAugeas understand comments• Augeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty linesAugeas does not care about empty lines• The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (The cli tool (augtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtoolaugtool) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete) has autocomplete• It recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formatsIt recognize a lot of formats
![Page 41: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/41.jpg)
..
.
.
augtool> set /files/etc/nsswitch.conf/database[1]/service[last()+1] ldapaugtool> saveSaved 1 file(s)
![Page 42: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/42.jpg)
..
.
.
$ cat /etc/nsswitch.conf# /etc/nsswitch.conf## Example configuration#
passwd: db files ldapgroup: db filesinitgroups: db [SUCCESS=continue] filesshadow: db filesgshadow: files
![Page 43: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/43.jpg)
..
.
.
augtool> match /files/etc/nsswitch.conf/*/* ldap/files/etc/nsswitch.conf/database[1]/service[3]augtool> print /files/etc/nsswitch.conf/database[1]/files/etc/nsswitch.conf/database[1] = "passwd"/files/etc/nsswitch.conf/database[1]/service[1] = "db"/files/etc/nsswitch.conf/database[1]/service[2] = "files"/files/etc/nsswitch.conf/database[1]/service[3] = "ldap"
![Page 44: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/44.jpg)
..
.
.
augtool> rm /files/etc/nsswitch.conf/database[1]/service[3]rm : /files/etc/nsswitch.conf/database[1]/service[3] 1augtool> print /files/etc/nsswitch.conf/database[1]/files/etc/nsswitch.conf/database[1] = "passwd"/files/etc/nsswitch.conf/database[1]/service[1] = "db"/files/etc/nsswitch.conf/database[1]/service[2] = "files"augtool> saveSaved 1 file(s)
![Page 45: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/45.jpg)
..
One API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them allOne API to edit them all
• Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …Can talk XML, ini, named, nginx, …• Only change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is neededOnly change what is needed• Ensure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is rightEnsure the syntax is right
![Page 46: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/46.jpg)
..
Augeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas LensesAugeas Lenses
• Lenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand filesLenses explain how to understand files▶ SyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntaxSyntax▶ LogicLogicLogicLogicLogicLogicLogicLogicLogicLogicLogicLogicLogicLogicLogicLogicLogic▶ Path of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the filesPath of the files
• There are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them availableThere are a lot of them available• You can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lensesYou can write your own lenses
![Page 47: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/47.jpg)
..
"This"This"This"This"This"This"This"This"This"This"This"This"This"This"This"This"This bringsbringsbringsbringsbringsbringsbringsbringsbringsbringsbringsbringsbringsbringsbringsbringsbrings thethethethethethethethethethethethethethethethethe totaltotaltotaltotaltotaltotaltotaltotaltotaltotaltotaltotaltotaltotaltotaltotaltotal numbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumber ofofofofofofofofofofofofofofofofof lenseslenseslenseslenseslenseslenseslenseslenseslenseslenseslenseslenseslenseslenseslenseslenseslensestototototototototototototototototo 178.178.178.178.178.178.178.178.178.178.178.178.178.178.178.178.178. […][…][…][…][…][…][…][…][…][…][…][…][…][…][…][…][…] It'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt'sIt's depressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressingdepressing tototototototototototototototototo thinkthinkthinkthinkthinkthinkthinkthinkthinkthinkthinkthinkthinkthinkthinkthinkthink thatthatthatthatthatthatthatthatthatthatthatthatthatthatthatthatthatLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/UnixLinux/Unix systemssystemssystemssystemssystemssystemssystemssystemssystemssystemssystemssystemssystemssystemssystemssystemssystems havehavehavehavehavehavehavehavehavehavehavehavehavehavehavehavehave managedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanagedmanaged tototototototototototototototototogrowgrowgrowgrowgrowgrowgrowgrowgrowgrowgrowgrowgrowgrowgrowgrowgrow thisthisthisthisthisthisthisthisthisthisthisthisthisthisthisthisthis manymanymanymanymanymanymanymanymanymanymanymanymanymanymanymanymany specialspecialspecialspecialspecialspecialspecialspecialspecialspecialspecialspecialspecialspecialspecialspecialspecial snowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflakesnowflake
formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."formats."David Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developerDavid Lutterkort, main developer
about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0about Augeas 1.3.0
![Page 48: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/48.jpg)
..
178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses178 lenses
approxapproxapproxapproxapproxapproxapproxapproxapproxapproxapproxapproxapproxapproxapproxapproxapprox aptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurityaptcacherngsecurity aptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconfaptconf aptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptpreferencesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsourcesaptsources automounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounterautomounter carboncarboncarboncarboncarboncarboncarboncarboncarboncarboncarboncarboncarboncarboncarboncarboncarbon cgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrulescgrules channelschannelschannelschannelschannelschannelschannelschannelschannelschannelschannelschannelschannelschannelschannelschannelschannels
cyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapdcyrus_imapd darkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkicedarkice dpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkgdpkg dputdputdputdputdputdputdputdputdputdputdputdputdputdputdputdputdput erlangerlangerlangerlangerlangerlangerlangerlangerlangerlangerlangerlangerlangerlangerlangerlangerlang ethersethersethersethersethersethersethersethersethersethersethersethersethersethersethersethersethers exportsexportsexportsexportsexportsexportsexportsexportsexportsexportsexportsexportsexportsexportsexportsexportsexportsfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfigfai_diskconfig gdmgdmgdmgdmgdmgdmgdmgdmgdmgdmgdmgdmgdmgdmgdmgdmgdm gtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarksgtkbookmarks host_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_confhost_conf hostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostnamehostname hostshostshostshostshostshostshostshostshostshostshostshostshostshostshostshostshostshttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpd inetdinetdinetdinetdinetdinetdinetdinetdinetdinetdinetdinetdinetdinetdinetdinetdinetd inifileinifileinifileinifileinifileinifileinifileinifileinifileinifileinifileinifileinifileinifileinifileinifileinifile inittabinittabinittabinittabinittabinittabinittabinittabinittabinittabinittabinittabinittabinittabinittabinittabinittab interfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfacesinterfaces jettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealmjettyrealm keepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedkeepalivedknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hostsknown_hosts ldsoldsoldsoldsoldsoldsoldsoldsoldsoldsoldsoldsoldsoldsoldsoldsoldso lightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdmlightdm limitslimitslimitslimitslimitslimitslimitslimitslimitslimitslimitslimitslimitslimitslimitslimitslimits logwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatchlogwatch lokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkitlokkit lvmlvmlvmlvmlvmlvmlvmlvmlvmlvmlvmlvmlvmlvmlvmlvmlvm
nagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfgnagioscfg netmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasksnetmasks networksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworksnetworks nrpenrpenrpenrpenrpenrpenrpenrpenrpenrpenrpenrpenrpenrpenrpenrpenrpe ntpdntpdntpdntpdntpdntpdntpdntpdntpdntpdntpdntpdntpdntpdntpdntpdntpd pagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekitepagekite pbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpbuilderpg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hbapg_hba phpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvarsphpvars postfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_mainpostfix_main postfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_masterpostfix_master protocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocolsprotocols puppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserverpuppetfileserver pythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpastepythonpaste redisredisredisredisredisredisredisredisredisredisredisredisredisredisredisredisredis resolvresolvresolvresolvresolvresolvresolvresolvresolvresolvresolvresolvresolvresolvresolvresolvresolv rsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncdrsyncd rxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrxrx schrootschrootschrootschrootschrootschrootschrootschrootschrootschrootschrootschrootschrootschrootschrootschrootschrootsepsepsepsepsepsepsepsepsepsepsepsepsepsepsepsepsep shellsshellsshellsshellsshellsshellsshellsshellsshellsshellsshellsshellsshellsshellsshellsshellsshells simplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelinessimplelines simplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevarssimplevars solaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_systemsolaris_system somasomasomasomasomasomasomasomasomasomasomasomasomasomasomasomasoma sshdsshdsshdsshdsshdsshdsshdsshdsshdsshdsshdsshdsshdsshdsshdsshdsshd
sudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoerssudoers sysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfigsysconfig sysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_routesysconfig_route sysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctlsysctl syslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslogsyslog thttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdthttpdup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2dateup2date utilutilutilutilutilutilutilutilutilutilutilutilutilutilutilutilutil vfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstabvfstab webminwebminwebminwebminwebminwebminwebminwebminwebminwebminwebminwebminwebminwebminwebminwebminwebmin xendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxpxendconfsxp yumyumyumyumyumyumyumyumyumyumyumyumyumyumyumyumyum
![Page 49: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/49.jpg)
..
A short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lenseA short lense
.
.
module Hostname =autoload xfm
(* View: lns *)let lns = [ label "hostname" . store Rx.word . Util.eol ]
(* View: filter *)let filter = incl "/etc/hostname". incl "/etc/mailname"
let xfm = transform lns filter
![Page 50: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/50.jpg)
..
Puppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeasPuppet <3 augeas
• Native "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resourceNative "augeas" resource• Support for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsyncSupport for pluginsync• Helpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers available
![Page 51: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/51.jpg)
..
Puppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet example
.
.
augeas { $name:context => "/files${fstab::variables::fstab_file}",changes => [
"rm ${fstab_match_line}",],onlyif => "match ${fstab_match_line} size > 0"
}
![Page 52: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/52.jpg)
..
Real usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecasesReal usecases
• Change grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub optionsChange grub options• Modify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hostsModify /etc/hosts• Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)Modify XML's (puppetlabs-tomcat)• Configure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure JenkinsConfigure Jenkins
![Page 53: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/53.jpg)
..
PluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsyncPluginsync
• Puppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for AugeasPuppet has pluginsync support for Augeas• Drop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modulesDrop your lenses in your modules• lib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenseslib/augeas/lenses• "lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources"lens" parameter for augeas resources
![Page 54: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/54.jpg)
..
Puppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet examplePuppet example
.
.
augeas{"jboss_conf":context => "/files/etc/jbossas",changes => [
"set jbossas.conf/JBOSS_IP $ipaddress","set jbossas.conf/JAVA_HOME /usr",
],lens => "Jboss.aug",
}
![Page 55: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/55.jpg)
..
Augeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commandsAugeas commands
setsetsetsetsetsetsetsetsetsetsetsetsetsetsetsetset rmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrmrm mvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmv clearclearclearclearclearclearclearclearclearclearclearclearclearclearclearclearclear insertinsertinsertinsertinsertinsertinsertinsertinsertinsertinsertinsertinsertinsertinsertinsertinsert ……………………………………………
![Page 56: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/56.jpg)
..
Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)Augeas comparators (onlyif)
matchmatchmatchmatchmatchmatchmatchmatchmatchmatchmatchmatchmatchmatchmatchmatchmatch getgetgetgetgetgetgetgetgetgetgetgetgetgetgetgetget
![Page 57: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/57.jpg)
..
AugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasprovidersAugeasproviders
• Helpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeasHelpers around augeas• Puppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modules• No augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge neededNo augeas knowledge needed
![Page 58: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/58.jpg)
..
apacheapacheapacheapacheapacheapacheapacheapacheapacheapacheapacheapacheapacheapacheapacheapacheapache
.
.
apache_setenv { "SPECIAL_PATH":ensure => present,value => "/foo/bin",
}
![Page 59: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/59.jpg)
..
kernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameterkernel_parameter
.
.
kernel_parameter { "quiet":ensure => present,bootmode => "normal",
}
![Page 60: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/60.jpg)
..
MCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integrationMCollective integration
• Augeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollectiveAugeas can be used with mcollective• Used to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discoverUsed to query or to discover• Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:Quickly answers questions:
▶ Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?Which user is at id 500 on every machine?▶ What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?What can johndoe do in the sudoers files?▶ What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?What is in the crontabs at 2 am?
![Page 61: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/61.jpg)
..
ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusion
![Page 62: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/62.jpg)
..
DisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantages
• Learning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning requiredLearning required• Library to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to installLibrary to install• Writing lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hardWriting lenses is hard• You need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modulesYou need good puppet modules
![Page 63: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/63.jpg)
..
AdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantages
• Augeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature toolAugeas is a mature tool• Preserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in filesPreserves comments in files• It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)It fails (if needed)• Only changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is neededOnly changes what is needed• A lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses availableA lot of lenses available• Puppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integrationPuppet integration• Helpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers availableHelpers available
![Page 64: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/64.jpg)
..
Final noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal noteFinal note
MostMostMostMostMostMostMostMostMostMostMostMostMostMostMostMostMost ofofofofofofofofofofofofofofofofof thethethethethethethethethethethethethethethethethe time,time,time,time,time,time,time,time,time,time,time,time,time,time,time,time,time, File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[]File[] resourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresourcesresources arearearearearearearearearearearearearearearearearethethethethethethethethethethethethethethethethethe waywaywaywaywaywaywaywaywaywaywaywaywaywaywaywayway tototototototototototototototototo go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go.go. AugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeasAugeas cancancancancancancancancancancancancancancancancan helphelphelphelphelphelphelphelphelphelphelphelphelphelphelphelphelp whenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenyouyouyouyouyouyouyouyouyouyouyouyouyouyouyouyouyou needneedneedneedneedneedneedneedneedneedneedneedneedneedneedneedneed tototototototototototototototototo changechangechangechangechangechangechangechangechangechangechangechangechangechangechangechangechange filesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfilesfiles generatedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgeneratedgenerated bybybybybybybybybybybybybybybybybyananananananananananananananananan applicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplicationapplication ororororororororororororororororor thatthatthatthatthatthatthatthatthatthatthatthatthatthatthatthatthat youyouyouyouyouyouyouyouyouyouyouyouyouyouyouyouyou cancancancancancancancancancancancancancancancancan notnotnotnotnotnotnotnotnotnotnotnotnotnotnotnotnotmanagemanagemanagemanagemanagemanagemanagemanagemanagemanagemanagemanagemanagemanagemanagemanagemanage entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.entirely.
![Page 65: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/65.jpg)
..
ReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadingsReadings
• http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/http://augeas.net/• http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/http://augeasproviders.com/• https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/https://docs.puppetlabs.com/
![Page 66: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/66.jpg)
..
Thank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank you
Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Thanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphinkThanks to @raphink
![Page 67: Augeas, swiss knife resources for your puppet tree](https://reader031.vdocuments.net/reader031/viewer/2022020218/5594478f1a28ab0f0d8b4626/html5/thumbnails/67.jpg)
..
ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien [email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie
inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitshttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636