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