Difference between revisions of "Puppet"

From wikieduonline
Jump to navigation Jump to search
 
(21 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
== Installation ==
 
== Installation ==
* <code>[[brew cask install]] puppetry</code>
+
* MacOs: <code>[[brew install --cask puppetry]]</code>
 +
* [[Ubuntu]]: <code>apt install puppet</code>
  
 
== Commands ==
 
== Commands ==
 
* <code>[[facter]]</code>
 
* <code>[[facter]]</code>
 +
* <code>[[puppet apply]]</code>
 
* <code>[[puppet agent]] --test</code>
 
* <code>[[puppet agent]] --test</code>
* <code>[[puppet agent]] -t</code>
+
* <code>[[puppet agent -t]]</code>
 +
* <code>[[puppet agent -tv]]</code>
 
* <code>puppet apply file[[.pp]]</code>
 
* <code>puppet apply file[[.pp]]</code>
 
* <code>puppet apply --test</code>
 
* <code>puppet apply --test</code>
 
* <code>[[puppet module]] install puppetlabs-apache</code>
 
* <code>[[puppet module]] install puppetlabs-apache</code>
* puppet cert list
+
* <code>[[puppet cert list]]</code>
* puppet cert sign mycertname
+
* <code>[[puppet cert sign mycertname]]</code>
  
 
== Example puppet file==
 
== Example puppet file==
 +
 +
my_first_puppet_example.pp
 +
<pre>
 +
file {'/tmp/my-example-ip':                                         
 +
  content => "hello world!", 
 +
}
 +
</pre>
 +
 +
[[puppet apply my_first_puppet_example.pp]]
 +
 +
 +
my_second_example.pp
 
<pre>
 
<pre>
 
file {'/tmp/my-example-ip':                                            # resource type file and filename
 
file {'/tmp/my-example-ip':                                            # resource type file and filename
Line 22: Line 37:
 
}
 
}
 
</pre>
 
</pre>
See also [[Ansible]] [[lineinfile]] [[module]]
+
See also [[Ansible]] <code>[[lineinfile]]</code> [[module]]
  
 
== Activities ==
 
== Activities ==
Line 33: Line 48:
 
* [[Puppet manifests]]: <code>/etc/puppet/manifests/site.pp</code>
 
* [[Puppet manifests]]: <code>/etc/puppet/manifests/site.pp</code>
 
* [[Puppet modules]]: Puppet Forge, <code>[[puppet module install]]</code>
 
* [[Puppet modules]]: Puppet Forge, <code>[[puppet module install]]</code>
* <code>[[bolt]] puppetfile install</code>
+
* <code>[[bolt plan]] run</code>
* <code>bolt plan run</code>
 
 
* [[bolt]] (2018?) open source [[orchestration]] tool and [[agentless]] task runner.
 
* [[bolt]] (2018?) open source [[orchestration]] tool and [[agentless]] task runner.
 
* [[Matt Waxman]]
 
* [[Matt Waxman]]
 +
* [[ARA]]
 +
* [[Puppet Enterprise]]
 +
* [[Puppetfile]]
 +
* [[Ruby]], [[Clojure]]
  
 
== See also ==
 
== See also ==
* [[Ruby]], [[Clojure]]
+
* {{Bolt}}
 +
* {{Puppet}}
 
* {{Configuration management}}
 
* {{Configuration management}}
 
* {{IaC}}
 
* {{IaC}}
  
 
[[Category:Server administration]]
 
[[Category:Server administration]]

Latest revision as of 13:16, 19 July 2021

Puppet (2005) is an open-core software configuration management tool available since 2005. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration.

Installation[edit]

Commands[edit]

Example puppet file[edit]

my_first_puppet_example.pp
file {'/tmp/my-example-ip':                                           
  content => "hello world!",  
}
puppet apply my_first_puppet_example.pp


my_second_example.pp
file {'/tmp/my-example-ip':                                            # resource type file and filename
  ensure  => present,                                               # make sure it exists
  mode    => '0644',                                                # file permissions
  content => "My Public IP Address is: ${ipaddress_eth0}.\n",  # note the ipaddress_eth0 fact
}

See also Ansible lineinfile module

Activities[edit]

  1. Read Puppet release notes: https://puppet.com/docs/puppet/latest/release_notes_puppet.html
  2. Read Puppet source code: https://github.com/puppetlabs/puppet
  3. Read https://blog.csanchez.org/2012/03/22/introduction-to-puppet/


Related terms[edit]

See also[edit]

Advertising: