aboutsummaryrefslogtreecommitdiff
path: root/puppet.wiki
blob: 63c43c31c83986b13d35c7b3b25fcdee91223dec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
https://puppet.com/docs/puppet/7/lang_resources.html

== Relationships and ordering ==
https://puppet.com/docs/puppet/7/lang_relationships.html

=== Parameters ===

before    :: Applies a resource before the target resource.
require   :: Applies a resource after the target resource.
notify    :: Applies a resource before the target resource. The target resource refreshes if the notifying resource changes.
subscribe :: Applies a resource after the target resource. The subscribing resource refreshes if the target resource changes.

=== Multiple declaration in single resource block ===

{{{puppet
  ini_setting {
    default:
      ensure  => $ensure,
      path    => $::pacman::conf_path,
      section => $repo_name ,
      ;
    "Pacman repo [${repo_name}] server":
      setting => 'Server',
      value   => $server ,
      ;
    "Pacman repo [${repo_name}] SigLevel":
      setting => 'SigLevel',
      value   => $sig_level ,
      ;
  }
}}}

== operators ==
https://puppet.com/docs/puppet/7/lang_expressions.html


== Conditionals ==
https://puppet.com/docs/puppet/7/lang_conditional.html

=== Type Case ===
{{{puppet
$variable ? {
    Array  => 'one thing',
    String => 'Anothing thing'
}
}}}

=== Regular Case ===
{{{puppet
case $variable {
    'A', 'B': {
    }
    /^(C|D)$/: {
    }
    default: {
    }
}


== Type conversion ==

{{{puppet
[['a', 1]].hash => { 'a' => 1 }
}}}

== Exported Resources ==
https://puppet.com/docs/puppet/7/lang_exported.html

{{{puppet
@@ssh { ... }
Ssh <<| |>>
}}}

== Server ==

{{{class="client"
$ puppet ssl clean
}}}

{{{class="server"
$ puppetserver ca revoke --certname gandalf.adrift.space
$ puppetserver ca clean --certname gandalf.adrift.space
}}}

--------------------------------------------------

{{{class="client"
$ rm -rf /etc/puppetlabs/puppet/ssl
$ puppet ssl bootstrap --server=busting.adrift.space --waitforcert=10
}}}

{{{class="server"
$ puppetserver ca list
$ puppetserver ca sign --certname gandalf.adrift.space
}}}



==== Generate new key ====

{{{
puppetserver ca setup --subject-alt-names busting.adrift.space,adrift.space,puppet
}}}




puppet apply --modulepath=/etc/puppetlabs/code/environments/<ENVIRONMENT>/modules -e 'include ::profiles::puppetserver'

== autonotify ==
lib/puppet/transaction/event_manager.rb
lib/puppet/graph/relationship_graph.rb:192