diff --git a/modules/packagekit/manifests/cron.pp b/modules/packagekit/manifests/cron.pp
new file mode 100644
index 0000000000..16721a3f2b
--- /dev/null
+++ b/modules/packagekit/manifests/cron.pp
@@ -0,0 +1,41 @@
+# Copyright 2013 Red Hat, Inc.
+#
+# 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.
+#
+# Class: packagekit::cron
+#
+class packagekit::cron(
+  $package_ensure = present,
+  $enabled = 'yes',
+  $check_only = 'no',
+  $mailto = false,
+  $system_name = false
+) inherits packagekit {
+
+  include packagekit::params
+
+  package { $::packagekit::params::cron_package:
+    ensure => $package_ensure,
+  }
+
+  file { $::packagekit::params::cron_config_file:
+    ensure  => present,
+    content => template("${module_name}/packagekit-background.erb"),
+    mode    => '0644',
+    group   => 'root',
+    owner   => 'root',
+    replace => true,
+    require => Package[$::packagekit::params::cron_package],
+  }
+
+}
diff --git a/modules/packagekit/manifests/init.pp b/modules/packagekit/manifests/init.pp
new file mode 100644
index 0000000000..f6883be4d1
--- /dev/null
+++ b/modules/packagekit/manifests/init.pp
@@ -0,0 +1,27 @@
+# Copyright 2013 Red Hat, Inc.
+#
+# 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.
+#
+# Class: packagekit
+#
+class packagekit(
+  $package_ensure = present
+) {
+
+  include packagekit::params
+
+  package { $::packagekit::params::package:
+    ensure => $package_ensure,
+  }
+
+}
diff --git a/modules/packagekit/manifests/params.pp b/modules/packagekit/manifests/params.pp
new file mode 100644
index 0000000000..f490fe0506
--- /dev/null
+++ b/modules/packagekit/manifests/params.pp
@@ -0,0 +1,27 @@
+# Copyright 2013 Red Hat, Inc.
+#
+# 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.
+#
+# Class: packagekit::params
+class packagekit::params {
+  case $::osfamily {
+    'RedHat': {
+      $package = 'PackageKit'
+      $cron_package = 'PackageKit-cron'
+      $cron_config_file = '/etc/sysconfig/packagekit-background'
+    }
+    default: {
+      fail("Unsupported osfamily: ${::osfamily} The 'packagekit' module only supports osfamily RedHat.")
+    }
+  }
+}
diff --git a/modules/packagekit/templates/packagekit-background.erb b/modules/packagekit/templates/packagekit-background.erb
new file mode 100644
index 0000000000..cc2ee25076
--- /dev/null
+++ b/modules/packagekit/templates/packagekit-background.erb
@@ -0,0 +1,17 @@
+# should we attempt to do this? (valid: yes|no)
+ENABLED=<%= enabled %>
+
+# don't install, just check (valid: yes|no)
+CHECK_ONLY=<%= check_only %>
+
+# if MAILTO is set, the mail command is used to deliver PackageKit output
+# by default MAILTO is unset, so crond mails the output by itself
+<% if mailto then %>
+MAILTO=<%= mailto %>
+<% end %>
+
+# you may set SYSTEMNAME if you want your PackageKit emails tagged differently
+# default is output of hostname command
+<% if system_name then %>
+SYSTEM_NAME=<%= system_name %>
+<% end %>