Difference between revisions of "Puppet"
Jump to navigation
Jump to search
(26 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== Installation == | == Installation == | ||
− | * <code>[[brew cask | + | * 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]] - | + | * <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 plan]] run</code> | ||
+ | * [[bolt]] (2018?) open source [[orchestration]] tool and [[agentless]] task runner. | ||
+ | * [[Matt Waxman]] | ||
+ | * [[ARA]] | ||
+ | * [[Puppet Enterprise]] | ||
+ | * [[Puppetfile]] | ||
+ | * [[Ruby]], [[Clojure]] | ||
== See also == | == See also == | ||
− | * | + | * {{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]
- MacOs:
brew install --cask puppetry
- Ubuntu:
apt install puppet
Commands[edit]
facter
puppet apply
puppet agent --test
puppet agent -t
puppet agent -tv
puppet apply file.pp
puppet apply --test
puppet module install puppetlabs-apache
puppet cert list
puppet cert sign mycertname
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]
- Read Puppet release notes: https://puppet.com/docs/puppet/latest/release_notes_puppet.html
- Read Puppet source code: https://github.com/puppetlabs/puppet
- Read https://blog.csanchez.org/2012/03/22/introduction-to-puppet/
Related terms[edit]
- Puppet manifests:
/etc/puppet/manifests/site.pp
- Puppet modules: Puppet Forge,
puppet module install
bolt plan run
- bolt (2018?) open source orchestration tool and agentless task runner.
- Matt Waxman
- ARA
- Puppet Enterprise
- Puppetfile
- Ruby, Clojure
See also[edit]
- Bolt, Bolt project,
bolt command run
,bolt task run facts
,bolt project init
,bolt --help
- Puppet,
bolt
, Hiera,facter
,puppet apply
,puppet agent
,puppet module
,puppet cert list
,puppet cert sign mycertname
- Configuration management: Chef, cdist, capistrano, Ansible, puppet, SaltStack
- IaC: Terraform, Chef, cdist, capistrano, Harrow, puppet, Ansible, CFEngine, Cloud Deployment Manager, pulumi, juju, SaltStack, Azure Resource Manager (ARM), Google Deployment Manager, AWS CloudFormation, Pulumi, Heat, Spacelift, Oracle Cloud Resource Manager, KICS, Troposphere, CaC, IaC scanning
Advertising: