diff --git a/cookbooks/base/attributes.rb b/cookbooks/base/attributes.rb new file mode 100644 index 0000000..d50ecfb --- /dev/null +++ b/cookbooks/base/attributes.rb @@ -0,0 +1,15 @@ +# Check whether it is inside the LXC container: +result = run_command('grep lxc /proc/1/environ', error: false).exit_status + +if result == 0 + lxc = true +else + lxc = false +end + +node.reverse_merge!({ + 'base' => { + 'lxc' => lxc + } +}) + diff --git a/cookbooks/base/default.rb b/cookbooks/base/default.rb index f81b098..f6e1980 100644 --- a/cookbooks/base/default.rb +++ b/cookbooks/base/default.rb @@ -1,3 +1,5 @@ +include_recipe './attributes.rb' + [ # only install amd64 package # http://d.hatena.ne.jp/ritchey/20121229 @@ -33,6 +35,17 @@ remote_file '/etc/update-motd.d/99-motd-update' do 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' @@ -49,85 +62,52 @@ include_recipe './ufw.rb' # `sshd` configurations: include_recipe './ssh.rb' -# `fortune` configurations: -include_recipe './fortune.rb' - # timezone configurations: include_recipe './timezone.rb' +include_recipe './ntp.rb' -# kernel configurations: -include_recipe './kernel.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' -# Install mc command: -include_recipe './mc.rb' + # kernel configurations: + include_recipe './kernel.rb' -# Install lsyncd command: -include_recipe './lsyncd.rb' + # Install mc command: + include_recipe './mc.rb' -# Install starship command: -include_recipe './starship.rb' + # Install lsyncd command: + include_recipe './lsyncd.rb' -# Install cloudflared command: -include_recipe './cloudflared.rb' + # Install starship command: + include_recipe './starship.rb' -# Disable Ubuntu Pro -include_recipe './ubuntupro.rb' + # Install cloudflared command: + include_recipe './cloudflared.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 - - package 'systemd-timesyncd' - - service 'systemd-timesyncd' do - action :enable - end + # Disable Ubuntu Pro + include_recipe './ubuntupro.rb' + # recipes for Ubuntu 20.04 and later case node['platform_version'] - when "20.04" - remote_file '/etc/systemd/timesyncd.conf' do + when "20.04", "22.04", "24.04" + remote_file '/etc/multipath.conf' do owner 'root' group 'root' - mode '0644' + mode '0644' - notifies :restart, 'service[systemd-timesyncd]' + notifies :restart, 'service[multipath-tools]' end - when "22.04" - remote_file '/etc/systemd/timesyncd.conf' do - owner 'root' - group 'root' - mode '0644' - source 'files/etc/systemd/timesyncd.2204.conf' - - notifies :restart, 'service[systemd-timesyncd]' - end - when "24.04" - remote_file '/etc/systemd/timesyncd.conf' do - owner 'root' - group 'root' - mode '0644' - - source 'files/etc/systemd/timesyncd.2404.conf' - - notifies :restart, 'service[systemd-timesyncd]' + service 'multipath-tools' do + action :nothing end end -end - -# AWS EC2 Swap Setting: -if node['is_ec2'] - include_recipe './aws_ec2.rb' + # AWS EC2 Swap Setting: + if node['is_ec2'] + include_recipe './aws_ec2.rb' + end end diff --git a/cookbooks/base/files/etc/apt/sources.list b/cookbooks/base/files/etc/apt/sources.list new file mode 100644 index 0000000..a2dee82 --- /dev/null +++ b/cookbooks/base/files/etc/apt/sources.list @@ -0,0 +1,6 @@ +# deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse + +# deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse + +# deb http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse + diff --git a/cookbooks/base/files/etc/apt/sources.list.d/ubuntu.sources b/cookbooks/base/files/etc/apt/sources.list.d/ubuntu.sources new file mode 100644 index 0000000..35da4c7 --- /dev/null +++ b/cookbooks/base/files/etc/apt/sources.list.d/ubuntu.sources @@ -0,0 +1,11 @@ +Types: deb +URIs: http://192.168.10.201:8080/ubuntu/apt-mirror/mirror/jp.archive.ubuntu.com/ubuntu/ +Suites: noble noble-updates noble-backports +Components: main restricted universe multiverse +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg + +Types: deb +URIs: http://security.ubuntu.com/ubuntu/ +Suites: noble-security +Components: main restricted universe multiverse +Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg diff --git a/cookbooks/base/ntp.rb b/cookbooks/base/ntp.rb new file mode 100644 index 0000000..eeebd2b --- /dev/null +++ b/cookbooks/base/ntp.rb @@ -0,0 +1,39 @@ +package 'systemd-timesyncd' + +service 'systemd-timesyncd' do + action :enable +end + +case node['platform_version'] +when "20.04", "22.04", "24.04" + case node['platform_version'] + when "20.04" + remote_file '/etc/systemd/timesyncd.conf' do + owner 'root' + group 'root' + mode '0644' + + notifies :restart, 'service[systemd-timesyncd]' + end + when "22.04" + remote_file '/etc/systemd/timesyncd.conf' do + owner 'root' + group 'root' + mode '0644' + + source 'files/etc/systemd/timesyncd.2204.conf' + + notifies :restart, 'service[systemd-timesyncd]' + end + when "24.04" + remote_file '/etc/systemd/timesyncd.conf' do + owner 'root' + group 'root' + mode '0644' + + source 'files/etc/systemd/timesyncd.2404.conf' + + notifies :restart, 'service[systemd-timesyncd]' + end + end +end diff --git a/cookbooks/base/packages.rb b/cookbooks/base/packages.rb index 11b917e..70979a5 100644 --- a/cookbooks/base/packages.rb +++ b/cookbooks/base/packages.rb @@ -2,7 +2,7 @@ execute 'apt update' # Install the necessary packages: -%w[build-essential zsh vim-nox debian-keyring curl direnv jq avahi-daemon wget gpg coreutils].each do |pkg| +%w[build-essential zsh vim-nox debian-keyring curl direnv jq avahi-daemon wget gpg coreutils software-properties-common].each do |pkg| package pkg end diff --git a/cookbooks/consul/dnsmasq.rb b/cookbooks/consul/dnsmasq.rb index 710ef6b..3438604 100644 --- a/cookbooks/consul/dnsmasq.rb +++ b/cookbooks/consul/dnsmasq.rb @@ -8,8 +8,10 @@ end case run_command('grep VERSION_ID /etc/os-release | awk -F\" \'{print $2}\'').stdout.chomp when "24.04" - execute "change link to /etc/resolv.conf" do - command "ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf" + unless node['base']['lxc'] + execute "change link to /etc/resolv.conf" do + command "ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf" + end end directory "/etc/systemd/resolved.conf.d/" do diff --git a/cookbooks/kazu634/attributes.rb b/cookbooks/kazu634/attributes.rb new file mode 100644 index 0000000..13be538 --- /dev/null +++ b/cookbooks/kazu634/attributes.rb @@ -0,0 +1,12 @@ +# If it is a VM, use `zsh`. Otherwise, `bash`: +unless node['base']['lxc'] + SHELL = '/usr/bin/zsh' +else + SHELL = '/usr/bin/bash' +end + +node.reverse_merge!({ + 'kazu634' => { + 'shell' => SHELL + } +}) diff --git a/cookbooks/kazu634/default.rb b/cookbooks/kazu634/default.rb index 4021165..de6ef20 100644 --- a/cookbooks/kazu634/default.rb +++ b/cookbooks/kazu634/default.rb @@ -1,9 +1,14 @@ +include_recipe './attributes.rb' + include_recipe './kazu634.rb' include_recipe './ssh.rb' -include_recipe './vim.rb' +# if it is inside a VM, do the followings: +unless node['base']['lxc'] + include_recipe './vim.rb' -include_recipe './mc.rb' + include_recipe './mc.rb' -include_recipe './mise.rb' + include_recipe './mise.rb' +end diff --git a/cookbooks/kazu634/kazu634.rb b/cookbooks/kazu634/kazu634.rb index 8f6c2e8..f32fff4 100644 --- a/cookbooks/kazu634/kazu634.rb +++ b/cookbooks/kazu634/kazu634.rb @@ -7,63 +7,7 @@ user 'kazu634' do create_home true home HOME - shell '/usr/bin/zsh' -end - -# Create directories: -%w( repo src tmp works .cache ).each do |d| - directory "#{HOME}/#{d}" do - owner 'kazu634' - group 'kazu634' - mode '755' - end -end - -# `git-now` deployment: -git '/home/kazu634/repo/git-now' do - repository 'https://github.com/iwata/git-now.git' - user 'kazu634' - - recursive true -end - -execute 'make install' do - user 'root' - cwd '/home/kazu634/repo/git-now/' - - not_if 'which git-now' -end - -# Deploy dot files: -git '/home/kazu634/repo/dotfiles' do - repository 'https://gitea.kazu634.com/kazu634/dotfiles.git' - user 'kazu634' -end - -execute 'install_dotfiles' do - user 'root' - command 'su - kazu634 -c "/home/kazu634/repo/dotfiles/install.sh"' - - not_if 'test -f /home/kazu634/.zshenv' -end - -# Deploy `zplug`: -git '/home/kazu634/.zplug' do - repository 'https://github.com/zplug/zplug.git' - user 'kazu634' -end - -# Starship config -directory '/home/kazu634/.config' do - owner 'kazu634' - group 'kazu634' - mode '0740' -end - -remote_file '/home/kazu634/.config/starship.toml' do - owner 'kazu634' - group 'kazu634' - mode '0640' + shell node['kazu634']['shell'] end # sudoers @@ -73,18 +17,77 @@ remote_file '/etc/sudoers.d/kazu634' do mode '440' end -# automatically delete the /home/kazu634/tmp directory: -remote_file '/etc/cron.d/remove_tmp' do - owner 'root' - group 'root' - mode '644' -end +# if it is inside a VM, do the followings: +unless node['base']['lxc'] + # Create directories: + %w( repo src tmp works .cache ).each do |d| + directory "#{HOME}/#{d}" do + owner 'kazu634' + group 'kazu634' + mode '755' + end + end -# Deploy `~/works/rsync.sh`: -%w( rsync.sh lsyncd.conf.lua ).each do |file| - remote_file "/home/kazu634/works/#{file}" do + # `git-now` deployment: + git '/home/kazu634/repo/git-now' do + repository 'https://github.com/iwata/git-now.git' + user 'kazu634' + + recursive true + end + + execute 'make install' do + user 'root' + cwd '/home/kazu634/repo/git-now/' + + not_if 'which git-now' + end + + # Deploy dot files: + git '/home/kazu634/repo/dotfiles' do + repository 'https://gitea.kazu634.com/kazu634/dotfiles.git' + user 'kazu634' + end + + execute 'install_dotfiles' do + user 'root' + command 'su - kazu634 -c "/home/kazu634/repo/dotfiles/install.sh"' + + not_if 'test -f /home/kazu634/.zshenv' + end + + # Deploy `zplug`: + git '/home/kazu634/.zplug' do + repository 'https://github.com/zplug/zplug.git' + user 'kazu634' + end + + # Starship config + directory '/home/kazu634/.config' do owner 'kazu634' group 'kazu634' - mode '755' + mode '0740' + end + + remote_file '/home/kazu634/.config/starship.toml' do + owner 'kazu634' + group 'kazu634' + mode '0640' + end + + # automatically delete the /home/kazu634/tmp directory: + remote_file '/etc/cron.d/remove_tmp' do + owner 'root' + group 'root' + mode '644' + end + + # Deploy `~/works/rsync.sh`: + %w( rsync.sh lsyncd.conf.lua ).each do |file| + remote_file "/home/kazu634/works/#{file}" do + owner 'kazu634' + group 'kazu634' + mode '755' + end end end diff --git a/cookbooks/lxc/default.rb b/cookbooks/lxc/default.rb deleted file mode 100644 index f63eb27..0000000 --- a/cookbooks/lxc/default.rb +++ /dev/null @@ -1,16 +0,0 @@ -# Install the necessary packages: -include_recipe './packages.rb' -include_recipe './eget.rb' - -# `unattended-upgrade` settings: -include_recipe './unattended-upgrade.rb' - -# `ufw` configurations: -include_recipe './ufw.rb' - -# timezone configurations: -include_recipe './timezone.rb' - -execute 'ufw allow 22/tcp' do - notifies :run, 'execute[ufw reload-or-enable]' -end diff --git a/cookbooks/lxc/eget.rb b/cookbooks/lxc/eget.rb deleted file mode 100644 index a70978a..0000000 --- a/cookbooks/lxc/eget.rb +++ /dev/null @@ -1,14 +0,0 @@ -result = run_command('which eget', error: false) -if result.exit_status != 0 - # Install eget - execute 'curl https://zyedidia.github.io/eget.sh | sh' do - cwd '/usr/local/bin/' - end - - execute 'chown root:root /usr/local/bin/eget' - execute 'chmod 755 /usr/local/bin/eget' -end - -%w( zyedidia/eget mgdm/htmlq ).each do |p| - execute "eget #{p} --to /usr/local/bin/ --upgrade-only" -end diff --git a/cookbooks/lxc/files/etc/apt/apt.conf.d/20auto-upgrades b/cookbooks/lxc/files/etc/apt/apt.conf.d/20auto-upgrades deleted file mode 100644 index 8d6d7c8..0000000 --- a/cookbooks/lxc/files/etc/apt/apt.conf.d/20auto-upgrades +++ /dev/null @@ -1,2 +0,0 @@ -APT::Periodic::Update-Package-Lists "1"; -APT::Periodic::Unattended-Upgrade "1"; diff --git a/cookbooks/lxc/files/etc/apt/apt.conf.d/50unattended-upgrades b/cookbooks/lxc/files/etc/apt/apt.conf.d/50unattended-upgrades deleted file mode 100644 index 307996d..0000000 --- a/cookbooks/lxc/files/etc/apt/apt.conf.d/50unattended-upgrades +++ /dev/null @@ -1,143 +0,0 @@ -// Automatically upgrade packages from these (origin:archive) pairs -// -// Note that in Ubuntu security updates may pull in new dependencies -// from non-security sources (e.g. chromium). By allowing the release -// pocket these get automatically pulled in. -Unattended-Upgrade::Allowed-Origins { - "${distro_id}:${distro_codename}"; - "${distro_id}:${distro_codename}-security"; - // Extended Security Maintenance; doesn't necessarily exist for - // every release and this system may not have it installed, but if - // available, the policy for updates is such that unattended-upgrades - // should also install from here by default. - "${distro_id}ESMApps:${distro_codename}-apps-security"; - "${distro_id}ESM:${distro_codename}-infra-security"; -// "${distro_id}:${distro_codename}-updates"; -// "${distro_id}:${distro_codename}-proposed"; -// "${distro_id}:${distro_codename}-backports"; -}; - -// Python regular expressions, matching packages to exclude from upgrading -Unattended-Upgrade::Package-Blacklist { - // The following matches all packages starting with linux- -// "linux-"; - - // Use $ to explicitely define the end of a package name. Without - // the $, "libc6" would match all of them. -// "libc6$"; -// "libc6-dev$"; -// "libc6-i686$"; - - // Special characters need escaping -// "libstdc\+\+6$"; - - // The following matches packages like xen-system-amd64, xen-utils-4.1, - // xenstore-utils and libxenstore3.0 -// "(lib)?xen(store)?"; - - // For more information about Python regular expressions, see - // https://docs.python.org/3/howto/regex.html -}; - -// This option controls whether the development release of Ubuntu will be -// upgraded automatically. Valid values are "true", "false", and "auto". -Unattended-Upgrade::DevRelease "auto"; - -// This option allows you to control if on a unclean dpkg exit -// unattended-upgrades will automatically run -// dpkg --force-confold --configure -a -// The default is true, to ensure updates keep getting installed -//Unattended-Upgrade::AutoFixInterruptedDpkg "true"; - -// Split the upgrade into the smallest possible chunks so that -// they can be interrupted with SIGTERM. This makes the upgrade -// a bit slower but it has the benefit that shutdown while a upgrade -// is running is possible (with a small delay) -//Unattended-Upgrade::MinimalSteps "true"; - -// Install all updates when the machine is shutting down -// instead of doing it in the background while the machine is running. -// This will (obviously) make shutdown slower. -// Unattended-upgrades increases logind's InhibitDelayMaxSec to 30s. -// This allows more time for unattended-upgrades to shut down gracefully -// or even install a few packages in InstallOnShutdown mode, but is still a -// big step back from the 30 minutes allowed for InstallOnShutdown previously. -// Users enabling InstallOnShutdown mode are advised to increase -// InhibitDelayMaxSec even further, possibly to 30 minutes. -//Unattended-Upgrade::InstallOnShutdown "false"; - -// Send email to this address for problems or packages upgrades -// If empty or unset then no email is sent, make sure that you -// have a working mail setup on your system. A package that provides -// 'mailx' must be installed. E.g. "user@example.com" -//Unattended-Upgrade::Mail ""; - -// Set this value to one of: -// "always", "only-on-error" or "on-change" -// If this is not set, then any legacy MailOnlyOnError (boolean) value -// is used to chose between "only-on-error" and "on-change" -//Unattended-Upgrade::MailReport "on-change"; - -// Remove unused automatically installed kernel-related packages -// (kernel images, kernel headers and kernel version locked tools). -Unattended-Upgrade::Remove-Unused-Kernel-Packages "true"; - -// Do automatic removal of newly unused dependencies after the upgrade -Unattended-Upgrade::Remove-New-Unused-Dependencies "true"; - -// Do automatic removal of unused packages after the upgrade -// (equivalent to apt-get autoremove) -Unattended-Upgrade::Remove-Unused-Dependencies "true"; - -// Automatically reboot *WITHOUT CONFIRMATION* if -// the file /var/run/reboot-required is found after the upgrade -Unattended-Upgrade::Automatic-Reboot "false"; - -// Automatically reboot even if there are users currently logged in -// when Unattended-Upgrade::Automatic-Reboot is set to true -//Unattended-Upgrade::Automatic-Reboot-WithUsers "true"; - -// If automatic reboot is enabled and needed, reboot at the specific -// time instead of immediately -// Default: "now" -//Unattended-Upgrade::Automatic-Reboot-Time "02:00"; - -// Use apt bandwidth limit feature, this example limits the download -// speed to 70kb/sec -//Acquire::http::Dl-Limit "70"; - -// Enable logging to syslog. Default is False -// Unattended-Upgrade::SyslogEnable "false"; - -// Specify syslog facility. Default is daemon -// Unattended-Upgrade::SyslogFacility "daemon"; - -// Download and install upgrades only on AC power -// (i.e. skip or gracefully stop updates on battery) -// Unattended-Upgrade::OnlyOnACPower "true"; - -// Download and install upgrades only on non-metered connection -// (i.e. skip or gracefully stop updates on a metered connection) -// Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true"; - -// Verbose logging -// Unattended-Upgrade::Verbose "false"; - -// Print debugging information both in unattended-upgrades and -// in unattended-upgrade-shutdown -// Unattended-Upgrade::Debug "false"; - -// Allow package downgrade if Pin-Priority exceeds 1000 -// Unattended-Upgrade::Allow-downgrade "false"; - -// When APT fails to mark a package to be upgraded or installed try adjusting -// candidates of related packages to help APT's resolver in finding a solution -// where the package can be upgraded or installed. -// This is a workaround until APT's resolver is fixed to always find a -// solution if it exists. (See Debian bug #711128.) -// The fallback is enabled by default, except on Debian's sid release because -// uninstallable packages are frequent there. -// Disabling the fallback speeds up unattended-upgrades when there are -// uninstallable packages at the expense of rarely keeping back packages which -// could be upgraded or installed. -// Unattended-Upgrade::Allow-APT-Mark-Fallback "true"; diff --git a/cookbooks/lxc/files/etc/cron-apt/action.d/3-download b/cookbooks/lxc/files/etc/cron-apt/action.d/3-download deleted file mode 100644 index 93d2631..0000000 --- a/cookbooks/lxc/files/etc/cron-apt/action.d/3-download +++ /dev/null @@ -1,2 +0,0 @@ -autoclean -y -upgrade -y -o APT::Get::Show-Upgraded=true diff --git a/cookbooks/lxc/files/etc/cron-apt/config b/cookbooks/lxc/files/etc/cron-apt/config deleted file mode 100644 index 8c21dc6..0000000 --- a/cookbooks/lxc/files/etc/cron-apt/config +++ /dev/null @@ -1,11 +0,0 @@ -# Configuration for cron-apt. For further information about the possible -# configuration settings see the README file. - -SYSLOGON="always" -DEBUG="verbose" - -MAILON="" - -APTCOMMAND=/usr/bin/apt - -OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/security.sources.list" diff --git a/cookbooks/lxc/packages.rb b/cookbooks/lxc/packages.rb deleted file mode 100644 index d0d9856..0000000 --- a/cookbooks/lxc/packages.rb +++ /dev/null @@ -1,14 +0,0 @@ -# Execute `apt update`: -execute 'apt update' - -# Install the necessary packages: -%w[build-essential zsh vim-nox debian-keyring curl direnv jq avahi-daemon wget gpg coreutils].each do |pkg| - package pkg -end - -execute 'ufw allow 5353/udp' do - user 'root' - - not_if 'LANG=c ufw status | grep 5353' - notifies :run, 'execute[ufw reload-or-enable]' -end diff --git a/cookbooks/lxc/templates/etc/apt/sources.list.d/git.list b/cookbooks/lxc/templates/etc/apt/sources.list.d/git.list deleted file mode 100644 index dbb2a29..0000000 --- a/cookbooks/lxc/templates/etc/apt/sources.list.d/git.list +++ /dev/null @@ -1 +0,0 @@ -deb "http://ppa.launchpad.net/git-core/ppa/ubuntu" <%= @distribution %> main diff --git a/cookbooks/lxc/timezone.rb b/cookbooks/lxc/timezone.rb deleted file mode 100644 index c5bf6ed..0000000 --- a/cookbooks/lxc/timezone.rb +++ /dev/null @@ -1,23 +0,0 @@ -case node['platform_version'] -when "18.04", "20.04", "22.04", "24.04" - execute 'timedatectl set-timezone Asia/Tokyo' do - not_if 'timedatectl | grep Tokyo' - end -else - remote_file '/etc/timezone' do - user 'root' - owner 'root' - group 'root' - mode '644' - end - - [ - 'cp -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime' - ].each do |cmd| - execute cmd do - user 'root' - - not_if 'diff /usr/share/zoneinfo/Asia/Tokyo /etc/localtime' - end - end -end diff --git a/cookbooks/lxc/ufw.rb b/cookbooks/lxc/ufw.rb deleted file mode 100644 index d9ecd41..0000000 --- a/cookbooks/lxc/ufw.rb +++ /dev/null @@ -1,6 +0,0 @@ -execute 'ufw reload-or-enable' do - user 'root' - command 'LANG=C ufw reload | grep skipping && ufw --force enable || exit 0' - - action :nothing -end diff --git a/cookbooks/lxc/unattended-upgrade.rb b/cookbooks/lxc/unattended-upgrade.rb deleted file mode 100644 index 1a522aa..0000000 --- a/cookbooks/lxc/unattended-upgrade.rb +++ /dev/null @@ -1,56 +0,0 @@ -case run_command('grep VERSION_ID /etc/os-release | awk -F\" \'{print $2}\'').stdout.chomp -when "18.04" - # Install `cron-apt`: - package 'cron-apt' - - # From here, we are going to set up `cron-apt` to - # install the important security updates every day. - remote_file '/etc/cron-apt/config' do - user 'root' - - owner 'root' - group 'root' - mode '644' - end - - remote_file '/etc/cron-apt/action.d/3-download' do - user 'root' - - owner 'root' - group 'root' - mode '644' - end - - execute 'grep security /etc/apt/sources.list > /etc/apt/security.sources.list' do - user 'root' - - not_if 'test -e /etc/apt/security.sources.list' - end - - file '/var/log/cron-apt/log' do - user 'root' - - content 'foo\n' - - owner 'root' - group 'root' - mode '666' - - not_if 'test -e /var/log/cron-apt/log' - end - - execute '/usr/sbin/logrotate -f /etc/logrotate.d/cron-apt' do - user 'root' - - not_if 'test -e /var/log/cron-apt/log' - end - -when '20.04', '22.04', '24.04' - %w(20auto-upgrades 50unattended-upgrades).each do |conf| - remote_file "/etc/apt/apt.conf.d/#{conf}" do - owner 'root' - group 'root' - mode '644' - end - end -end diff --git a/roles/lxc.rb b/roles/lxc.rb index 986877d..92c3ad2 100644 --- a/roles/lxc.rb +++ b/roles/lxc.rb @@ -1,4 +1,5 @@ -include_recipe "../cookbooks/lxc/default.rb" +include_recipe "../cookbooks/base/default.rb" +include_recipe "../cookbooks/kazu634/default.rb" include_recipe "../cookbooks/vault/default.rb" include_recipe "../cookbooks/consul-template/default.rb" include_recipe "../cookbooks/consul/default.rb"