]> git.openstreetmap.org Git - chef.git/blob - cookbooks/tools/recipes/default.rb
Enable ChefModernize/CronDFileOrTemplate cop
[chef.git] / cookbooks / tools / recipes / default.rb
1 #
2 # Cookbook:: tools
3 # Recipe:: default
4 #
5 # Copyright:: 2011, OpenStreetMap Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     https://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 package %w[
21   bash-completion
22   dmidecode
23   ethtool
24   lsof
25   lsscsi
26   pciutils
27   screen
28   smartmontools
29   strace
30   sysstat
31   tcpdump
32   usbutils
33   numactl
34   xfsprogs
35   iotop
36   lvm2
37   rsyslog
38   cron
39   locales-all
40 ]
41
42 service "rsyslog" do
43   action [:enable, :start]
44   supports :status => true, :restart => true, :reload => true
45 end
46
47 # Remove some unused and unwanted packages
48 package %w[mlocate nano whoopsie] do
49   action :purge
50 end
51
52 # Configure cron to run in the local timezone of the machine
53 systemd_service "cron-timezone" do
54   service "cron"
55   dropin "timezone"
56   environment "TZ" => node[:timezone]
57   notifies :restart, "service[cron]"
58   only_if { node[:timezone] }
59 end
60
61 # Configure cron with lower cpu and IO priority
62 if node[:tools][:cron][:load]
63   systemd_service "cron-load" do
64     service "cron"
65     dropin "load"
66     nice node[:tools][:cron][:load][:nice]
67     io_scheduling_class node[:tools][:cron][:load][:io_scheduling_class]
68     io_scheduling_priority node[:tools][:cron][:load][:io_scheduling_priority]
69     notifies :restart, "service[cron]"
70   end
71 end
72
73 # Make sure cron is running
74 service "cron" do
75   action [:enable, :start]
76 end
77
78 # Ubuntu MOTD adverts be-gone
79 template "/etc/default/motd-news" do
80   source "motd-news.erb"
81   owner "root"
82   group "root"
83   mode 0o644
84 end