Skip to content
This repository has been archived by the owner on Jul 11, 2020. It is now read-only.

Commit

Permalink
start rolling out unattended upgrades
Browse files Browse the repository at this point in the history
dwradcliffe committed May 12, 2015
1 parent 27ec080 commit 987b1f3
Showing 6 changed files with 73 additions and 50 deletions.
2 changes: 1 addition & 1 deletion Berksfile.lock
Original file line number Diff line number Diff line change
@@ -245,7 +245,7 @@ GRAPH
runit (>= 0.0.0)
unicorn (>= 0.0.0)
user (>= 0.0.0)
rubygems-apt (0.0.16)
rubygems-apt (0.0.19)
apt (>= 0.0.0)
rubygems-backups (0.0.21)
chef-vault (>= 0.0.0)
66 changes: 66 additions & 0 deletions cookbooks/rubygems-apt/files/default/50unattended-upgrades
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};

// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
"nginx";
"nginx-common";
"nginx-extras";
"chef";
"chef-server-core";
"opscode-manage";
"opscode-reporting";
"redis";
"postgresql-9.3";
"postgresql-common";
"postgresql-contrib";
};

// 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 "false";

// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGUSR1. 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 unattended-upgrades when the machine is shuting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
//Unattended-Upgrade::InstallOnShutdown "true";

// 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 "root";

// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
//Unattended-Upgrade::MailOnlyOnError "true";

// Do automatic removal of new unused dependencies after the upgrade
// (equivalent to apt-get autoremove)
//Unattended-Upgrade::Remove-Unused-Dependencies "false";

// Automatically reboot *WITHOUT CONFIRMATION*
// if the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "false";

// 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";
30 changes: 0 additions & 30 deletions cookbooks/rubygems-apt/files/default/packages.key

This file was deleted.

2 changes: 1 addition & 1 deletion cookbooks/rubygems-apt/metadata.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name 'rubygems-apt'
maintainer 'RubyGems.org ops team'

version '0.0.16'
version '0.0.19'

depends 'apt'

21 changes: 3 additions & 18 deletions cookbooks/rubygems-apt/recipes/default.rb
Original file line number Diff line number Diff line change
@@ -19,23 +19,8 @@
action :delete
end

directory '/etc/apt/rubygems' do
action :create
end

cookbook_file 'packages.key' do
path '/etc/apt/rubygems/packages.key'
end
cookbook_file '/etc/apt/apt.conf.d/50unattended-upgrades'

execute 'import-rubygems-apt-key' do
command '/usr/bin/apt-key add /etc/apt/rubygems/packages.key'
not_if "/usr/bin/apt-key list | grep `sudo gpg --with-fingerprint /etc/apt/rubygems/packages.key | grep packages | awk '{ print $2 }'`"
end

apt_repository 'rubygems_main' do
uri 'http://repo01.common.rubygems.org'
distribution node['lsb']['codename']
components ['main']
not_if { node['apt']['bootstrap'] }
action :remove
template '/etc/apt/apt.conf.d/20auto-upgrades' do
variables(enabled: node.chef_environment != 'production')
end
2 changes: 2 additions & 0 deletions cookbooks/rubygems-apt/templates/default/20auto-upgrades.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
APT::Periodic::Update-Package-Lists "<%= @enabled ? '1' : '0' %>";
APT::Periodic::Unattended-Upgrade "<%= @enabled ? '1' : '0' %>";

0 comments on commit 987b1f3

Please sign in to comment.