]> git.openstreetmap.org Git - chef.git/blob - cookbooks/tools/recipes/default.rb
Merge remote-tracking branch 'tigerfell/pr257'
[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   systemd-coredump
41 ]
42
43 service "rsyslog" do
44   action [:enable, :start]
45   supports :status => true, :restart => true, :reload => true
46 end
47
48 # Remove some unused and unwanted packages
49 package %w[mlocate nano whoopsie] do
50   action :purge
51 end
52
53 # Configure cron to run in the local timezone of the machine
54 systemd_service "cron-timezone" do
55   service "cron"
56   dropin "timezone"
57   environment "TZ" => node[:timezone]
58   notifies :restart, "service[cron]"
59   only_if { node[:timezone] }
60 end
61
62 # Configure cron with lower cpu and IO priority
63 if node[:tools][:cron][:load]
64   systemd_service "cron-load" do
65     service "cron"
66     dropin "load"
67     nice node[:tools][:cron][:load][:nice]
68     io_scheduling_class node[:tools][:cron][:load][:io_scheduling_class]
69     io_scheduling_priority node[:tools][:cron][:load][:io_scheduling_priority]
70     notifies :restart, "service[cron]"
71   end
72 end
73
74 # Make sure cron is running
75 service "cron" do
76   action [:enable, :start]
77 end
78
79 # Ubuntu MOTD adverts be-gone
80 template "/etc/default/motd-news" do
81   source "motd-news.erb"
82   owner "root"
83   group "root"
84   mode "644"
85 end