itamae/cookbooks/base/default.rb

114 lines
2.2 KiB
Ruby

include_recipe './attributes.rb'
[
# only install amd64 package
# http://d.hatena.ne.jp/ritchey/20121229
'dpkg --remove-architecture i386',
# Execute `apt update`
'apt update',
].each do |cmd|
execute cmd do
user 'root'
only_if 'dpkg --print-architecture | grep i386'
end
end
# Create /etc/sudoers.d/
directory '/etc/sudoers.d/' do
owner 'root'
group 'root'
mode '750'
end
# motd configurations:
remote_file '/etc/motd.tail' do
owner 'root'
group 'root'
mode '644'
end
remote_file '/etc/update-motd.d/99-motd-update' do
owner 'root'
group 'root'
mode '755'
end
# If it is inside an LXC, change the apt repository settings:
if node['base']['lxc']
%w( /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu.sources ).each do |conf|
remote_file conf do
mode "0644"
owner "root"
group "root"
end
end
end
# Install the necessary packages:
include_recipe './packages.rb'
include_recipe './eget.rb'
# Lang Setting:
include_recipe './lang.rb'
# `unattended-upgrade` settings:
include_recipe './unattended-upgrade.rb'
# `ufw` configurations:
include_recipe './ufw.rb'
# `sshd` configurations:
include_recipe './ssh.rb'
# timezone configurations:
include_recipe './timezone.rb'
include_recipe './ntp.rb'
# If it is a VM, do the followings.
# If it is inside an LXC container, do NOTHING.
unless node['base']['lxc']
# `fortune` configurations:
include_recipe './fortune.rb'
# kernel configurations:
include_recipe './kernel.rb'
# Install mc command:
include_recipe './mc.rb'
# Install lsyncd command:
include_recipe './lsyncd.rb'
# Install starship command:
include_recipe './starship.rb'
# Install cloudflared command:
include_recipe './cloudflared.rb'
# Disable Ubuntu Pro
include_recipe './ubuntupro.rb'
# recipes for Ubuntu 20.04 and later
case node['platform_version']
when "20.04", "22.04", "24.04"
remote_file '/etc/multipath.conf' do
owner 'root'
group 'root'
mode '0644'
notifies :restart, 'service[multipath-tools]'
end
service 'multipath-tools' do
action :nothing
end
end
# AWS EC2 Swap Setting:
if node['is_ec2']
include_recipe './aws_ec2.rb'
end
end