summaryrefslogtreecommitdiff
path: root/manifests/init.pp
AgeCommit message (Collapse)Author
2013-01-02Simplify codename handling.intrigeri
Have the codename class parameter default to $::lsbdistcodename, and derive $release from it.
2013-01-02Remove duplicated settings, resulting from wrong merge.intrigeri
2013-01-02Merge remote-tracking branch 'riseup/immerda_27_readme' into sharedintrigeri
Conflicts: README manifests/cron/dist_upgrade.pp manifests/cron/download.pp manifests/init.pp manifests/preferences.pp
2013-01-02Merge branch 'master' into issue_3953Gabriel Filion
2012-12-30Merge remote-tracking branch 'riseup/feature/http_debian_net'intrigeri
2012-12-30Merge remote-tracking branch 'riseup/feature/unknown_lsbdistcodename'intrigeri
2012-12-18On a sid system, $lsbdistcodename is reports 'n/a', this doesn't work ↵Micah Anderson
because the module looks for a template based on the $lsbdistcodename, so you get this error: Could not find template 'apt/Debian/preferences_n/a.erb' The slash in 'n/a' appears to be a path (confusing!) So I've set an error message when 'n/a' is encountered, encouraging the user to set the $lsbdistcodename. I was not confident in the idea of pointing any occurrence of 'n/a' to the sid templates, as I could imagine a case where this might occur on a non-sid system where the lsbdistcodename isn't properly detected
2012-12-18switch default $debian_url to use http.debian.net which is more accurate and ↵Micah Anderson
up-to-date than cdn.debian.net
2012-12-18added $apt_disable_update to disable "apt-get update" during puppetrunsnadir
2012-12-05fix for $lsbdistcodename regression introduced by ↵Micah Anderson
ac166366d7baa45b74e09974289d9fb2dad38e67 What happened here was the $codename = $::lsbdistcodename was removed from init.pp and replaced with just $::lsbdistcodename whereever $codename was used. Then in the sources.list.erb and preferences files things were changed like this: <pre>+### Debian current: <%= codename = scope.lookupvar('::lsbdistcodename') %> ... -deb <%= debian_url %> <%= codename %> <%= repos %> ... +deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= repos=scope.lookupvar('apt::repos') %> </pre> This meant that the codename was always set to lsbdistcodename, and you because in newer puppet versions you cannot assign a value to a top-level facter variable, it is not possible to change this. Because we cannot change $lsbdistcodename, we have to fix this by allowing the user to pass a different, non-top-level scoped variable to the class as a parameter, which defaults to $::lsbdistcodename, so that upgrades can be triggered. This is documented in the README in an upgrade notice
2012-09-20Make apt::preferences_snippet place files in /etc/apt/preferences.dGabriel Filion
Since Debian Squeeze, apt supports a .d directory for preferences (pinning). Simplify management by just placing files inside this .d directory. This removes the need for concat and concat::fragment resources, so removes the dependency on the concat module. It also removes the need for a moduledir that was needed for the concat module magic, so we also get rid of the dependency on the common module. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2012-09-20Stop using config_file from the common moduleGabriel Filion
This define doesn't add much of a shortcut and imposes a dependency on the "common" module. We'll be better off with the small repetition but less tightly coupled modules. Sadly, the "common" module is still required, but that is going to be the focus of the commit that follows this one. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2012-06-18get rid off config_file wrappermh
2012-06-14migrate away from hiera stuffmh
2012-06-08refactor things for >2.7mh
2012-06-08Migrate - in class names to _mh
In newer puppet releases the old way to name class/modules with a -, won't anymore be supported. Conflicts: manifests/unattended_upgrades.pp
2012-06-05new style for 2.7mh
2012-04-15Migrate - in class names to _mh
In newer puppet releases the old way to name class/modules with a -, won't anymore be supported.
2012-04-11use correct references for new concat usagemh
2012-04-09Force an apt-get update when changing an apt::sources_listGabriel Filion
sources_list doesn't currently force puppet to run 'apt-get update' after creating/modifying/removing files in sources.list.d. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2012-04-09Refactor: manage .d directories when using sources_list and apt_confGabriel Filion
The .d directories are only managed by the main 'apt' class. However, both 'sources_list' and 'apt_conf' defines depend on those directories. So in practice, the defines have an implicit need for those directories to be somehow managed. Let's turn this into an explicit relation, and include the directories in the defines. This makes it possible to use both defines without having to include the main 'apt' class. (maybe when using puppet apply?) Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2011-04-25Revert "apt::custom_sources_template to deploy custom sources.list.d/xyz.list"intrigeri
This reverts commit 3c0499b78d1f671fcce13127ef14b1b662a48c5a. This was already provided by sources_list.pp.
2011-01-09apt::custom_sources_template to deploy custom sources.list.d/xyz.listnadir
2010-12-15Repair Exec['update_apt'] to run apt-get update when needed.intrigeri
Move this Exec to a dedicated class that is not included by default i.e. we default not to "apt-get update" on every Puppet run. We now make use of this class in the apt::upgrade_package define to make sure APT indexes are up-to-date before attempting package upgrades. One may now use the following to ensure current packages are installed by Package resources: include apt::update Package { require => Exec[apt_updated] }
2010-12-14Make consistent the use of absolute path to apt-get.intrigeri
2010-12-12Additionally use version number in Lenny default pinning.intrigeri
Lenny's APT does not support pinning like this: Pin: release o=Debian,n=<%= codename %> We therefore switched (in commit ef2ebdffd) to: Pin: release o=Debian,a=<%= release %> With such a pinning setup, when Squeeze is released, systems using this module with $apt_use_next_release set to true would immediately switch to prefer packages from Squeeze. If an automated upgrade process is setup, they would be automatically upgraded to Squeeze. This does not sound safe to me, so let's use the release version number as an additional selection criterion to prevent upgrades to Squeeze to happen behind our back: Pin: release o=Debian,a=<%= release %>,v=<%= release_version %>* Note that the trailing '*' is intentional and necessary to match stable point-releases.
2010-12-08provide an "03clean" alias for the 03clean_vserver to satisfy dependenciesMicah Anderson
2010-12-07change the name of the custom_keys exec to be "custom_keys" instead of using ↵Micah Anderson
the alias metaparameter. the reason for this change was because the Exec override was not able to find the exec through its alias
2010-12-07format standardizationMicah Anderson
2010-12-07switch the default $debian_url to use the Debian CDN mirror address.Micah Anderson
The CDN checks your IP and uses the Max-Mind geoIP DB to determine your location and then uses your local country Debian Mirror, or if your local country doesn't have a debian mirror, it uses the local continent. It automatically checks and prunes dead mirrors. the technology for the Debian CDN setup is still improving, I believe that ASN-number associations are the next step to attempt to make more informed, finer-grained choices. This is more useful than using ftp.debian.org because that is just a round-robin DNS entry that could get you any mirror anywhere.
2010-12-07Set dselect DSelect::Clean to 'pre-auto' by default for hosts that are vservers.Micah Anderson
Before you only had the choice of setting a 03clean apt configuration for either all hosts, or every single host. Setting it to have the recommended settings for vservers for all hosts meant that you were setting it for non-vservers as well as vservers. The other option you had was to set it per host. This was a bit annoying if you have any more than one vserver because you would need to create a 03clean for every single vserver guest. This change auto-detects if the node is a vserver, and if it is it automatically installs the 03clean_vserver file, with the recommended DSelect::Clean settings, and allows you to override this for all of your vservers, or for specific hosts.
2010-11-21Bugfixintrigeri
2010-11-21Merge commit '92aa5a51e95d74604a40318558aa98f70fcf7720'.intrigeri
A bunch of painlessly merged commits. Conflicts: manifests/init.pp
2010-11-21Merge commit '3c88b19dd33b4da1f37e2c08c981ccbcbe5a45a8'.intrigeri
Conflicts: manifests/init.pp
2010-11-21Merge commit '27d5808299045ebd6f428e7d8131d11d9ab37712'.intrigeri
One more painless merge commit. Conflicts: manifests/init.pp
2010-11-21Merge commit 'd97a49b7b2c020c2c43df6524236f50a421789ee'.intrigeri
Going on merging immerda changes. Incompatible change: I do prefer my own generic apt/preferences template to shipping a static file that only supports Lenny. My own template supports security, backports, volatile, next release etc. Conflicts: files/preferences manifests/init.pp manifests/preferences.pp
2010-11-21Merge commit 'ac76a5d52df78aec919f08334ca5b140902a9298'intrigeri
(Starting to merge changes from immerda.) Conflicts: manifests/default_sources_list.pp manifests/init.pp
2010-11-10Do not refresh APT lists on every run.intrigeri
Let's set refreshonly on the 'update_apt' Exec (aliased to 'apt_updated') instead of removing it for backward compatibility: it may be in use at some places to trigger updates.
2010-11-10Merge remote branch 'nadir/master'intrigeri
Conflicts: README manifests/custom_sources.pp manifests/default_preferences.pp manifests/init.pp manifests/unattended_upgrades.pp templates/Debian/sources.list.volatile.erb
2010-10-25Ensure presence of sources.list.d and watch itGabriel Filion
Add a file resource on the apt/sources.list.d directory to ensure that it is created as a directory and watch it for modifications to automatically refresh the apt cache. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-25Remove $apt_unattended_upgradesGabriel Filion
Unattended upgrades are not always necessary. Including the apt::unattended_upgrades class through the main apt class is not appropriate. It is better to make nodes include the apt::unattended_upgrades class explicitly. Remove the $apt_unattended_upgrades variable along with the include in the 'apt' class. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-25Fix apt::preferences::absentGabriel Filion
Currently, setting the $custom_preferences variable to false fails because of the /etc/apt/preferences concatenated_file being re-defined. Fix this by setting dependencies on the resource only when we expect to create the /etc/apt/preferences file. Also, since there is no "ensure" parameter to concatenated_file, use a simple file resource to ensure that it is removed. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-25Add $main_apt_sourceGabriel Filion
Currently, it's either we use the default source that's hardcoded in the sources.list template or we redefine entirely this template. Make it easier to just change the URL of the apt source while using the rest of the default template by adding a $main_apt_source variable. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-25Remove the now unused $apt_clean variableGabriel Filion
This variable was deprecated in favor of using a list of file sources. to change the value of the 'clean' property, you can either define a file '03clean' in a site-apt module, or a per-host '$fqdn/03clean' file in the same site-apt module. Also, move the moduledir stuff below nearer to where it's actually used. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-25rename things for easier understandingGabriel Filion
remove the use of _snippet in names (except for preferences_snippet) so that they represent directly a resource name. rename custom_sources_template to sources_list. modify sources_list to make it more flexible (gives the opportunity to provide sources or content). this changes its behaviour in that the name is now the name of the file in sources.list.d rename proxy-client to proxy_client to use the same standard for its name as the other classes. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-25refactor: simplify and remove inline contentGabriel Filion
Simplifications: make apt_conf_snippet repeat less code, make code that generates sources.list more concise. Remove all inline content in favor of templates and static files. The ability to include sources for static files was needed for the main 'preferences' file, so it was added to the preferences_snippet define. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-24Add apt_conf_snippet and use it where possibleGabriel Filion
With the new define, it's easy to add an apt.conf snippet in apt.conf.d It accepts either 'sources' to get a static file or 'content' to define content inline or with the help of a template. Put it to use where we create files in apt.conf.d Finally, fix the dependancy to the apt_config file (however, I don't see the need for this dependancy) Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-24Move default_sources_list into apt classGabriel Filion
The contents of the file default_sources_list.pp is used in only one place. Remove the file and move its contents inside the apt class in order to have one less useless depth level. Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-22merged with immerda/masternadir
2010-10-21Merge remote branch 'lelutin/master'mh
Integrate no custom preference into our new way to manage the preferences. Conflicts: README manifests/default_preferences.pp manifests/init.pp