from-scratch 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +2 -1
  3. data/Berksfile.lock +20 -1
  4. data/cookbooks/bluepill/CHANGELOG.md +93 -0
  5. data/cookbooks/bluepill/README.md +91 -0
  6. data/cookbooks/bluepill/attributes/default.rb +44 -0
  7. data/cookbooks/bluepill/metadata.json +1 -0
  8. data/cookbooks/bluepill/providers/service.rb +172 -0
  9. data/cookbooks/bluepill/recipes/default.rb +48 -0
  10. data/cookbooks/bluepill/recipes/rsyslog.rb +28 -0
  11. data/cookbooks/bluepill/resources/service.rb +27 -0
  12. data/cookbooks/bluepill/templates/default/bluepill_init.fedora.erb +34 -0
  13. data/cookbooks/bluepill/templates/default/bluepill_init.freebsd.erb +32 -0
  14. data/cookbooks/bluepill/templates/default/bluepill_init.lsb.erb +37 -0
  15. data/cookbooks/bluepill/templates/default/bluepill_init.rhel.erb +34 -0
  16. data/cookbooks/bluepill/templates/default/bluepill_rsyslog.conf.erb +1 -0
  17. data/cookbooks/nginx/CHANGELOG.md +435 -0
  18. data/cookbooks/nginx/README.md +521 -0
  19. data/cookbooks/nginx/attributes/auth_request.rb +23 -0
  20. data/cookbooks/nginx/attributes/default.rb +131 -0
  21. data/cookbooks/nginx/attributes/devel.rb +24 -0
  22. data/cookbooks/nginx/attributes/echo.rb +24 -0
  23. data/cookbooks/nginx/attributes/geoip.rb +31 -0
  24. data/cookbooks/nginx/attributes/headers_more.rb +24 -0
  25. data/cookbooks/nginx/attributes/lua.rb +28 -0
  26. data/cookbooks/nginx/attributes/naxsi.rb +24 -0
  27. data/cookbooks/nginx/attributes/openssl_source.rb +23 -0
  28. data/cookbooks/nginx/attributes/pagespeed.rb +9 -0
  29. data/cookbooks/nginx/attributes/passenger.rb +58 -0
  30. data/cookbooks/nginx/attributes/rate_limiting.rb +23 -0
  31. data/cookbooks/nginx/attributes/repo.rb +35 -0
  32. data/cookbooks/nginx/attributes/set_misc.rb +8 -0
  33. data/cookbooks/nginx/attributes/socketproxy.rb +13 -0
  34. data/cookbooks/nginx/attributes/source.rb +42 -0
  35. data/cookbooks/nginx/attributes/status.rb +22 -0
  36. data/cookbooks/nginx/attributes/syslog.rb +24 -0
  37. data/cookbooks/nginx/attributes/upload_progress.rb +26 -0
  38. data/cookbooks/nginx/definitions/nginx_site.rb +50 -0
  39. data/cookbooks/nginx/files/default/mime.types +78 -0
  40. data/cookbooks/nginx/files/default/naxsi_core.rules +82 -0
  41. data/cookbooks/nginx/libraries/matchers.rb +20 -0
  42. data/cookbooks/nginx/metadata.json +351 -0
  43. data/cookbooks/nginx/recipes/authorized_ips.rb +32 -0
  44. data/cookbooks/nginx/recipes/commons.rb +24 -0
  45. data/cookbooks/nginx/recipes/commons_conf.rb +42 -0
  46. data/cookbooks/nginx/recipes/commons_dir.rb +57 -0
  47. data/cookbooks/nginx/recipes/commons_script.rb +29 -0
  48. data/cookbooks/nginx/recipes/default.rb +31 -0
  49. data/cookbooks/nginx/recipes/headers_more_module.rb +50 -0
  50. data/cookbooks/nginx/recipes/http_auth_request_module.rb +52 -0
  51. data/cookbooks/nginx/recipes/http_echo_module.rb +46 -0
  52. data/cookbooks/nginx/recipes/http_geoip_module.rb +113 -0
  53. data/cookbooks/nginx/recipes/http_gzip_static_module.rb +30 -0
  54. data/cookbooks/nginx/recipes/http_mp4_module.rb +2 -0
  55. data/cookbooks/nginx/recipes/http_perl_module.rb +23 -0
  56. data/cookbooks/nginx/recipes/http_realip_module.rb +38 -0
  57. data/cookbooks/nginx/recipes/http_spdy_module.rb +23 -0
  58. data/cookbooks/nginx/recipes/http_ssl_module.rb +23 -0
  59. data/cookbooks/nginx/recipes/http_stub_status_module.rb +36 -0
  60. data/cookbooks/nginx/recipes/ipv6.rb +23 -0
  61. data/cookbooks/nginx/recipes/lua.rb +47 -0
  62. data/cookbooks/nginx/recipes/naxsi_module.rb +52 -0
  63. data/cookbooks/nginx/recipes/ngx_devel_module.rb +44 -0
  64. data/cookbooks/nginx/recipes/ngx_lua_module.rb +47 -0
  65. data/cookbooks/nginx/recipes/ohai_plugin.rb +35 -0
  66. data/cookbooks/nginx/recipes/openssl_source.rb +45 -0
  67. data/cookbooks/nginx/recipes/package.rb +52 -0
  68. data/cookbooks/nginx/recipes/pagespeed_module.rb +62 -0
  69. data/cookbooks/nginx/recipes/passenger.rb +56 -0
  70. data/cookbooks/nginx/recipes/repo.rb +41 -0
  71. data/cookbooks/nginx/recipes/repo_passenger.rb +39 -0
  72. data/cookbooks/nginx/recipes/set_misc.rb +30 -0
  73. data/cookbooks/nginx/recipes/socketproxy.rb +26 -0
  74. data/cookbooks/nginx/recipes/source.rb +205 -0
  75. data/cookbooks/nginx/recipes/syslog_module.rb +69 -0
  76. data/cookbooks/nginx/recipes/upload_progress_module.rb +53 -0
  77. data/cookbooks/nginx/templates/debian/nginx.init.erb +97 -0
  78. data/cookbooks/nginx/templates/default/default-site.erb +11 -0
  79. data/cookbooks/nginx/templates/default/modules/authorized_ip.erb +6 -0
  80. data/cookbooks/nginx/templates/default/modules/http_geoip.conf.erb +4 -0
  81. data/cookbooks/nginx/templates/default/modules/http_gzip_static.conf.erb +1 -0
  82. data/cookbooks/nginx/templates/default/modules/http_realip.conf.erb +7 -0
  83. data/cookbooks/nginx/templates/default/modules/nginx_status.erb +14 -0
  84. data/cookbooks/nginx/templates/default/modules/passenger.conf.erb +13 -0
  85. data/cookbooks/nginx/templates/default/modules/socketproxy.conf.erb +89 -0
  86. data/cookbooks/nginx/templates/default/modules/upload_progress.erb +4 -0
  87. data/cookbooks/nginx/templates/default/nginx-upstart.conf.erb +39 -0
  88. data/cookbooks/nginx/templates/default/nginx.conf.erb +103 -0
  89. data/cookbooks/nginx/templates/default/nginx.init.erb +111 -0
  90. data/cookbooks/nginx/templates/default/nginx.pill.erb +15 -0
  91. data/cookbooks/nginx/templates/default/nginx.sysconfig.erb +1 -0
  92. data/cookbooks/nginx/templates/default/nxdissite.erb +29 -0
  93. data/cookbooks/nginx/templates/default/nxensite.erb +38 -0
  94. data/cookbooks/nginx/templates/default/plugins/nginx.rb.erb +66 -0
  95. data/cookbooks/nginx/templates/default/sv-nginx-log-run.erb +2 -0
  96. data/cookbooks/nginx/templates/default/sv-nginx-run.erb +4 -0
  97. data/cookbooks/nginx/templates/gentoo/nginx.init.erb +87 -0
  98. data/cookbooks/nginx/templates/suse/nginx.init.erb +115 -0
  99. data/cookbooks/nginx/templates/ubuntu/nginx.init.erb +97 -0
  100. data/cookbooks/ohai/CHANGELOG.md +69 -0
  101. data/cookbooks/ohai/README.md +89 -0
  102. data/cookbooks/ohai/attributes/default.rb +31 -0
  103. data/cookbooks/ohai/files/default/plugins/README +1 -0
  104. data/cookbooks/ohai/libraries/matchers.rb +14 -0
  105. data/cookbooks/ohai/metadata.json +1 -0
  106. data/cookbooks/ohai/providers/hint.rb +38 -0
  107. data/cookbooks/ohai/recipes/default.rb +52 -0
  108. data/cookbooks/ohai/resources/hint.rb +5 -0
  109. data/cookbooks/packagecloud/CHANGELOG.md +12 -0
  110. data/cookbooks/packagecloud/README.md +80 -0
  111. data/cookbooks/packagecloud/attributes/default.rb +8 -0
  112. data/cookbooks/packagecloud/libraries/helper.rb +43 -0
  113. data/cookbooks/packagecloud/libraries/matcher.rb +7 -0
  114. data/cookbooks/packagecloud/metadata.json +1 -0
  115. data/cookbooks/packagecloud/providers/repo.rb +212 -0
  116. data/cookbooks/packagecloud/resources/repo.rb +10 -0
  117. data/cookbooks/packagecloud/templates/.kitchen/logs/kitchen.log +29 -0
  118. data/cookbooks/packagecloud/templates/default/apt.erb +2 -0
  119. data/cookbooks/packagecloud/templates/default/yum.erb +15 -0
  120. data/cookbooks/rsyslog/CHANGELOG.md +193 -0
  121. data/cookbooks/rsyslog/README.md +276 -0
  122. data/cookbooks/rsyslog/attributes/default.rb +131 -0
  123. data/cookbooks/rsyslog/libraries/helpers.rb +25 -0
  124. data/cookbooks/rsyslog/metadata.json +1 -0
  125. data/cookbooks/rsyslog/providers/file_input.rb +44 -0
  126. data/cookbooks/rsyslog/recipes/client.rb +87 -0
  127. data/cookbooks/rsyslog/recipes/default.rb +89 -0
  128. data/cookbooks/rsyslog/recipes/server.rb +44 -0
  129. data/cookbooks/rsyslog/resources/file_input.rb +28 -0
  130. data/cookbooks/rsyslog/templates/default/35-server-per-host.conf.erb +62 -0
  131. data/cookbooks/rsyslog/templates/default/49-relp.conf.erb +10 -0
  132. data/cookbooks/rsyslog/templates/default/49-remote.conf.erb +30 -0
  133. data/cookbooks/rsyslog/templates/default/50-default.conf.erb +6 -0
  134. data/cookbooks/rsyslog/templates/default/file-input.conf.erb +15 -0
  135. data/cookbooks/rsyslog/templates/default/omnios-manifest.xml.erb +30 -0
  136. data/cookbooks/rsyslog/templates/default/rsyslog.conf.erb +117 -0
  137. data/cookbooks/rsyslog/templates/smartos/50-default.conf.erb +18 -0
  138. data/cookbooks/runit/.kitchen.cloud.yml +103 -0
  139. data/cookbooks/runit/.kitchen.yml +38 -0
  140. data/cookbooks/runit/.rspec +3 -0
  141. data/cookbooks/runit/.rubocop.yml +45 -0
  142. data/cookbooks/runit/Berksfile.disabled +11 -0
  143. data/cookbooks/runit/CHANGELOG.md +226 -0
  144. data/cookbooks/runit/CONTRIBUTING.md +266 -0
  145. data/cookbooks/runit/Cheffile +11 -0
  146. data/cookbooks/runit/Gemfile +17 -0
  147. data/cookbooks/runit/LICENSE +201 -0
  148. data/cookbooks/runit/README.md +435 -0
  149. data/cookbooks/runit/Rakefile +23 -0
  150. data/cookbooks/runit/TESTING.md +26 -0
  151. data/cookbooks/runit/attributes/default.rb +62 -0
  152. data/cookbooks/runit/files/default/runit.seed +1 -0
  153. data/cookbooks/runit/files/default/runsvdir +0 -0
  154. data/cookbooks/runit/files/ubuntu-6.10/runsvdir +6 -0
  155. data/cookbooks/runit/files/ubuntu-7.04/runsvdir +7 -0
  156. data/cookbooks/runit/files/ubuntu-7.10/runsvdir +7 -0
  157. data/cookbooks/runit/files/ubuntu-8.04/runsvdir +7 -0
  158. data/cookbooks/runit/libraries/default.rb +0 -0
  159. data/cookbooks/runit/libraries/helpers.rb +190 -0
  160. data/cookbooks/runit/libraries/matchers.rb +69 -0
  161. data/cookbooks/runit/libraries/provider_runit_service.rb +326 -0
  162. data/cookbooks/runit/libraries/resource_runit_service.rb +267 -0
  163. data/cookbooks/runit/metadata.json +50 -0
  164. data/cookbooks/runit/recipes/default.rb +91 -0
  165. data/cookbooks/runit/templates/debian/init.d.erb +66 -0
  166. data/cookbooks/runit/templates/default/log-config.erb +24 -0
  167. data/cookbooks/runit/templates/gentoo/runit-start.sh.erb +32 -0
  168. data/cookbooks/scratchify/Berksfile +2 -1
  169. data/cookbooks/scratchify/Berksfile.lock +20 -1
  170. data/cookbooks/scratchify/lib/from-scratch.rb +1 -4
  171. data/cookbooks/scratchify/lib/from-scratch/version.rb +1 -1
  172. data/cookbooks/scratchify/metadata.json +5 -2
  173. data/cookbooks/scratchify/recipes/default.rb +15 -1
  174. data/cookbooks/scratchify/recipes/nginx_site.rb +4 -0
  175. data/cookbooks/scratchify/recipes/pre_rvm.rb +5 -0
  176. data/cookbooks/scratchify/templates/nginx.erb +31 -0
  177. data/cookbooks/scratchify/templates/node.json.erb +21 -6
  178. data/cookbooks/yum-epel/CHANGELOG.md +84 -0
  179. data/cookbooks/yum-epel/README.md +172 -0
  180. data/cookbooks/yum-epel/attributes/default.rb +1 -0
  181. data/cookbooks/yum-epel/attributes/epel-debuginfo.rb +28 -0
  182. data/cookbooks/yum-epel/attributes/epel-source.rb +28 -0
  183. data/cookbooks/yum-epel/attributes/epel-testing-debuginfo.rb +28 -0
  184. data/cookbooks/yum-epel/attributes/epel-testing-source.rb +28 -0
  185. data/cookbooks/yum-epel/attributes/epel-testing.rb +28 -0
  186. data/cookbooks/yum-epel/attributes/epel.rb +28 -0
  187. data/cookbooks/yum-epel/metadata.json +1 -0
  188. data/cookbooks/yum-epel/recipes/default.rb +61 -0
  189. data/cookbooks/yum/CHANGELOG.md +294 -0
  190. data/cookbooks/yum/README.md +285 -0
  191. data/cookbooks/yum/attributes/main.rb +100 -0
  192. data/cookbooks/yum/libraries/matchers.rb +27 -0
  193. data/cookbooks/yum/metadata.json +1 -0
  194. data/cookbooks/yum/providers/globalconfig.rb +41 -0
  195. data/cookbooks/yum/providers/repository.rb +106 -0
  196. data/cookbooks/yum/recipes/default.rb +26 -0
  197. data/cookbooks/yum/resources/globalconfig.rb +109 -0
  198. data/cookbooks/yum/resources/repository.rb +69 -0
  199. data/cookbooks/yum/templates/default/main.erb +276 -0
  200. data/cookbooks/yum/templates/default/repo.erb +125 -0
  201. data/lib/from-scratch.rb +1 -0
  202. data/lib/from-scratch/version.rb +1 -1
  203. data/metadata.rb +5 -1
  204. data/recipes/default.rb +15 -1
  205. data/recipes/nginx_site.rb +4 -0
  206. data/recipes/pre_rvm.rb +5 -0
  207. data/templates/nginx.erb +31 -0
  208. data/templates/node.json.erb +21 -6
  209. metadata +194 -1
