Sha256: f5160f5179491acdb3b7709e6bdb853be47a0569d57a057018ee079789909a20

Contents?: true

Size: 1.03 KB

Versions: 26

Compression:

Stored size: 1.03 KB

Contents

define :add_keys, :conf => {} do
  config = params[:conf]
  name = params[:name]
  keys = Mash.new
  keys[name] = node[:ssh_keys][name]

  if config[:ssh_key_groups]
    config[:ssh_key_groups].each do |group|
      node[:users].find_all { |u| u.last[:groups].include?(group) }.each do |user|
        keys[user.first] = node[:ssh_keys][user.first]
      end
    end
  end
  
  if config[:extra_ssh_keys]
    config[:extra_ssh_keys].each do |username|
      keys[username] = node[:ssh_keys][username]
    end
  end
  
  directory "/home/#{name}/.ssh" do
    action :create
    owner name
    group config[:groups] ? config[:groups].first.to_s : name
    mode 0755
    not_if { File.exists? "/home/#{name}/.ssh" }
  end
  
  template "/home/#{name}/.ssh/authorized_keys" do
    source "authorized_keys.erb"
    action :create
    owner name
    group config[:groups] ? config[:groups].first.to_s : name
    variables(:keys => keys)
    mode 0600
    not_if { defined?(node[:users][name][:preserve_keys]) ? node[:users][name][:preserve_keys] : false }
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
solokit-0.1.17 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.16 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.15 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.14 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.13 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.12 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.11 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.10 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.9 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.8 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.7 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.6 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.5 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.4 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.3 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.2 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.1 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.1.0 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.0.9 cookbooks/upstream/users/definitions/add_keys.rb
solokit-0.0.8 cookbooks/upstream/users/definitions/add_keys.rb