gchef / apt-cookbook

Additions to Ubuntu's app, including some rather useful sources.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Description

Configures various APT components on Debian-like systems. Also includes a LWRP.

Requires the chef-extensions gem.

Recipes

default

The default recipe runs apt-get update during the Compile Phase of the Chef run to ensure that the system's package cache is updated with the latest. It is recommended that this recipe appear first in a node's run list (directly or through a role) to ensure that when installing packages, Chef will be able to download the latest version available on the remote APT repository.

This recipe also sets up a local cache directory for preseeding packages.

cacher

Installs the apt-cacher package and service so the system can provide APT caching. You can check the usage report at http://{hostname}:3142/report. The cacher recipe includes the cacher-client recipe, so it helps seed itself.

cacher-client

Configures the node to use the apt-cacher server as a client.

Resources/Providers

This cookbook contains an LWRP, apt_repository, which provides the add and remove actions for managing additional software repositories with entries in the /etc/apt/sources.list.d/ directory. The LWRP also supports passing in a key and keyserver as attributes.

  • add takes a number of attributes and creates a repository file and builds the repository listing.
  • remove deletes the /etc/apt/sources.list.d/#{new_resource.repo_name}-sources.list file identified by the repo_name passed as the resource name.

Usage

Put recipe[apt] first in the run list. If you have other recipes that you want to use to configure how apt behaves, like new sources, notify the execute resource to run, e.g.:

template "/etc/apt/sources.list.d/my_apt_sources.list" do
  notifies :run, resources(:execute => "apt-get update"), :immediately
end

The above will run during execution phase since it is a normal template resource, and should appear before other package resources that need the sources in the template.

Put recipe[apt::cacher] in the run_list for a server to provide APT caching and add recipe[apt::cacher-client] on the rest of the Debian-based nodes to take advantage of the caching server.

An example of The LWRP apt_repository add action:

apt_repository "zenoss" do
  uri "http://dev.zenoss.org/deb"
  distribution "main"
  components ["stable"]
  action :add
end

and the remove action:

apt_repository "zenoss" do
  action :remove
end

License and Author

Author:: Joshua Timberman (joshua@opscode.com) Author:: Matt Ray (matt@opscode.com) Author:: Gerhard Lazu (gerhard@lazu.co.uk)

Copyright 2009-2011 Opscode, Inc. Copyright 2012 Gerhard Lazu

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Additions to Ubuntu's app, including some rather useful sources.


Languages

Language:Ruby 100.0%