Files
puppet-swift/manifests/init.pp
Dan Bode e9dfe0f8e5 Improve documentation
Improves README and inline docs, comments
2012-02-14 15:05:35 -08:00

87 lines
2.0 KiB
Puppet

# Install and configure base swift components
#
# == Parameters
# [*swift_hash_suffix*] string of text to be used
# as a salt when hashing to determine mappings in the ring.
# This file should be the same on every node in the cluster.
# [*package_ensure*] The ensure state for the swift package.
# Optional. Defaults to present.
#
# [*swift_ssh_key*] NOT YET IMPLEMENTED. I am not entirely sure what
# this key is intended to be used for.
#
# == Dependencies
#
# Class['ssh::server::install']
#
# == Authors
#
# Dan Bode dan@puppetlabs.com
#
# == Copyright
#
# Copyright 2011 Puppetlabs Inc, unless otherwise noted.
#
class swift(
$swift_hash_suffix,
# $swift_ssh_key,
$package_ensure = 'present'
) {
# maybe I should just install ssh?
Class['ssh::server::install'] -> Class['swift']
package { 'swift':
ensure => $package_ensure,
}
File { owner => 'swift', group => 'swift', require => Package['swift'] }
file { '/home/swift':
ensure => directory,
mode => 0700,
}
file { '/etc/swift':
ensure => directory,
mode => 2770,
}
file { '/var/run/swift':
ensure => directory,
}
file { '/etc/swift/swift.conf':
ensure => present,
mode => 0660,
content => template('swift/swift.conf.erb'),
}
# if ($swift_ssh_key) {
# if $swift_ssh_key !~ /^(ssh-...) +([^ ]*) *([^ \n]*)/ {
# err("Can't parse swift_ssh_key")
# notify { "Can't parse public key file $name on the keymaster: skipping ensure => $e
#nsure": }
# } else {
# $keytype = $1
# $modulus = $2
# $comment = $3
# ssh_authorized_key { $comment:
# ensure => "present",
# user => "swift",
# type => $keytype,
# key => $modulus,
# options => $options ? { "" => undef, default => $options },
# require => File["/home/swift"]
# }
# }
# }
# does swift need an ssh key?
# they are adding one in the openstack modules
#
# I do not understand how to configure the rings
# or why rings would be configured on the proxy?
}