aboutsummaryrefslogtreecommitdiff
path: root/puppet.wiki
blob: 921acfdefab0de33d30fdd59643ba874df1f94ac (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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
[[bolt]]

https://puppet.com/docs/puppet/7/lang_resources.html

`puppet strings` for documentation?

== 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',
    default => '',
}
}}}

==== On Undef ====
{{{puppet
$debug_api = $irc_bridge_debug_port ? {
  Undef  => { 'enabled' => false },
  String => {
        'enabled' => false,
        'port'    => $irc_bridge_debug_port,
  },
}
}}}


=== 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


= Abstract Data Types =
https://www.puppet.com/docs/puppet/7/lang_data_abstract.html

- `Optional[_<type>_]`
- `NotUndef[_<type>_]` :: Any - undef
- `Variant[_<type>_, _<type>_ ...]` :: one of