class HttpdConfigmapGenerator::Sssd

Attributes

opts[RW]
sssd[RW]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/httpd_configmap_generator/base/sssd.rb, line 8
def initialize(opts = {})
  @opts = opts
  @sssd = nil
end

Public Instance Methods

add_service(service) click to toggle source
# File lib/httpd_configmap_generator/base/sssd.rb, line 30
def add_service(service)
  services = section("sssd")["services"]
  services = (services.split(",").map(&:strip) | [service]).join(", ")
  sssd.section("sssd")["services"] = services
  sssd.section(service)
end
configure_domain(domain) click to toggle source
# File lib/httpd_configmap_generator/base/sssd.rb, line 24
def configure_domain(domain)
  domain = section("domain/#{domain}")
  domain["ldap_user_extra_attrs"] = LDAP_ATTRS.keys.join(", ")
  domain["entry_cache_timeout"] = 600
end
configure_ifp() click to toggle source
# File lib/httpd_configmap_generator/base/sssd.rb, line 37
def configure_ifp
  add_service("ifp")
  ifp = section("ifp")
  ifp["allowed_uids"] = "#{APACHE_USER}, root"
  ifp["user_attributes"] = LDAP_ATTRS.keys.collect { |k| "+#{k}" }.join(", ")
end
load(file_path) click to toggle source
# File lib/httpd_configmap_generator/base/sssd.rb, line 13
def load(file_path)
  @sssd = IniParse.open(file_path)
end
save(file_path) click to toggle source
# File lib/httpd_configmap_generator/base/sssd.rb, line 17
def save(file_path)
  return unless sssd
  config_file_backup(file_path)
  info_msg("Saving SSSD to #{file_path}")
  sssd.save(file_path)
end
section(key) click to toggle source
# File lib/httpd_configmap_generator/base/sssd.rb, line 44
def section(key)
  if key =~ /^domain\/.*$/
    key = sssd.entries.collect(&:key).select { |k| k.downcase == key.downcase }.first || key
  end
  sssd.section(key)
end