diff options
| author | Micah Anderson <micah@riseup.net> | 2016-11-04 10:54:28 -0400 | 
|---|---|---|
| committer | Micah Anderson <micah@riseup.net> | 2016-11-04 10:54:28 -0400 | 
| commit | 34a381efa8f6295080c843f86bfa07d4e41056af (patch) | |
| tree | 9282cf5d4c876688602705a7fa0002bc4a810bde /puppet/modules/apache/lib | |
| parent | 0a72bc6fd292bf9367b314fcb0347c4d35042f16 (diff) | |
| parent | 5821964ff7e16ca7aa9141bd09a77d355db492a9 (diff) | |
Merge branch 'develop'
Diffstat (limited to 'puppet/modules/apache/lib')
4 files changed, 75 insertions, 0 deletions
diff --git a/puppet/modules/apache b/puppet/modules/apache deleted file mode 160000 -Subproject 117bed9a9263c21d253d86b667eb165948efdc2 diff --git a/puppet/modules/apache/lib/facter/apache_version.rb b/puppet/modules/apache/lib/facter/apache_version.rb new file mode 100644 index 00000000..f0521832 --- /dev/null +++ b/puppet/modules/apache/lib/facter/apache_version.rb @@ -0,0 +1,28 @@ +# determine the version of apache installed +  +def parse_version(version_string) +  version = "" +  version_string.each_line do |line| +    if line.match(/^Server version/) +      version = line.scan(/Apache\/(.*) /)[0][0] +    end +  end +  return version +end +  +Facter.add('apache_version') do +  setcode do +    case Facter.value('osfamily') +    when /RedHat/ +      if File.exists?('/usr/sbin/httpd') +        version = parse_version(%x(/usr/sbin/httpd -v)) +      end +    when /Debian/ +      if File.exists?('/usr/sbin/apache2') +        version = parse_version(%x(/usr/sbin/apache2 -v)) +      end +    else +      version = 'undef' +    end +  end +end diff --git a/puppet/modules/apache/lib/puppet/parser/functions/guess_apache_version.rb b/puppet/modules/apache/lib/puppet/parser/functions/guess_apache_version.rb new file mode 100644 index 00000000..7537f6d9 --- /dev/null +++ b/puppet/modules/apache/lib/puppet/parser/functions/guess_apache_version.rb @@ -0,0 +1,39 @@ +# Try to guess the version of apache to be installed. +# Certain apache modules depend on each other, so we +# need to evaluate the apache version before it gets +# installed. This function decides which apache version +# is going to be installed based on the `operatingsystemrelease` +# fact. +module Puppet::Parser::Functions +  newfunction(:guess_apache_version, :type => :rvalue) do |args| +    release = lookupvar('operatingsystemrelease') +    unknown = 'unknown' + +    case lookupvar('operatingsystem') + +      when 'Debian' +        case release +          when /^7.*/ +            version = '2.2' +          when /^8.*/ +            version = '2.4' +          else +            version = unknown +        end + +      when 'Ubuntu' +        case release +          when /(12.04|12.10|13.04|13.10)/ +            version = '2.2' +          when /(14.04|14.10|15.04|15.10|16.04)/ +            version = '2.4' +          else +            version = unknown +        end + +      else +        version = unknown +    end +    version +  end +end diff --git a/puppet/modules/apache/lib/puppet/parser/functions/htpasswd_sha1.rb b/puppet/modules/apache/lib/puppet/parser/functions/htpasswd_sha1.rb new file mode 100644 index 00000000..937621d9 --- /dev/null +++ b/puppet/modules/apache/lib/puppet/parser/functions/htpasswd_sha1.rb @@ -0,0 +1,8 @@ +require 'digest/sha1'  +require 'base64' + +module Puppet::Parser::Functions +  newfunction(:htpasswd_sha1, :type => :rvalue) do |args| +    "{SHA}" + Base64.encode64(Digest::SHA1.digest(args[0])) +  end +end  | 