@@ -0,0 +1,285 @@
1
+ yum Cookbook
2
+ ============
3
+ [![Build Status](https://travis-ci.org/chef-cookbooks/yum.svg?branch=master)](http://travis-ci.org/chef-cookbooks/yum)
4
+ [![Cookbook Version](https://img.shields.io/cookbook/v/yum.svg)](https://supermarket.chef.io/cookbooks/yum)
5
+
6
+ The Yum cookbook exposes the `yum_globalconfig` and `yum_repository`
7
+ resources that allows a user to both control global behavior and make
8
+ individual Yum repositories available for use. These resources aim to
9
+ allow the user to configure all options listed in the `yum.conf` man
10
+ page, found at http://linux.die.net/man/5/yum.conf
11
+
12
+ NOTES
13
+ -----
14
+ WARNING: Yum cookbook version 3.0.0 and above contain non-backwards
15
+ compatible breaking changes and will not work with cookbooks written
16
+ against the 2.x and 1.x series. Changes have been made to the
17
+ yum_repository resource, and the yum_key resource has been eliminated
18
+ entirely. Recipes have been eliminated and moved into their own
19
+ cookbooks. Please lock yum to the 2.x series in your Chef environments
20
+ until all dependent cookbooks have been ported.
21
+
22
+ Requirements
23
+ ------------
24
+ #### Platforms
25
+ * RHEL/CentOS and derivatives
26
+ * Fedora
27
+
28
+ #### Chef
29
+ * Chef 11+
30
+
31
+ #### Cookbooks
32
+ * none
33
+
34
+ Resources/Providers
35
+ -------------------
36
+ ### yum_repository
37
+ This resource manages a yum repository configuration file at
38
+ /etc/yum.repos.d/`repositoryid`.repo. When the file needs to be
39
+ repaired, it calls yum-makecache so packages in the repo become
40
+ available to the next resource.
41
+
42
+ #### Example
43
+ ``` ruby
44
+ # add the Zenoss repository
45
+ yum_repository 'zenoss' do
46
+ description "Zenoss Stable repo"
47
+ baseurl "http://dev.zenoss.com/yum/stable/"
48
+ gpgkey 'http://dev.zenoss.com/yum/RPM-GPG-KEY-zenoss'
49
+ action :create
50
+ end
51
+
52
+ # add the EPEL repo
53
+ yum_repository 'epel' do
54
+ description 'Extra Packages for Enterprise Linux'
55
+ mirrorlist 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch'
56
+ gpgkey 'http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6'
57
+ action :create
58
+ end
59
+ ```
60
+
61
+ ``` ruby
62
+ # delete CentOS-Media repo
63
+ yum_repository 'CentOS-Media' do
64
+ action :delete
65
+ end
66
+ ```
67
+
68
+ #### Actions
69
+ - `:create` - creates a repository file and builds the repository listing
70
+ - `:delete` - deletes the repository file
71
+ - `:makecache` - update yum cache
72
+
73
+ #### Parameters
74
+ * `baseurl` - Must be a URL to the directory where the yum repository's
75
+ 'repodata' directory lives. Can be an http://, ftp:// or file://
76
+ URL. You can specify multiple URLs in one baseurl statement.
77
+ * `cost` - relative cost of accessing this repository. Useful for
78
+ weighing one repo's packages as greater/less than any other.
79
+ defaults to 1000
80
+ * `clean_headers` - Run "yum clean headers <reponame>" during
81
+ repository creation. defaults to true.
82
+ * `description` - Maps to the 'name' parameter in a repository .conf.
83
+ Descriptive name for the repository channel. This directive must be
84
+ specified.
85
+ * `enabled` - Either `true` or `false`. This tells yum whether or not use this repository.
86
+ * `enablegroups` - Either `true` or `false`. Determines whether yum
87
+ will allow the use of package groups for this repository. Default is
88
+ `true` (package groups are allowed).
89
+ * `exclude` - List of packages to exclude from updates or installs. This
90
+ should be a space separated list in a single string. Shell globs using wildcards (eg. *
91
+ and ?) are allowed.
92
+ * `failovermethod` - Either 'roundrobin' or 'priority'.
93
+ * `fastestmirror_enabled` - Either `true` or `false`
94
+ * `gpgcheck` - Either `true` or `false`. This tells yum whether or not
95
+ it should perform a GPG signature check on packages. When this is
96
+ set in the [main] section it sets the default for all repositories.
97
+ The default is `true`.
98
+ * `gpgkey` - A URL pointing to the ASCII-armored GPG key file for the
99
+ repository. This option is used if yum needs a public key to verify
100
+ a package and the required key hasn't been imported into the RPM
101
+ database. If this option is set, yum will automatically import the
102
+ key from the specified URL.
103
+ * `http_caching` - Either 'all', 'packages', or 'none'. Determines how
104
+ upstream HTTP caches are instructed to handle any HTTP downloads
105
+ that Yum does. Defaults to 'all'
106
+ * `includepkgs` - Inverse of exclude. This is a list of packages you
107
+ want to use from a repository. If this option lists only one package
108
+ then that is all yum will ever see from the repository. Defaults to
109
+ an empty list.
110
+ * `keepalive` - Either `true` or `false`. This tells yum whether or not
111
+ HTTP/1.1 keepalive should be used with this repository.
112
+ * `make_cache` - Optional, Default is `true`, if `false` then `yum -q makecache` will not
113
+ be ran
114
+ * `max_retries` - Set the number of times any attempt to retrieve a file
115
+ should retry before returning an error. Setting this to '0' makes
116
+ yum try forever. Default is '10'.
117
+ * `metadata_expire` - Time (in seconds) after which the metadata will
118
+ expire. So that if the current metadata downloaded is less than this
119
+ many seconds old then yum will not update the metadata against the
120
+ repository. If you find that yum is not downloading information on
121
+ updates as often as you would like lower the value of this option.
122
+ You can also change from the default of using seconds to using days,
123
+ hours or minutes by appending a d, h or m respectively. The default
124
+ is 6 hours, to compliment yum-updatesd running once an hour. It's
125
+ also possible to use the word "never", meaning that the metadata
126
+ will never expire. Note that when using a metalink file the metalink
127
+ must always be newer than the metadata for the repository, due to
128
+ the validation, so this timeout also applies to the metalink file.
129
+ * `mirrorlist` - Specifies a URL to a file containing a list of
130
+ baseurls. This can be used instead of or with the baseurl option.
131
+ Substitution variables, described below, can be used with this
132
+ option. As a special hack is the mirrorlist URL contains the word
133
+ "metalink" then the value of mirrorlist is copied to metalink (if
134
+ metalink is not set)
135
+ * `mirror_expire` - Time (in seconds) after which the mirrorlist locally
136
+ cached will expire. If the current mirrorlist is less than this many
137
+ seconds old then yum will not download another copy of the
138
+ mirrorlist, it has the same extra format as metadata_expire. If you
139
+ find that yum is not downloading the mirrorlists as often as you
140
+ would like lower the value of this option.
141
+ * `mirrorlist_expire` - alias for mirror_expire
142
+ * `mode` - Permissions mode of .repo file on disk. Useful for
143
+ scenarios where secrets are in the repo file. If set to '600',
144
+ normal users will not be able to use yum search, yum info, etc.
145
+ Defaults to '0644'
146
+ * `priority` - When the yum-priorities plug-in is enabled, you set
147
+ priorities on repository entries, where N is an integer from 1 to 99. The
148
+ default priority for repositories is 99.
149
+ * `proxy` - URL to the proxy server that yum should use.
150
+ * `proxy_username` - username to use for proxy
151
+ * `proxy_password` - password for this proxy
152
+ * `report_instanceid` - Report instance ID when using Amazon Linux AMIs
153
+ and repositories
154
+ * `repositoryid` - Must be a unique name for each repository, one word.
155
+ Defaults to name attribute.
156
+ * `source` - Use a custom template source instead of the default one
157
+ in the yum cookbook
158
+ * `sslcacert` - Path to the directory containing the databases of the
159
+ certificate authorities yum should use to verify SSL certificates.
160
+ Defaults to none - uses system default
161
+ * `sslclientcert` - Path to the SSL client certificate yum should use to
162
+ connect to repos/remote sites Defaults to none.
163
+ * `sslclientkey` - Path to the SSL client key yum should use to connect
164
+ to repos/remote sites Defaults to none.
165
+ * `sslverify` - Either `true` or `false`. Determines if yum will verify SSL certificates/hosts. Defaults to `true`
166
+ * `timeout` - Number of seconds to wait for a connection before timing
167
+ out. Defaults to 30 seconds. This may be too short of a time for
168
+ extremely overloaded sites.
169
+
170
+ ### yum_globalconfig
171
+ This renders a template with global yum configuration parameters. The
172
+ default recipe uses it to render `/etc/yum.conf`. It is flexible
173
+ enough to be used in other scenarios, such as building RPMs in
174
+ isolation by modifying `installroot`.
175
+
176
+ #### Example
177
+ ``` ruby
178
+ yum_globalconfig '/my/chroot/etc/yum.conf' do
179
+ cachedir '/my/chroot/etc/yum.conf'
180
+ keepcache 'yes'
181
+ debuglevel '2'
182
+ installroot '/my/chroot'
183
+ action :create
184
+ end
185
+ ```
186
+
187
+ #### Parameters
188
+ `yum_globalconfig` can take most of the same parameters as a
189
+ `yum_repository`, plus more, too numerous to describe here. Below are
190
+ a few of the more commonly used ones. For a complete list, please
191
+ consult the `yum.conf` man page, found here:
192
+ http://linux.die.net/man/5/yum.conf
193
+
194
+ * `cachedir` - Directory where yum should store its cache and db
195
+ files. The default is '/var/cache/yum'.
196
+ * `keepcache` - Either `true` or `false`. Determines whether or not
197
+ yum keeps the cache of headers and packages after successful
198
+ installation. Default is `false`
199
+ * `debuglevel` - Debug message output level. Practical range is 0-10.
200
+ Default is '2'.
201
+ * `exclude` - List of packages to exclude from updates or installs.
202
+ This should be a space separated list. Shell globs using wildcards
203
+ (eg. * and ?) are allowed.
204
+ * `installonlypkgs` = List of package provides that should only ever
205
+ be installed, never updated. Kernels in particular fall into this
206
+ category. Defaults to kernel, kernel-bigmem, kernel-enterprise,
207
+ kernel-smp, kernel-debug, kernel-unsupported, kernel-source,
208
+ kernel-devel, kernel-PAE, kernel-PAE-debug.
209
+ * `logfile` - Full directory and file name for where yum should write
210
+ its log file.
211
+ * `exactarch` - Either `true` or `false`. Set to `true` to make 'yum update' only
212
+ update the architectures of packages that you have installed. ie:
213
+ with this enabled yum will not install an i686 package to update an
214
+ x86_64 package. Default is `true`
215
+ * `gpgcheck` - Either `true` or `false`. This tells yum whether or not
216
+ it should perform a GPG signature check on the packages gotten from
217
+ this repository.
218
+
219
+ Recipes
220
+ -------
221
+ * `default` - Configures `yum_globalconfig[/etc/yum.conf]` with values
222
+ found in node attributes at `node['yum']['main']`
223
+
224
+ Attributes
225
+ ----------
226
+ The following attributes are set by default
227
+
228
+ ``` ruby
229
+ default['yum']['main']['cachedir'] = '/var/cache/yum/$basearch/$releasever'
230
+ default['yum']['main']['keepcache'] = false
231
+ default['yum']['main']['debuglevel'] = nil
232
+ default['yum']['main']['exclude'] = nil
233
+ default['yum']['main']['logfile'] = '/var/log/yum.log'
234
+ default['yum']['main']['exactarch'] = nil
235
+ default['yum']['main']['obsoletes'] = nil
236
+ default['yum']['main']['installonly_limit'] = nil
237
+ default['yum']['main']['installonlypkgs'] = nil
238
+ default['yum']['main']['installroot'] = nil
239
+ ```
240
+
241
+ Related Cookbooks
242
+ -----------------
243
+ Recipes from older versions of this cookbook have been moved
244
+ individual cookbooks. Recipes for managing platform yum configurations
245
+ and installing specific repositories can be found in one (or more!) of
246
+ the following cookbook.
247
+
248
+ * yum-centos
249
+ * yum-fedora
250
+ * yum-amazon
251
+ * yum-epel
252
+ * yum-elrepo
253
+ * yum-repoforge
254
+ * yum-ius
255
+ * yum-percona
256
+ * yum-pgdg
257
+
258
+ Usage
259
+ -----
260
+ Put `depends 'yum'` in your metadata.rb to gain access to the
261
+ yum_repository resource.
262
+
263
+ License & Authors
264
+ -----------------
265
+ - Author:: Eric G. Wolfe
266
+ - Author:: Matt Ray (<matt@chef.io>)
267
+ - Author:: Joshua Timberman (<joshua@chef.io>)
268
+ - Author:: Sean OMeara (<someara@chef.io>)
269
+
270
+ ```text
271
+ Copyright:: 2011 Eric G. Wolfe
272
+ Copyright:: 2013-2014 Chef Software, Inc.
273
+
274
+ Licensed under the Apache License, Version 2.0 (the "License");
275
+ you may not use this file except in compliance with the License.
276
+ You may obtain a copy of the License at
277
+
278
+ http://www.apache.org/licenses/LICENSE-2.0
279
+
280
+ Unless required by applicable law or agreed to in writing, software
281
+ distributed under the License is distributed on an "AS IS" BASIS,
282
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
283
+ See the License for the specific language governing permissions and
284
+ limitations under the License.
285
+ ```
@@ -0,0 +1,100 @@
1
+ # http://linux.die.net/man/5/yum.conf
2
+ case node['platform_version'].to_i
3
+ when 5
4
+ default['yum']['main']['cachedir'] = '/var/cache/yum'
5
+ else
6
+ default['yum']['main']['cachedir'] = '/var/cache/yum/$basearch/$releasever'
7
+ end
8
+
9
+ case node['platform']
10
+ when 'amazon'
11
+ default['yum']['main']['distroverpkg'] = 'system-release'
12
+ when 'scientific'
13
+ default['yum']['main']['distroverpkg'] = 'sl-release'
14
+ when 'redhat'
15
+ default['yum']['main']['distroverpkg'] = nil
16
+ else
17
+ default['yum']['main']['distroverpkg'] = "#{node['platform']}-release"
18
+ end
19
+
20
+ default['yum']['main']['alwaysprompt'] = nil # [TrueClass, FalseClass]
21
+ default['yum']['main']['assumeyes'] = nil # [TrueClass, FalseClass]
22
+ default['yum']['main']['bandwidth'] = nil # /^\d+$/
23
+ default['yum']['main']['bugtracker_url'] = nil # /.*/
24
+ default['yum']['main']['clean_requirements_on_remove'] = nil # [TrueClass, FalseClass]
25
+ default['yum']['main']['color'] = nil # %w{ always never }
26
+ default['yum']['main']['color_list_available_downgrade'] = nil # /.*/
27
+ default['yum']['main']['color_list_available_install'] = nil # /.*/
28
+ default['yum']['main']['color_list_available_reinstall'] = nil # /.*/
29
+ default['yum']['main']['color_list_available_upgrade'] = nil # /.*/
30
+ default['yum']['main']['color_list_installed_extra'] = nil # /.*/
31
+ default['yum']['main']['color_list_installed_newer'] = nil # /.*/
32
+ default['yum']['main']['color_list_installed_older'] = nil # /.*/
33
+ default['yum']['main']['color_list_installed_reinstall'] = nil # /.*/
34
+ default['yum']['main']['color_search_match'] = nil # /.*/
35
+ default['yum']['main']['color_update_installed'] = nil # /.*/
36
+ default['yum']['main']['color_update_local'] = nil # /.*/
37
+ default['yum']['main']['color_update_remote'] = nil # /.*/
38
+ default['yum']['main']['commands'] = nil # /.*/
39
+ default['yum']['main']['deltarpm'] = nil # [TrueClass, FalseClass]
40
+ default['yum']['main']['debuglevel'] = nil # /^\d+$/
41
+ default['yum']['main']['diskspacecheck'] = nil # [TrueClass, FalseClass]
42
+ default['yum']['main']['enable_group_conditionals'] = nil # [TrueClass, FalseClass]
43
+ default['yum']['main']['errorlevel'] = nil # /^\d+$/
44
+ default['yum']['main']['exactarch'] = nil # [TrueClass, FalseClass]
45
+ default['yum']['main']['exclude'] = nil # /.*/
46
+ default['yum']['main']['gpgcheck'] = true # [TrueClass, FalseClass]
47
+ default['yum']['main']['group_package_types'] = nil # /.*/
48
+ default['yum']['main']['groupremove_leaf_only'] = nil # [TrueClass, FalseClass]
49
+ default['yum']['main']['history_list_view'] = nil # /.*/
50
+ default['yum']['main']['history_record'] = nil # [TrueClass, FalseClass]
51
+ default['yum']['main']['history_record_packages'] = nil # /.*/
52
+ default['yum']['main']['http_caching'] = nil # %w{ packages all none }
53
+ default['yum']['main']['installonly_limit'] = nil # /\d+/, /keep/
54
+ default['yum']['main']['installonlypkgs'] = nil # /.*/
55
+ default['yum']['main']['installroot'] = nil # /.*/
56
+ default['yum']['main']['keepalive'] = nil # [TrueClass, FalseClass]
57
+ default['yum']['main']['keepcache'] = false # [TrueClass, FalseClass]
58
+ default['yum']['main']['kernelpkgnames'] = nil # /.*/
59
+ default['yum']['main']['localpkg_gpgcheck'] = false # [TrueClass,# FalseClass]
60
+ default['yum']['main']['logfile'] = '/var/log/yum.log' # /.*/
61
+ default['yum']['main']['max_retries'] = nil # /^\d+$/
62
+ default['yum']['main']['mdpolicy'] = nil # %w{ packages all none }
63
+ default['yum']['main']['metadata_expire'] = nil # /^\d+$/
64
+ default['yum']['main']['mirrorlist_expire'] = nil # /^\d+$/
65
+ default['yum']['main']['multilib_policy'] = nil # %w{ all best }
66
+ default['yum']['main']['obsoletes'] = nil # [TrueClass, FalseClass]
67
+ default['yum']['main']['overwrite_groups'] = nil # [TrueClass, FalseClass]
68
+ default['yum']['main']['password'] = nil # /.*/
69
+ default['yum']['main']['path'] = '/etc/yum.conf' # /.*/
70
+ default['yum']['main']['persistdir'] = nil # /.*/
71
+ default['yum']['main']['pluginconfpath'] = nil # /.*/
72
+ default['yum']['main']['pluginpath'] = nil # /.*/
73
+ default['yum']['main']['plugins'] = nil # [TrueClass, FalseClass]
74
+ default['yum']['main']['protected_multilib'] = nil # /.*/
75
+ default['yum']['main']['protected_packages'] = nil # /.*/
76
+ default['yum']['main']['proxy'] = nil # /.*/
77
+ default['yum']['main']['proxy_password'] = nil # /.*/
78
+ default['yum']['main']['proxy_username'] = nil # /.*/
79
+ default['yum']['main']['password'] = nil # /.*/
80
+ default['yum']['main']['recent'] = nil # /^\d+$/
81
+ default['yum']['main']['releasever'] = nil # /.*/
82
+ default['yum']['main']['repo_gpgcheck'] = nil # [TrueClass, FalseClass]
83
+ default['yum']['main']['reposdir'] = nil # /.*/
84
+ default['yum']['main']['reset_nice'] = nil # [TrueClass, FalseClass]
85
+ default['yum']['main']['rpmverbosity'] = nil # %w{ info critical# emergency error warn debug }
86
+ default['yum']['main']['showdupesfromrepos'] = nil # [TrueClass, FalseClass]
87
+ default['yum']['main']['skip_broken'] = nil # [TrueClass, FalseClass]
88
+ default['yum']['main']['ssl_check_cert_permissions'] = nil # [TrueClass, FalseClass]
89
+ default['yum']['main']['sslcacert'] = nil # /.*/
90
+ default['yum']['main']['sslclientcert'] = nil # /.*/
91
+ default['yum']['main']['sslclientkey'] = nil # /.*/
92
+ default['yum']['main']['sslverify'] = nil # [TrueClass, FalseClass]
93
+ default['yum']['main']['syslog_device'] = nil # /.*/
94
+ default['yum']['main']['syslog_facility'] = nil # /.*/
95
+ default['yum']['main']['syslog_ident'] = nil # /.*/
96
+ default['yum']['main']['throttle'] = nil # [/\d+k/, /\d+M/, /\d+G/]
97
+ default['yum']['main']['timeout'] = nil # /\d+/
98
+ default['yum']['main']['tolerant'] = false
99
+ default['yum']['main']['tsflags'] = nil # /.*/
100
+ default['yum']['main']['username'] = nil # /.*/
@@ -0,0 +1,27 @@
1
+ # Matchers for chefspec 3
2
+
3
+ if defined?(ChefSpec)
4
+ def create_yum_repository(resource_name)
5
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :create, resource_name)
6
+ end
7
+
8
+ def add_yum_repository(resource_name)
9
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :add, resource_name)
10
+ end
11
+
12
+ def delete_yum_repository(resource_name)
13
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :delete, resource_name)
14
+ end
15
+
16
+ def remove_yum_repository(resource_name)
17
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :remove, resource_name)
18
+ end
19
+
20
+ def create_yum_globalconfig(resource_name)
21
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_globalconfig, :create, resource_name)
22
+ end
23
+
24
+ def delete_yum_globalconfig(resource_name)
25
+ ChefSpec::Matchers::ResourceMatcher.new(:yum_globalconfig, :delete, resource_name)
26
+ end
27
+ end
@@ -0,0 +1 @@
1
+ {"name":"yum","version":"3.8.1","description":"Configures various yum components on Red Hat-like systems","long_description":"","maintainer":"Chef Software, Inc.","maintainer_email":"cookbooks@chef.io","license":"Apache 2.0","platforms":{"amazon":">= 0.0.0","centos":">= 0.0.0","fedora":">= 0.0.0","oracle":">= 0.0.0","redhat":">= 0.0.0","scientific":">= 0.0.0"},"dependencies":{},"recommendations":{},"suggestions":{},"conflicting":{},"providing":{},"replacing":{},"attributes":{},"groupings":{},"recipes":{}}
@@ -0,0 +1,41 @@
1
+ #
2
+ # Cookbook Name:: yum
3
+ # Provider:: repository
4
+ #
5
+ # Author:: Sean OMeara <someara@chef.io>
6
+ # Copyright 2013, Chef
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+
21
+ # Allow for Chef 10 support
22
+ use_inline_resources if defined?(use_inline_resources)
23
+
24
+ def whyrun_supported?
25
+ true
26
+ end
27
+
28
+ action :create do
29
+ template new_resource.path do
30
+ source 'main.erb'
31
+ cookbook 'yum'
32
+ mode '0644'
33
+ variables(config: new_resource)
34
+ end
35
+ end
36
+
37
+ action :delete do
38
+ file new_resource.path do
39
+ action :delete
40
+ end
41
+ end