| @@ -0,0 +1,372 @@ | ||
| require 'rake/clean' | ||
| require 'pp' | ||
| require 'yaml' | ||
| $LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), 'lib')) | ||
| require 'puppet/acceptance/git_utils' | ||
| extend Puppet::Acceptance::GitUtils | ||
| ONE_DAY_IN_SECS = 24 * 60 * 60 | ||
| REPO_CONFIGS_DIR = "repo-configs" | ||
| CLEAN.include('*.tar', REPO_CONFIGS_DIR, 'merged_options.rb') | ||
| module HarnessOptions | ||
| DEFAULTS = { | ||
| :type => 'git', | ||
| :helper => ['lib/helper.rb'], | ||
| :tests => ['tests'], | ||
| :log_level => 'debug', | ||
| :color => false, | ||
| :root_keys => true, | ||
| :ssh => { | ||
| :keys => ["id_rsa_acceptance", "#{ENV['HOME']}/.ssh/id_rsa-acceptance"], | ||
| }, | ||
| :xml => true, | ||
| :timesync => false, | ||
| :repo_proxy => true, | ||
| :add_el_extras => true, | ||
| :preserve_hosts => 'onfail', | ||
| :forge_host => 'forge-aio01-petest.puppetlabs.com', | ||
| :'master-start-curl-retries' => 30, | ||
| } | ||
| class Aggregator | ||
| attr_reader :mode | ||
| def initialize(mode) | ||
| @mode = mode | ||
| end | ||
| def get_options(file_path) | ||
| puts file_path | ||
| if File.exists? file_path | ||
| options = eval(File.read(file_path), binding) | ||
| else | ||
| puts "No options file found at #{File.expand_path(file_path)}" | ||
| end | ||
| options || {} | ||
| end | ||
| def get_mode_options | ||
| get_options("./config/#{mode}/options.rb") | ||
| end | ||
| def get_local_options | ||
| get_options("./local_options.rb") | ||
| end | ||
| def final_options(intermediary_options = {}) | ||
| mode_options = get_mode_options | ||
| local_overrides = get_local_options | ||
| final_options = DEFAULTS.merge(mode_options) | ||
| final_options.merge!(intermediary_options) | ||
| final_options.merge!(local_overrides) | ||
| return final_options | ||
| end | ||
| end | ||
| def self.options(mode, options) | ||
| final_options = Aggregator.new(mode).final_options(options) | ||
| final_options | ||
| end | ||
| end | ||
| def beaker_test(mode = :packages, options = {}) | ||
| delete_options = options.delete(:__delete_options__) || [] | ||
| final_options = HarnessOptions.options(mode, options) | ||
| preserve_config = final_options.delete(:__preserve_config__) | ||
| if mode == :git | ||
| # Build up project git urls based on git server and fork env variables or defaults | ||
| final_options[:install].map! do |install| | ||
| raise(ArgumentError, "Missing Git URL within options hash. Install URL is nil.") if install.nil? | ||
| if md = /^(\w+)#(\w+)$/.match(install) | ||
| project, project_sha = md.captures | ||
| "#{build_giturl(project)}##{project_sha}" | ||
| elsif md = /^(\w+)$/.match(install) | ||
| project = md[1] | ||
| "#{build_giturl(project)}##{sha}" | ||
| else | ||
| install | ||
| end | ||
| end | ||
| end | ||
| delete_options.each do |delete_me| | ||
| final_options.delete(delete_me) | ||
| end | ||
| options_file = 'merged_options.rb' | ||
| File.open(options_file, 'w') do |merged| | ||
| merged.puts <<-EOS | ||
| # Copy this file to local_options.rb and adjust as needed if you wish to run | ||
| # with some local overrides. | ||
| EOS | ||
| merged.puts(final_options.pretty_inspect) | ||
| end | ||
| tests = ENV['TESTS'] || ENV['TEST'] | ||
| tests_opt = "--tests=#{tests}" if tests | ||
| config_opt = "--hosts=#{config}" if config | ||
| overriding_options = ENV['OPTIONS'] | ||
| args = ["--options-file", options_file, config_opt, tests_opt, overriding_options].compact | ||
| begin | ||
| sh("beaker", *args) | ||
| ensure | ||
| preserve_configuration(final_options, options_file) if preserve_config | ||
| end | ||
| end | ||
| def preserve_configuration(final_options, options_file) | ||
| if (hosts_file = config || final_options[:hosts_file]) && hosts_file !~ /preserved_config/ | ||
| cp(hosts_file, "log/latest/config.yml") | ||
| generate_config_for_latest_hosts | ||
| end | ||
| mv(options_file, "log/latest") | ||
| end | ||
| def generate_config_for_latest_hosts | ||
| preserved_config_hash = { 'HOSTS' => {} } | ||
| puts "\nPreserving configuration so that any preserved nodes can be tested again locally..." | ||
| config_hash = YAML.load_file('log/latest/config.yml') | ||
| if !config_hash || !config_hash.include?('HOSTS') | ||
| puts "Warning: No HOSTS configuration found in log/latest/config.yml" | ||
| return | ||
| else | ||
| nodes = config_hash['HOSTS'].map do |node_label,hash| | ||
| { | ||
| :node_label => node_label, | ||
| :roles => hash['roles'], | ||
| :platform => hash['platform'] | ||
| } | ||
| end | ||
| pre_suite_log = File.read('log/latest/pre_suite-run.log') | ||
| nodes.each do |node_info| | ||
| host_regex = /^([\w.]+) \(#{node_info[:node_label]}\)/ | ||
| if matched = host_regex.match(pre_suite_log) | ||
| hostname = matched[1] | ||
| fqdn = (hostname =~ /\./) ? | ||
| hostname : | ||
| "#{hostname}.delivery.puppetlabs.net" | ||
| elsif /^#{node_info[:node_label]} /.match(pre_suite_log) | ||
| fqdn = "#{node_info[:node_label]}" | ||
| puts "* Couldn't find any log lines for #{host_regex}, assuming #{fqdn} is the fqdn" | ||
| end | ||
| if fqdn | ||
| preserved_config_hash['HOSTS'][fqdn] = { | ||
| 'roles' => node_info[:roles], | ||
| 'platform' => node_info[:platform], | ||
| } | ||
| else | ||
| puts "* Couldn't match #{node_info[:node_label]} in pre_suite-run.log" | ||
| end | ||
| end | ||
| pp preserved_config_hash | ||
| File.open('log/latest/preserved_config.yaml', 'w') do |config_file| | ||
| YAML.dump(preserved_config_hash, config_file) | ||
| end | ||
| end | ||
| rescue Errno::ENOENT => e | ||
| puts "Warning: Couldn't generate preserved_config.yaml #{e}" | ||
| end | ||
| def list_preserved_configurations(secs_ago = ONE_DAY_IN_SECS) | ||
| preserved = {} | ||
| Dir.glob('log/*_*').each do |dir| | ||
| preserved_config_path = "#{dir}/preserved_config.yaml" | ||
| yesterday = Time.now - secs_ago.to_i | ||
| if preserved_config = File.exists?(preserved_config_path) | ||
| directory = File.new(dir) | ||
| if directory.ctime > yesterday | ||
| hosts = [] | ||
| preserved_config = YAML.load_file(preserved_config_path).to_hash | ||
| preserved_config['HOSTS'].each do |hostname,values| | ||
| hosts << "#{hostname}: #{values['platform']}, #{values['roles']}" | ||
| end | ||
| preserved[hosts] = directory.to_path | ||
| end | ||
| end | ||
| end | ||
| preserved.map { |k,v| [v,k] }.sort { |a,b| a[0] <=> b[0] }.reverse | ||
| end | ||
| def list_preserved_hosts(secs_ago = ONE_DAY_IN_SECS) | ||
| hosts = Set.new | ||
| Dir.glob('log/**/pre*suite*run.log').each do |log| | ||
| yesterday = Time.now - secs_ago.to_i | ||
| File.open(log, 'r') do |file| | ||
| if file.ctime > yesterday | ||
| file.each_line do |line| | ||
| matchdata = /^(\w+)(?:\.[\w.]+)? \(.*?\) \d\d:\d\d:\d\d\$/.match(line.encode!('UTF-8', 'UTF-8', :invalid => :replace)) | ||
| hosts.add(matchdata[1]) if matchdata | ||
| end | ||
| end | ||
| end | ||
| end | ||
| hosts | ||
| end | ||
| def release_hosts(hosts = nil, secs_ago = ONE_DAY_IN_SECS) | ||
| secs_ago ||= ONE_DAY_IN_SECS | ||
| hosts ||= list_preserved_hosts(secs_ago) | ||
| hosts.each do |h| | ||
| hostname = h.split('.').first | ||
| puts "Releaseing '#{hostname}'" | ||
| puts `curl -X DELETE --url http://vcloud.delivery.puppetlabs.net/vm/#{hostname}` | ||
| end | ||
| end | ||
| def print_preserved(preserved) | ||
| preserved.each_with_index do |entry,i| | ||
| puts "##{i}: #{entry[0]}" | ||
| entry[1].each { |h| puts " #{h}" } | ||
| end | ||
| end | ||
| def beaker_run_type | ||
| type = ENV['TYPE'] || :packages | ||
| type = type.to_sym | ||
| end | ||
| def sha | ||
| ENV['SHA'] | ||
| end | ||
| def config | ||
| ENV['CONFIG'] | ||
| end | ||
| namespace :ci do | ||
| task :check_env do | ||
| raise(USAGE) unless sha | ||
| end | ||
| namespace :test do | ||
| USAGE = <<-EOS | ||
| Requires commit SHA to be put under test as environment variable: SHA='<sha>'. | ||
| Also must set CONFIG=config/nodes/foo.yaml or include it in an options.rb for Beaker. | ||
| You may set TESTS=path/to/test,and/more/tests. | ||
| You may set additional Beaker OPTIONS='--more --options' | ||
| If testing from git checkouts, you may optionally set the github fork to checkout from using PUPPET_FORK='some-other-puppet-fork' (you may change the HIERA_FORK and FACTER_FORK as well if you wish). | ||
| You may also optionally set the git server to checkout repos from using GIT_SERVER='some.git.mirror'. | ||
| Or you may set PUPPET_GIT_SERVER='my.host.with.git.daemon', specifically, if you have set up a `git daemon` to pull local commits from. (You will need to allow the git daemon to serve the repo (see `git help daemon` and the docs/acceptance_tests.md for more details)). | ||
| If there is a Beaker options hash in a ./local_options.rb, it will be included. Commandline options set through the above environment variables will override settings in this file. | ||
| EOS | ||
| desc <<-EOS | ||
| Run the acceptance tests through Beaker and install packages on the configuration targets. | ||
| #{USAGE} | ||
| EOS | ||
| task :packages => 'ci:check_env' do | ||
| beaker_test | ||
| end | ||
| desc <<-EOS | ||
| Run the acceptance tests through Beaker and install packages as part of the AIO puppet-agent installation. | ||
| #{USAGE} | ||
| EOS | ||
| task :aio => 'ci:check_env' do | ||
| beaker_test(:aio) | ||
| end | ||
| desc <<-EOS | ||
| Run the acceptance tests through Beaker and install packages as part of the AIO puppet-agent installation, testing against puppet-master-passenger. | ||
| #{USAGE} | ||
| EOS | ||
| task :passenger => 'ci:check_env' do | ||
| beaker_test(:passenger) | ||
| end | ||
| desc <<-EOS | ||
| Run the acceptance tests through Beaker and install from git on the configuration targets. | ||
| #{USAGE} | ||
| EOS | ||
| task :git => 'ci:check_env' do | ||
| beaker_test(:git) | ||
| end | ||
| end | ||
| desc "Capture the master and agent hostname from the latest log and construct a preserved_config.yaml for re-running against preserved hosts without provisioning." | ||
| task :extract_preserved_config do | ||
| generate_config_for_latest_hosts | ||
| end | ||
| desc <<-EOS | ||
| Run an acceptance test for a given node configuration and preserve the hosts. | ||
| Defaults to a packages run, but you can set it to 'git' with TYPE='git'. | ||
| #{USAGE} | ||
| EOS | ||
| task :test_and_preserve_hosts => 'ci:check_env' do | ||
| beaker_test(beaker_run_type, :preserve_hosts => 'always', :__preserve_config__ => true) | ||
| end | ||
| desc "List acceptance runs from the past day which had hosts preserved." | ||
| task :list_preserved do | ||
| preserved = list_preserved_configurations | ||
| print_preserved(preserved) | ||
| end | ||
| desc <<-EOS | ||
| Shutdown and destroy any hosts that we have preserved for testing. These should be reaped daily by scripts, but this will free up resources immediately. | ||
| Specify a list of comma separated HOST_NAMES if you have a set of dynamic vcloud host names you want to purge outside of what can be grepped from the logs. | ||
| You can go back through the last SECS_AGO logs. Default is one day ago in secs. | ||
| EOS | ||
| task :release_hosts do | ||
| host_names = ENV['HOST_NAMES'].split(',') if ENV['HOST_NAMES'] | ||
| secs_ago = ENV['SECS_AGO'] | ||
| release_hosts(host_names, secs_ago) | ||
| end | ||
| task :destroy_preserved_hosts => 'ci:release_hosts' do | ||
| puts "Note: we are now releasing hosts back to the vcloud pooling api rather than destroying them directly. The rake task for this is ci:release_hosts" | ||
| end | ||
| desc <<-EOS | ||
| Rerun an acceptance test using the last captured preserved_config.yaml to skip provisioning. | ||
| Or specify a CONFIG_NUMBER from `rake ci:list_preserved`. | ||
| Defaults to a packages run, but you can set it to 'git' with TYPE='git'. | ||
| EOS | ||
| task :test_against_preserved_hosts do | ||
| config_number = (ENV['CONFIG_NUMBER'] || 0).to_i | ||
| preserved = list_preserved_configurations | ||
| print_preserved(preserved) | ||
| config_path = preserved[config_number][0] | ||
| puts "Using ##{config_number}: #{config_path}" | ||
| options = { | ||
| :hosts_file => "#{config_path}/preserved_config.yaml", | ||
| :no_provision => true, | ||
| :preserve_hosts => 'always', | ||
| } | ||
| run_type = beaker_run_type | ||
| if run_type == :packages | ||
| options.merge!(:pre_suite => [ | ||
| 'setup/packages/pre-suite/015_PackageHostsPresets.rb', | ||
| 'setup/packages/pre-suite/045_EnsureMasterStartedOnPassenger.rb', | ||
| ]) | ||
| else | ||
| options.merge!(:__delete_options__ => [:pre_suite]) | ||
| end | ||
| beaker_test(beaker_run_type, options) | ||
| end | ||
| end | ||
| task :default do | ||
| sh('rake -T') | ||
| end | ||
| task :spec do | ||
| sh('rspec lib') | ||
| end |
| @@ -0,0 +1,16 @@ | ||
| { | ||
| :type => 'aio', | ||
| :is_puppetserver => true, | ||
| :puppetservice => 'puppetserver', | ||
| :'puppetserver-confdir' => '/etc/puppetlabs/puppetserver/conf.d', | ||
| :pre_suite => [ | ||
| 'setup/aio/pre-suite/010_Install.rb', | ||
| 'setup/aio/pre-suite/015_PackageHostsPresets.rb', | ||
| 'setup/common/pre-suite/025_StopFirewall.rb', | ||
| 'setup/common/pre-suite/040_ValidateSignCert.rb', | ||
| 'setup/aio/pre-suite/045_EnsureMasterStartedOnPassenger.rb', | ||
| 'setup/common/pre-suite/070_InstallCACerts.rb', | ||
| 'setup/aio/pre-suite/060_Install-activemq.rb', | ||
| 'setup/aio/pre-suite/070_Install_puppet-agent-plugin.rb', | ||
| ], | ||
| } |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: centos-5-x86_64 | ||
| hypervisor: vcloud | ||
| template: centos-5-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: centos-6-x86_64 | ||
| hypervisor: vcloud | ||
| template: centos-6-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: debian-squeeze-x86_64 | ||
| hypervisor: vcloud | ||
| template: debian-6-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: debian-wheezy-x86_64 | ||
| hypervisor: vcloud | ||
| template: debian-7-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: debian-jessie-x86_64 | ||
| hypervisor: vcloud | ||
| template: debian-8-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: fedora-20-x86_64 | ||
| hypervisor: vcloud | ||
| template: fedora-20-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: fedora-21-x86_64 | ||
| hypervisor: vcloud | ||
| template: fedora-21-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: el-5-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-5-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: el-6-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-6-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: ubuntu-precise-x86_64 | ||
| hypervisor: vcloud | ||
| template: ubuntu-1204-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: ubuntu-trusty-x86_64 | ||
| hypervisor: vcloud | ||
| template: ubuntu-1404-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent: | ||
| roles: | ||
| - agent | ||
| platform: ubuntu-utopic-x86_64 | ||
| hypervisor: vcloud | ||
| template: ubuntu-1410-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2003r2-x86_64-rubyx64: | ||
| roles: | ||
| - agent | ||
| platform: windows-2003r2-64 | ||
| ruby_arch: x64 | ||
| hypervisor: vcloud | ||
| template: win-2003r2-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2003r2-x86_64-rubyx86: | ||
| roles: | ||
| - agent | ||
| platform: windows-2003r2-64 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2003r2-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2003r2-i386: | ||
| roles: | ||
| - agent | ||
| platform: windows-2003r2-32 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2003r2-i386 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2003-x86_64-rubyx64: | ||
| roles: | ||
| - agent | ||
| platform: windows-2003-64 | ||
| ruby_arch: x64 | ||
| hypervisor: vcloud | ||
| template: win-2003-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2003-x86_64-rubyx86: | ||
| roles: | ||
| - agent | ||
| platform: windows-2003-64 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2003-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2003-i386: | ||
| roles: | ||
| - agent | ||
| platform: windows-2003-32 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2003-i386 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2008-x86_64-rubyx64: | ||
| roles: | ||
| - agent | ||
| platform: windows-2008-64 | ||
| ruby_arch: x64 | ||
| hypervisor: vcloud | ||
| template: win-2008-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2008-x86_64-rubyx86: | ||
| roles: | ||
| - agent | ||
| platform: windows-2008-64 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2008-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2008r2-x86_64-rubyx64: | ||
| roles: | ||
| - agent | ||
| platform: windows-2008r2-64 | ||
| ruby_arch: x64 | ||
| hypervisor: vcloud | ||
| template: win-2008r2-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2008r2-x86_64-rubyx86: | ||
| roles: | ||
| - agent | ||
| platform: windows-2008r2-64 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2008r2-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2012-x86_64-rubyx64: | ||
| roles: | ||
| - agent | ||
| platform: windows-2012-64 | ||
| ruby_arch: x64 | ||
| hypervisor: vcloud | ||
| template: win-2012-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2012-x86_64-rubyx86: | ||
| roles: | ||
| - agent | ||
| platform: windows-2012-64 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2012-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2012r2-x86_64-rubyx64: | ||
| roles: | ||
| - agent | ||
| platform: windows-2012r2-64 | ||
| ruby_arch: x64 | ||
| hypervisor: vcloud | ||
| template: win-2012r2-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,20 @@ | ||
| --- | ||
| HOSTS: | ||
| master: | ||
| roles: | ||
| - master | ||
| platform: el-7-x86_64 | ||
| hypervisor: vcloud | ||
| template: redhat-7-x86_64 | ||
| agent-2012r2-x86_64-rubyx86: | ||
| roles: | ||
| - agent | ||
| platform: windows-2012r2-64 | ||
| ruby_arch: x86 | ||
| hypervisor: vcloud | ||
| template: win-2012r2-x86_64 | ||
| CONFIG: | ||
| datastore: instance0 | ||
| resourcepool: delivery/Quality Assurance/FOSS/Dynamic | ||
| folder: Delivery/Quality Assurance/FOSS/Dynamic | ||
| pooling_api: http://vmpooler.delivery.puppetlabs.net/ |
| @@ -0,0 +1,182 @@ | ||
| <!-- | ||
| Licensed to the Apache Software Foundation (ASF) under one or more | ||
| contributor license agreements. See the NOTICE file distributed with | ||
| this work for additional information regarding copyright ownership. | ||
| The ASF licenses this file to You under the Apache License, Version 2.0 | ||
| (the "License"); you may not use this file except in compliance with | ||
| the License. You may obtain a copy of the License at | ||
| http://www.apache.org/licenses/LICENSE-2.0 | ||
| Unless required by applicable law or agreed to in writing, software | ||
| distributed under the License is distributed on an "AS IS" BASIS, | ||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| See the License for the specific language governing permissions and | ||
| limitations under the License. | ||
| --> | ||
| <!-- START SNIPPET: example --> | ||
| <beans | ||
| xmlns="http://www.springframework.org/schema/beans" | ||
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd | ||
| http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> | ||
| <!-- Allows us to use system properties as variables in this configuration file --> | ||
| <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | ||
| <property name="locations"> | ||
| <value>file:${activemq.conf}/credentials.properties</value> | ||
| </property> | ||
| </bean> | ||
| <!-- | ||
| The <broker> element is used to configure the ActiveMQ broker. | ||
| --> | ||
| <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}"> | ||
| <destinationPolicy> | ||
| <policyMap> | ||
| <policyEntries> | ||
| <policyEntry topic=">" > | ||
| <!-- The constantPendingMessageLimitStrategy is used to prevent | ||
| slow topic consumers to block producers and affect other consumers | ||
| by limiting the number of messages that are retained | ||
| For more information, see: | ||
| http://activemq.apache.org/slow-consumer-handling.html | ||
| --> | ||
| <pendingMessageLimitStrategy> | ||
| <constantPendingMessageLimitStrategy limit="1000"/> | ||
| </pendingMessageLimitStrategy> | ||
| </policyEntry> | ||
| </policyEntries> | ||
| </policyMap> | ||
| </destinationPolicy> | ||
| <!-- | ||
| The managementContext is used to configure how ActiveMQ is exposed in | ||
| JMX. By default, ActiveMQ uses the MBean server that is started by | ||
| the JVM. For more information, see: | ||
| http://activemq.apache.org/jmx.html | ||
| --> | ||
| <managementContext> | ||
| <managementContext createConnector="false"/> | ||
| </managementContext> | ||
| <!-- | ||
| Configure message persistence for the broker. The default persistence | ||
| mechanism is the KahaDB store (identified by the kahaDB tag). | ||
| For more information, see: | ||
| http://activemq.apache.org/persistence.html | ||
| --> | ||
| <persistenceAdapter> | ||
| <kahaDB directory="${activemq.data}/kahadb"/> | ||
| </persistenceAdapter> | ||
| <plugins> | ||
| <statisticsBrokerPlugin/> | ||
| <!-- | ||
| This configures the users and groups used by this broker. Groups | ||
| are referenced below, in the write/read/admin attributes | ||
| of each authorizationEntry element. | ||
| --> | ||
| <simpleAuthenticationPlugin> | ||
| <users> | ||
| <authenticationUser username="mcollective" password="marionette" groups="mcollective,everyone"/> | ||
| <authenticationUser username="admin" password="secret" groups="mcollective,admins,everyone"/> | ||
| </users> | ||
| </simpleAuthenticationPlugin> | ||
| <!-- | ||
| Configure which users are allowed to read and write where. Permissions | ||
| are organized by group; groups are configured above, in the | ||
| authentication plugin. | ||
| With the rules below, both servers and admin users belong to group | ||
| mcollective, which can both issue and respond to commands. For an | ||
| example that splits permissions and doesn't allow servers to issue | ||
| commands, see: | ||
| http://docs.puppetlabs.com/mcollective/deploy/middleware/activemq.html#detailed-restrictions | ||
| --> | ||
| <authorizationPlugin> | ||
| <map> | ||
| <authorizationMap> | ||
| <authorizationEntries> | ||
| <authorizationEntry queue=">" write="admins" read="admins" admin="admins" /> | ||
| <authorizationEntry topic=">" write="admins" read="admins" admin="admins" /> | ||
| <authorizationEntry topic="mcollective.>" write="mcollective" read="mcollective" admin="mcollective" /> | ||
| <authorizationEntry queue="mcollective.>" write="mcollective" read="mcollective" admin="mcollective" /> | ||
| <!-- | ||
| The advisory topics are part of ActiveMQ, and all users need access to them. | ||
| The "everyone" group is not special; you need to ensure every user is a member. | ||
| --> | ||
| <authorizationEntry topic="ActiveMQ.Advisory.>" read="everyone" write="everyone" admin="everyone"/> | ||
| </authorizationEntries> | ||
| </authorizationMap> | ||
| </map> | ||
| </authorizationPlugin> | ||
| </plugins> | ||
| <sslContext> | ||
| <sslContext | ||
| keyStore="activemq.keystore" keyStorePassword="notsecret" | ||
| trustStore="activemq.truststore" trustStorePassword="notsecret" | ||
| /> | ||
| </sslContext> | ||
| <!-- | ||
| The systemUsage controls the maximum amount of space the broker will | ||
| use before disabling caching and/or slowing down producers. For more information, see: | ||
| http://activemq.apache.org/producer-flow-control.html | ||
| --> | ||
| <systemUsage> | ||
| <systemUsage> | ||
| <memoryUsage> | ||
| <memoryUsage percentOfJvmHeap="70" /> | ||
| </memoryUsage> | ||
| <storeUsage> | ||
| <storeUsage limit="100 gb"/> | ||
| </storeUsage> | ||
| <tempUsage> | ||
| <tempUsage limit="50 gb"/> | ||
| </tempUsage> | ||
| </systemUsage> | ||
| </systemUsage> | ||
| <!-- | ||
| The transport connectors expose ActiveMQ over a given protocol to | ||
| clients and other brokers. For more information, see: | ||
| http://activemq.apache.org/configuring-transports.html | ||
| --> | ||
| <transportConnectors> | ||
| <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> | ||
| <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> | ||
| <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> | ||
| <transportConnector name="stomp+ssl" uri="stomp+ssl://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> | ||
| <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> | ||
| <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> | ||
| </transportConnectors> | ||
| <!-- destroy the spring context on shutdown to stop jetty --> | ||
| <shutdownHooks> | ||
| <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> | ||
| </shutdownHooks> | ||
| </broker> | ||
| <!-- | ||
| Enable web consoles, REST and Ajax APIs and demos | ||
| The web consoles requires by default login, you can disable this in the jetty.xml file | ||
| Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details | ||
| --> | ||
| <import resource="jetty.xml"/> | ||
| </beans> | ||
| <!-- END SNIPPET: example --> |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFbTCCA1WgAwIBAgIBATANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyMFoXDTIwMDMwMTExNTYy | ||
| MFowITEfMB0GA1UEAwwWUHVwcGV0IENBOiBzb2Nrcy5sb2NhbDCCAiIwDQYJKoZI | ||
| hvcNAQEBBQADggIPADCCAgoCggIBAL0qDiSB8u/6dxihgLSycKXGMeH+xzASvIWk | ||
| tsK6oPZ8vwBeEoz4A1iw6Lf7Xz9G9qUx0NlmLryN7HLFmidQ4aTwgYE/+/Q/xwa1 | ||
| FJaFl9yy49vU8/rfZ6m6/xNfBMP3MzDjqtlDYouo1A7h+VTN9sXMmltI9Qu8zwvT | ||
| 0UYRy9J8wAMri7y0yVdiYZ4IjhzhwGaB4yrCZkFN6fsuoW3u2Yb1BtewffqXoav2 | ||
| R5G6m/tcgMzNkyJ9cG+GUM1bk5lEE8KOf360mHC8RsOu/7ZWLJmIUx5JKB+5xhGX | ||
| 1nNd71mNB36f6JJ5ZlNSdVa4Yw5bv2HPyqk3BXbxfZlov/8ECfyEsW4LIANgTQbm | ||
| 9Eep6wZE8inogDiGB5hMH1VgrbLjiNriScF3yeMVfdyzRdSp/OjyuE1CmOcBToIu | ||
| Bse7RDfpuJNDQs9ycqaa1ncFVA0sO6e06FszlznaioejELjCULT6qxVNgwTLTPqH | ||
| e1vTZe+iCtoVAIw0RFUhHltAZE4hUXAm+trgAy1FIpeG90TTtfHQEwpR9IgdzDaI | ||
| b2Oc4WeOG7pYxBRFz9NeESyBuKxXmCVfbprbtunpP/F0N4TgUc2zxdSZFN03GKL+ | ||
| jKYYDUcFq4Iune/uxdGudcUHfyx0XaRFmRAjtqwFoFzuebnuJuXKcCuh7x5OTB8i | ||
| 4sF64VQJAgMBAAGjga8wgawwNQYJYIZIAYb4QgENBChQdXBwZXQgUnVieS9PcGVu | ||
| U1NMIEludGVybmFsIENlcnRpZmljYXRlMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB | ||
| Af8EBTADAQH/MB0GA1UdDgQWBBRqr/VzStqL/9HXVt6Qy5P7nhV46zAzBgNVHSME | ||
| LDAqoSWkIzAhMR8wHQYDVQQDDBZQdXBwZXQgQ0E6IHNvY2tzLmxvY2FsggEBMA0G | ||
| CSqGSIb3DQEBCwUAA4ICAQAWW4sT+13YO3E76jLgjhIjOmmQCSGJiJAHe8gxZxrZ | ||
| xbsybkImc+bR0DIJXMQzWpm183Wx0K3YKVD50zfoS5hTThU8OLuMHvXfmMwNy7Hi | ||
| 0vwOaREyrfIzuCRhY3PUz7HXlncdmzAT/1Q9n07d7VCmsFvHtksSJUVcTAMsL9xv | ||
| D6fzO2or1ZtpJbckww6NmoOw+ofdn4vutn06do5SZbbPDfzEfdyPbeWFUXqFlCGk | ||
| /IO8RWjMt6XRBfc6z9HFqj4HI2n5t8gSVN8MTUo1vmzaR0rErpO+JGw8xm2XVvBW | ||
| jHwG8onTGErHYk+04M+woL8Q294SglpfvLONuJTBaKGaCtVnQvhDMvITJ7rnrBz3 | ||
| r1x1Fx635ofY+FGpVMX0EGLA79gaya6zeyBIlvtUcTN89UfQ0sCEClme9Oe48Scy | ||
| bSJKsJNsNqEljCWQ8sqlc4zGXGk2tysAHWBEPoPcfPeIyWKNx0KQ5dz8zf+adV+3 | ||
| JIZC70qF3fEnyhpv0Z6B7VxRR/EZUVAyLIkucQUNVcMR7uTuAWv67CciCS9EOfit | ||
| eYNnpfGRXYoiEgaSnv6oOCtgDSXd6nJgtfe9m4K7200KNPFJIWREFm21UCseHsRc | ||
| AC+KbxNdwopBY8IFS2PLJQPQfBnf4q5uPZagBg4r0mHH5TgiESpa15fI25fjxAHB | ||
| Zw== | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,24 @@ | ||
| main_collective = mcollective | ||
| collectives = mcollective | ||
| libdir = /opt/puppetlabs/mcollective/plugins | ||
| logger_type = console | ||
| loglevel = warn | ||
| # Plugins | ||
| securityprovider = ssl | ||
| plugin.ssl_server_public = /etc/puppetlabs/mcollective/server.crt | ||
| plugin.ssl_client_private = /etc/puppetlabs/mcollective/client.key | ||
| plugin.ssl_client_public = /etc/puppetlabs/mcollective/client.pem | ||
| connector = activemq | ||
| plugin.activemq.pool.size = 1 | ||
| plugin.activemq.pool.1.host = localhost | ||
| plugin.activemq.pool.1.port = 61613 | ||
| plugin.activemq.pool.1.user = mcollective | ||
| plugin.activemq.pool.1.password = marionette | ||
| plugin.activemq.pool.1.ssl = true | ||
| plugin.activemq.pool.1.ssl.ca = /etc/puppetlabs/mcollective/ca_crt.pem | ||
| plugin.activemq.pool.1.ssl.cert = /etc/puppetlabs/mcollective/client.crt | ||
| plugin.activemq.pool.1.ssl.key = /etc/puppetlabs/mcollective/client.key | ||
| connection_timeout = 3 |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFdDCCA1ygAwIBAgIBBDANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyOVoXDTIwMDMwMTExNTYy | ||
| OVowHTEbMBkGA1UEAwwSbWNvbGxlY3RpdmUtY2xpZW50MIICIjANBgkqhkiG9w0B | ||
| AQEFAAOCAg8AMIICCgKCAgEAopc/qeMD7V4sQSeLjI71Na9gabTXC5dxDV5T/qoM | ||
| ZOGVInuMUVEjWWYM/Pjsj+/rEqjcN+0N8sZHpY9sMkbqB97I9c0A/zdVskF8EGVe | ||
| 7vS/ytUIUtKwONffD0/FEPNpIDUc++rSj5PPgJvn35ObhB7Q2MpXLx6iamD1gnyF | ||
| fmrssnv6/f5esjV/n61YaskLd1zQD6t7Zghdkzjy6pFz/AfGqWdzq4r2D5ANnsTO | ||
| WAH1qWyphv8Jbwf7vE+H8x7jySmwrxmHu/PDiqZMz28ZRTVjWBWY67hI7Z/p1otQ | ||
| kzoFFf7XLNfNuyajcsG1YCaGXwbBHdb5aa+leLKLzPd1Xy1X0/h4MEG63xFzkrml | ||
| B7PQZHbzVHdi1lI4tI6erUyb3RjsIT2EE8ED732iDIPZduDg5I1yOUKa7R8wEYVE | ||
| RyHv7V6Hbo2ydJu/oIMwJZ0oGlzK1T1xpEsg8t7wgcLKUY7n/+zG23dLOh49/ubm | ||
| +ecC3QbN1z3pMc9pOceTwkWCi6vGf0Otd1TrraHAlK22dzkfQqFK2mKMegoQZXSW | ||
| HPd5JAdSy4qnXCJPxGJaStQGDii5SndFWiuduKlQpSE6WSgMdiBwncAFmdYsnlNM | ||
| gY0wHL/ufjWhsVdePVrEagNux6PdLdmolWawoHxtNh4UuwyByiyJU8gF7A6f/DoA | ||
| H8cCAwEAAaOBujCBtzA1BglghkgBhvhCAQ0EKFB1cHBldCBSdWJ5L09wZW5TU0wg | ||
| SW50ZXJuYWwgQ2VydGlmaWNhdGUwDgYDVR0PAQH/BAQDAgWgMCAGA1UdJQEB/wQW | ||
| MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQV | ||
| Bygt19XIerwYMgLimQ1LAQjwATAfBgNVHSMEGDAWgBRqr/VzStqL/9HXVt6Qy5P7 | ||
| nhV46zANBgkqhkiG9w0BAQsFAAOCAgEANw3dHIu3J71utQB8eiCwfhNKxBhM8Yj3 | ||
| i+eeAvyo28ZN3knyCbXRQmaegVRbeRLHi3YC+9yG0MFTBeOasxVPK508WosaaQJA | ||
| yOuP/++IYbPiqB/xZArAbe5lA/bmp7xekS/hB9PA0hp6eS2tj13GQBOfJ+tNDEFf | ||
| su8H1w+OIA626LfR1PwaqkKCTQBHEtX+Cv8KyvDeYLt0cP2tMi4MQbqdqO093AHO | ||
| 4o8ZdyBOJUwzjYzt+4Y3M5Lh7i/WXh4XxnH59F0RfhVmztf2cSrjRKUvop+IDP7b | ||
| b1bx4vtnorFSFqcngb9jg6Om21+x1Akhew26ZsvlazSWwAxCrlPOSCPy/taW680K | ||
| gA02sbAonkanLe44E3UE5puugWz8ImDp28gOGt1PWiCyNxtJcJ3j3OTw/L5jur8Q | ||
| OEZNhTrZ5j7WdZrzEFMiu6K7C2c0RL2Gz1TWd4MocGTe/vs+0ebbh6D1w9EGci8V | ||
| +FBIavrOc9ZmI03wGIHLnHD+QgxLeTvQOnFENr0k9ah320b8UHdpbbvr3pRf8an5 | ||
| Q8GdVahd5gTY1CbkZGeaIlY8OWUG7s9mvGGDEswSsLIah0UjTNDpzexw1ibr+LDZ | ||
| tSH7GPdtwSniix47ywtv/qzVa8erCpJQ6rucUThR7o4jn3BcZJm0ZDGzZhWhpxjt | ||
| cCoGKqzr1xk= | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,51 @@ | ||
| -----BEGIN RSA PRIVATE KEY----- | ||
| MIIJKQIBAAKCAgEAopc/qeMD7V4sQSeLjI71Na9gabTXC5dxDV5T/qoMZOGVInuM | ||
| UVEjWWYM/Pjsj+/rEqjcN+0N8sZHpY9sMkbqB97I9c0A/zdVskF8EGVe7vS/ytUI | ||
| UtKwONffD0/FEPNpIDUc++rSj5PPgJvn35ObhB7Q2MpXLx6iamD1gnyFfmrssnv6 | ||
| /f5esjV/n61YaskLd1zQD6t7Zghdkzjy6pFz/AfGqWdzq4r2D5ANnsTOWAH1qWyp | ||
| hv8Jbwf7vE+H8x7jySmwrxmHu/PDiqZMz28ZRTVjWBWY67hI7Z/p1otQkzoFFf7X | ||
| LNfNuyajcsG1YCaGXwbBHdb5aa+leLKLzPd1Xy1X0/h4MEG63xFzkrmlB7PQZHbz | ||
| VHdi1lI4tI6erUyb3RjsIT2EE8ED732iDIPZduDg5I1yOUKa7R8wEYVERyHv7V6H | ||
| bo2ydJu/oIMwJZ0oGlzK1T1xpEsg8t7wgcLKUY7n/+zG23dLOh49/ubm+ecC3QbN | ||
| 1z3pMc9pOceTwkWCi6vGf0Otd1TrraHAlK22dzkfQqFK2mKMegoQZXSWHPd5JAdS | ||
| y4qnXCJPxGJaStQGDii5SndFWiuduKlQpSE6WSgMdiBwncAFmdYsnlNMgY0wHL/u | ||
| fjWhsVdePVrEagNux6PdLdmolWawoHxtNh4UuwyByiyJU8gF7A6f/DoAH8cCAwEA | ||
| AQKCAgEAnMXqBQ14Q/CCC3DuBeHyXol0FXjhwbOMtq81nmCpArzg6Bbo/Z+WziSw | ||
| cVwz/bYAnEVl0icpQ+YcP29DjFcEYgJXE2tQgsYAQ5kQ315fY1lrdVBkbjfo42aD | ||
| Fmh8RBPwUbXk9KM/1GFZu1CZC+NwGLz984tm9XA8ewZytBcNQRAomxEgurgC5yLe | ||
| pECo+I5SGA3OMM3QdlmqoMJQuAz4IRP+Ymn2Bno/OFJWT7jEneeF0I+OBzTzC7RO | ||
| 7wxgsfQe/2DLlIqxbnFlItOnTHx7iVgpKk3o3aEb8MQ43T4Hu24+aS8Im5yaKtLe | ||
| 11Aga026UvZYT0VxyI4sp2zBkCkrackFA0GxprFK2QohopsW05iJVzqUCHyIEPyc | ||
| YRjtw2xpe4yqK2Kiiv9qgWLjoDrO6AjdJ5gcBfAmZokysqSZsfdVl63uCl6du54I | ||
| OQ4vIIVC7/VdrgiMUhCu5sDNbBq0K+MKZC93KSHrif8a/bCKnjpWbPoQXYAfkxXc | ||
| PdQe6DDivdKj2qRjUfZEmrT6jIz7lrVjHu8rpB3Z2rBxqBj0fMEiNGU2lrrZ/yX7 | ||
| UhoECfOYKMw5LDe0BltOkgjm4gizM2KJkAPthujAJuFw77bwF5IrEMxYl0biywd7 | ||
| +LUA6Ga2ckLieNbGJ406mBDg7mO3brHVK6Oa5R2GQpqgJBnOIAECggEBAMzZ4svY | ||
| 5NeVyu3IgSXsv2Ou/lNQM3Aa3C6Q0kvqK4W1K9mlzgD7UM8fbLVzacezM14OKuPp | ||
| 3DR227sKhOcnKF4B61q3SvGx9Vh5CXL6aX5Jmkbv0iiKwu+gY1pwbpiKRP/L9iAK | ||
| yfZBT7r4qE993W+5KRxSA6bTbdNgkxHd6IijiWsQ3b7dCs9mRlHMvAGGTouY4POV | ||
| oy6pik5vjIHytE3GRPFuQo94Q0yRkQm29Wfv0pKm9Bjc5ItjYKWr6njfRxQL6P2T | ||
| IkYRoYgYVAbDcRcHx/3PcPJt6xwdUV61HTkF5lnh16IZ4z2/f/emeUaLP1+hfuQS | ||
| 5lyDKTnVs7d5kgECggEBAMswE/RfWYh5PF8QOxs/yl+ia7ro9Vaubrp/rGAB8ny6 | ||
| pgI5ntwoYuBN95APxP9vNIn27Kcm8w9zvCgesgVJdjN73eWVo6vqF+UL9zIDDVpC | ||
| 2bILe30nEoB6JViqixxgwXARinTkalVMwoOHuabmowqJStfsjCBAoUCU98vLUgJP | ||
| 5SjyYHCyQfY++XijG+QgMtmw8x8hKEGJ+JqNqLZfAJtQMg4q0IjoA/71GfLASpla | ||
| mSqHsG4obURcQSr8Bww4Ntbbwa5+ai1G13fSsHxOq0Ve/ksDEWm6dYX+QWD5sY1j | ||
| TT0QUqWffZxoNZIPXpwTNljS0nVjPP+8lBf2l3utoccCggEANMGQZQswtEzBfEd8 | ||
| 6zVzfMqeePpYpPBl8CAf6KkgGEk2R9EpopsWjqD7MCfPAD0oZ3qilRuvOFu77wmg | ||
| fJ9bCAraf/xgcqpwEx7ozhGrhXiTIN22c/Z4iZn2vF3kPaiuaGowssPUi3T6gZ50 | ||
| SjSSCKnY6pA8nIQq7psahSlvL3FefJJVaUgn9o3SYlKlwIbER7NRi6nn4qaLFfQo | ||
| bXcB9F2xd7P7tFM2kcuTXLsfrGrZAie5CYYp3bP0OfZyZjqqZYFDubpgw0bbIN+T | ||
| FELVJyc73CPGZMjmGdF7GTbvlbXtQwykqfycx1RAMplO9ln6Mji3Iymy5fRpc5mT | ||
| tRa8AQKCAQEAyajJ5TvNDJnmxSLCxuSk4g29hiA3fvRYiVi1qAPGuuw0Xvj5JeAf | ||
| Yid/kMdV6X5hUpxze+I4Uhm3oMn2PTEP00EYlgfSDYmkdXtOt6A33GGE1iR3R1tE | ||
| Dacs8bcxodSVp7iBBkq9DjPEye4m3/L/1jE0yuDGoiwC3qn61ZTRq+HHur/z32XL | ||
| +a2+w3B++gbK8Suh4D90SLe6uQnnbDkVzQ/m3hC4L2i2rpBsVHVslI9KfN92x53v | ||
| 9GzrcNH53LLeGpi4vYpRruYka5P7/SPG8G67S4+b9KdOhNI36RtokL8BpZ1RqXeF | ||
| n3n90RzX9WdMBRQYNNFtdROgl7fx2JoXeQKCAQAuwhhzlDBTm7x3J8OGkPVYHCFE | ||
| rrkSooAbQUH7EK3Ns5ZeDrDNQ/193zELtCBnJ2PSlpcNIry9jI0NkdBniBzvQ8Kn | ||
| CkSmw73HRVfg+BIP5CPj2L8jDdbiZlu4Y7cn1u5Q5uz/A8Q8/7VxwaC/hCzFJ3GP | ||
| kSbpvlAxpoQ5QofK0EW/c/5EXYG1soITKvv6+Z4b/yZg91bPFSVTRFdHLVHSs2Q7 | ||
| cz+QquxFfkS2jhouXtgxQNA5fy45EHjZgnUf3nFWx8eohAEZd4a+KkDmFW3foDS6 | ||
| Yo3ydTc1R68U0ssdwbLW28OJuXIfUHWMavLY1OOJ5OBYWL1ML9uuJFmCy8/H | ||
| -----END RSA PRIVATE KEY----- |
| @@ -0,0 +1,26 @@ | ||
| main_collective = mcollective | ||
| collectives = mcollective | ||
| libdir = /opt/puppetlabs/mcollective/plugins | ||
| logfile = /var/log/puppetlabs/mcollective.log | ||
| loglevel = info | ||
| daemonize = 1 | ||
| securityprovider = ssl | ||
| plugin.ssl_server_private = /etc/puppetlabs/mcollective/server.key | ||
| plugin.ssl_server_public = /etc/puppetlabs/mcollective/server.crt | ||
| plugin.ssl_client_cert_dir = /etc/puppetlabs/mcollective/ssl-clients/ | ||
| connector = activemq | ||
| plugin.activemq.pool.size = 1 | ||
| plugin.activemq.pool.1.host = localhost | ||
| plugin.activemq.pool.1.port = 61613 | ||
| plugin.activemq.pool.1.user = mcollective | ||
| plugin.activemq.pool.1.password = marionette | ||
| plugin.activemq.pool.1.ssl = true | ||
| plugin.activemq.pool.1.ssl.ca = /etc/puppetlabs/mcollective/ca_crt.pem | ||
| plugin.activemq.pool.1.ssl.cert = /etc/puppetlabs/mcollective/server.crt | ||
| plugin.activemq.pool.1.ssl.key = /etc/puppetlabs/mcollective/server.key | ||
| # Facts | ||
| factsource = yaml | ||
| plugin.yaml = /etc/puppetlabs/mcollective/facts.yaml |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFdDCCA1ygAwIBAgIBBTANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjEyMTgzNVoXDTIwMDMwMTEyMTgz | ||
| NVowHTEbMBkGA1UEAwwSbWNvbGxlY3RpdmUtc2VydmVyMIICIjANBgkqhkiG9w0B | ||
| AQEFAAOCAg8AMIICCgKCAgEAmb8vabpZIw3WHUXqV6HkOjmKXz5IgjhXBg5/XA6A | ||
| TGrvFlo5mj6W2JpE7CxI+DhHYZ4+Z5NLkzIAYoSXuV/0umuPpXOAH5ma5JYudzKd | ||
| 5RV7RiffSj5LfzBnGZwn3dVVhaZiR6vUM4cmP8CqUqfoxvpweh9nGDbkEKoHdC4p | ||
| ENerwvuheAnPGflonDZFxaWEqXn5oXxSiuf88XZ0tgn1mMBn/JF0rXtCKYFfOAr7 | ||
| Evw1eUak+4wEHym26q+BCogKpeW+lT0C/v/TH5XG63ycyhmqiWjTI2vPab6BC7t2 | ||
| Bmgd5Grcr7cofvt4QYwIsIwL6ZZWahyLynHMBs85AAm1bfPdnMeia5WP+J98euAJ | ||
| 7MK8TuX4sEjHt/yAiXT75aD0rsViP9BkKstBudMALokywnMHLa0/KdJCwXP5JH/Z | ||
| D8v4LJvpfGxDodC+tyUCsr82Wn67AAculvMZDjY6SD9LtaNrtiNZeNj2PXYBYWWs | ||
| CQ4aR2LzelDPDZ3TUu0BqMjNQ07zz/Daol6DASuF1TLUv6YW2tLZ5nggt1rkARx6 | ||
| m2BTEpa1Jl6j8KkE2l+7KR6EaUCwz3bqlvAweqY/8mnHrwhXkeeQ6Bta53o5YjXD | ||
| WFXTmZD/iSlT8hbnWmoww/EgRjsQyXZ9dS3OelsAPYBTKTwXsKIGdVgj4t8Xd9CK | ||
| gicCAwEAAaOBujCBtzA1BglghkgBhvhCAQ0EKFB1cHBldCBSdWJ5L09wZW5TU0wg | ||
| SW50ZXJuYWwgQ2VydGlmaWNhdGUwDgYDVR0PAQH/BAQDAgWgMCAGA1UdJQEB/wQW | ||
| MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRm | ||
| iqXTvKMtefbQHDRT3F9MVe9xtjAfBgNVHSMEGDAWgBRqr/VzStqL/9HXVt6Qy5P7 | ||
| nhV46zANBgkqhkiG9w0BAQsFAAOCAgEAWSNWAshqJtEeV1vfdlU581ppNmodUs7Q | ||
| 6Ypdx0eot6S9lvTl69GFYonuOvwf8U6chs5Hp051oMB8M1PWzD7CZHj+wMwRKqvG | ||
| PWymZUsZQHFpb01tnABLL62fyqxEnaVPqUyRwNQMsXoD6OiW495kY+o17i2k6oYF | ||
| pE2ofyREQd40i3wGk7u0MlpWvSfdpcUgzVTTlruOuHh+E2HTf53PH3AuFDgqd8Ee | ||
| +2JCO2hcAT7JXfmlxzE6XtbalnaorBnJD09vRR/MshppN6l/11+yMDg3CpfkARBJ | ||
| OqSVLd8PD3BZm4jUWd3w7tBMs1WUYrtMtUKVGc2Ct4QyxCpi1bKKZRcrnROo3lLH | ||
| ZZGEYo+19KpCff/kOoBiyqkim8SN9cdy5nzEllGsIj+72mJuqRhkh58tlrTBUDl1 | ||
| 8Sc1rRLZ+T6k2A/UWybkPMVFw+e1DFOtK8QvjwXPiZyNTDmf05uesgp8sJ81iebv | ||
| 1llZu24x5gVobMHEeXGmKGGs6vquwTrs0/mAy4ujHhkEXZPRkrdv1uBt0sG969/5 | ||
| 0Bnk+Lq0xxGDbgTt+8TOpV++cE3dU6K3Fb7JCJT8S6dzd/78+T+m13maW6WKdiZc | ||
| QAzFNkiw4D0qvdCoL8bu45P58tPFGdJtRbIQ83Ik1Ie6M8nXxCcq0qIttw83Od+H | ||
| qDxqCwAZL8E= | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,51 @@ | ||
| -----BEGIN RSA PRIVATE KEY----- | ||
| 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 | ||
| -----END RSA PRIVATE KEY----- |
| @@ -0,0 +1,24 @@ | ||
| main_collective = mcollective | ||
| collectives = mcollective | ||
| libdir = C:\ProgramData\PuppetLabs\mcollective\etc\plugins | ||
| logger_type = console | ||
| loglevel = warn | ||
| # Plugins | ||
| securityprovider = ssl | ||
| plugin.ssl_server_public = C:\ProgramData\PuppetLabs\mcollective\etc\server.crt | ||
| plugin.ssl_client_private = C:\ProgramData\PuppetLabs\mcollective\etc\client.key | ||
| plugin.ssl_client_public = C:\ProgramData\PuppetLabs\mcollective\etc\client.pem | ||
| connector = activemq | ||
| plugin.activemq.pool.size = 1 | ||
| plugin.activemq.pool.1.host = localhost | ||
| plugin.activemq.pool.1.port = 61613 | ||
| plugin.activemq.pool.1.user = mcollective | ||
| plugin.activemq.pool.1.password = marionette | ||
| plugin.activemq.pool.1.ssl = true | ||
| plugin.activemq.pool.1.ssl.ca = C:\ProgramData\PuppetLabs\mcollective\etc\ca_crt.pem | ||
| plugin.activemq.pool.1.ssl.cert = C:\ProgramData\PuppetLabs\mcollective\etc\client.crt | ||
| plugin.activemq.pool.1.ssl.key = C:\ProgramData\PuppetLabs\mcollective\etc\client.key | ||
| connection_timeout = 3 |
| @@ -0,0 +1,26 @@ | ||
| main_collective = mcollective | ||
| collectives = mcollective | ||
| libdir = C:\ProgramData\PuppetLabs\mcollective\etc\plugins | ||
| logfile = C:\ProgramData\PuppetLabs\mcollective\var\log\mcollective.log | ||
| loglevel = info | ||
| daemonize = 1 | ||
| securityprovider = ssl | ||
| plugin.ssl_server_private = C:\ProgramData\PuppetLabs\mcollective\etc\server.key | ||
| plugin.ssl_server_public = C:\ProgramData\PuppetLabs\mcollective\etc\server.crt | ||
| plugin.ssl_client_cert_dir = C:\ProgramData\PuppetLabs\mcollective\etc\ssl-clients\ | ||
| connector = activemq | ||
| plugin.activemq.pool.size = 1 | ||
| plugin.activemq.pool.1.host = localhost | ||
| plugin.activemq.pool.1.port = 61613 | ||
| plugin.activemq.pool.1.user = mcollective | ||
| plugin.activemq.pool.1.password = marionette | ||
| plugin.activemq.pool.1.ssl = true | ||
| plugin.activemq.pool.1.ssl.ca = C:\ProgramData\PuppetLabs\mcollective\etc\ca_crt.pem | ||
| plugin.activemq.pool.1.ssl.cert = C:\ProgramData\PuppetLabs\mcollective\etc\server.crt | ||
| plugin.activemq.pool.1.ssl.key = C:\ProgramData\PuppetLabs\mcollective\etc\server.key | ||
| # Facts | ||
| factsource = yaml | ||
| plugin.yaml = C:\ProgramData\PuppetLabs\mcollective\etc\facts.yaml |
| @@ -0,0 +1,8 @@ | ||
| require 'fileutils' | ||
| dir = File.expand_path(File.dirname(__FILE__)) | ||
| $LOAD_PATH.unshift dir | ||
| RSpec.configure do |config| | ||
| config.mock_with :mocha | ||
| end |
| @@ -0,0 +1 @@ | ||
| $LOAD_PATH << File.expand_path(File.dirname(__FILE__)) |
| @@ -0,0 +1,144 @@ | ||
| module Puppet | ||
| module Acceptance | ||
| module CronUtils | ||
| def clean(agent, o={}) | ||
| o = {:user => 'tstuser'}.merge(o) | ||
| run_cron_on(agent, :remove, o[:user]) | ||
| apply_manifest_on(agent, %[user { '%s': ensure => absent, managehome => false }] % o[:user]) | ||
| end | ||
| def setup(agent, o={}) | ||
| o = {:user => 'tstuser'}.merge(o) | ||
| apply_manifest_on(agent, %[user { '%s': ensure => present, managehome => false }] % o[:user]) | ||
| apply_manifest_on(agent, %[case $operatingsystem { | ||
| centos, redhat: {$cron = 'cronie'} | ||
| solaris: { $cron = 'core-os' } | ||
| default: {$cron ='cron'} } | ||
| package {'cron': name=> $cron, ensure=>present, }]) | ||
| end | ||
| end | ||
| module CAUtils | ||
| def initialize_ssl | ||
| hostname = on(master, 'facter hostname').stdout.strip | ||
| fqdn = on(master, 'facter fqdn').stdout.strip | ||
| if master.use_service_scripts? | ||
| step "Ensure puppet is stopped" | ||
| # Passenger, in particular, must be shutdown for the cert setup steps to work, | ||
| # but any running puppet master will interfere with webrick starting up and | ||
| # potentially ignore the puppet.conf changes. | ||
| on(master, puppet('resource', 'service', master['puppetservice'], "ensure=stopped")) | ||
| end | ||
| step "Clear SSL on all hosts" | ||
| hosts.each do |host| | ||
| ssldir = on(host, puppet('agent --configprint ssldir')).stdout.chomp | ||
| on(host, "rm -rf '#{ssldir}'") | ||
| end | ||
| step "Master: Start Puppet Master" do | ||
| master_opts = { | ||
| :main => { | ||
| :dns_alt_names => "puppet,#{hostname},#{fqdn}", | ||
| }, | ||
| :__service_args__ => { | ||
| # apache2 service scripts can't restart if we've removed the ssl dir | ||
| :bypass_service_script => true, | ||
| }, | ||
| } | ||
| with_puppet_running_on(master, master_opts) do | ||
| hosts.each do |host| | ||
| next if host['roles'].include? 'master' | ||
| step "Agents: Run agent --test first time to gen CSR" | ||
| on host, puppet("agent --test --server #{master}"), :acceptable_exit_codes => [1] | ||
| end | ||
| # Sign all waiting certs | ||
| step "Master: sign all certs" | ||
| on master, puppet("cert --sign --all"), :acceptable_exit_codes => [0,24] | ||
| step "Agents: Run agent --test second time to obtain signed cert" | ||
| on agents, puppet("agent --test --server #{master}"), :acceptable_exit_codes => [0,2] | ||
| end | ||
| end | ||
| end | ||
| def clean_cert(host, cn, check = true) | ||
| if host == master && master[:is_puppetserver] | ||
| on master, puppet_resource("service", master['puppetservice'], "ensure=stopped") | ||
| end | ||
| on(host, puppet('cert', 'clean', cn), :acceptable_exit_codes => check ? [0] : [0, 24]) | ||
| if check | ||
| assert_match(/remov.*Certificate.*#{cn}/i, stdout, "Should see a log message that certificate request was removed.") | ||
| on(host, puppet('cert', 'list', '--all')) | ||
| assert_no_match(/#{cn}/, stdout, "Should not see certificate in list anymore.") | ||
| end | ||
| end | ||
| def clear_agent_ssl | ||
| return if master.is_pe? | ||
| step "All: Clear agent only ssl settings (do not clear master)" | ||
| hosts.each do |host| | ||
| next if host == master | ||
| ssldir = on(host, puppet('agent --configprint ssldir')).stdout.chomp | ||
| on( host, host_command("rm -rf '#{ssldir}'") ) | ||
| end | ||
| end | ||
| def reset_agent_ssl(resign = true) | ||
| return if master.is_pe? | ||
| clear_agent_ssl | ||
| hostname = master.execute('facter hostname') | ||
| fqdn = master.execute('facter fqdn') | ||
| step "Clear old agent certificates from master" do | ||
| agents.each do |agent| | ||
| next if agent == master && agent.is_using_passenger? | ||
| agent_cn = on(agent, puppet('agent --configprint certname')).stdout.chomp | ||
| clean_cert(master, agent_cn, false) if agent_cn | ||
| end | ||
| end | ||
| if resign | ||
| step "Master: Ensure the master is listening and autosigning" | ||
| with_puppet_running_on(master, | ||
| :master => { | ||
| :dns_alt_names => "puppet,#{hostname},#{fqdn}", | ||
| :autosign => true, | ||
| } | ||
| ) do | ||
| agents.each do |agent| | ||
| next if agent == master && agent.is_using_passenger? | ||
| step "Agents: Run agent --test once to obtain auto-signed cert" do | ||
| on agent, puppet('agent', "--test --server #{master}"), :acceptable_exit_codes => [0,2] | ||
| end | ||
| end | ||
| end | ||
| end | ||
| end | ||
| end | ||
| module CommandUtils | ||
| def ruby_command(host) | ||
| "env PATH=\"#{host['privatebindir']}:${PATH}\" ruby" | ||
| end | ||
| module_function :ruby_command | ||
| def gem_command(host) | ||
| if host['platform'] =~ /windows/ | ||
| "env PATH=\"#{host['privatebindir']}:${PATH}\" cmd /c gem" | ||
| else | ||
| "env PATH=\"#{host['privatebindir']}:${PATH}\" gem" | ||
| end | ||
| end | ||
| module_function :gem_command | ||
| end | ||
| end | ||
| end |
| @@ -0,0 +1,19 @@ | ||
| module Puppet | ||
| module Acceptance | ||
| module GitUtils | ||
| def lookup_in_env(env_variable_name, project_name, default) | ||
| project_specific_name = "#{project_name.upcase.gsub("-","_")}_#{env_variable_name}" | ||
| ENV[project_specific_name] || ENV[env_variable_name] || default | ||
| end | ||
| def build_giturl(project_name, git_fork = nil, git_server = nil) | ||
| git_fork ||= lookup_in_env('FORK', project_name, 'puppetlabs') | ||
| git_server ||= lookup_in_env('GIT_SERVER', project_name, 'github.com') | ||
| repo = (git_server == 'github.com') ? | ||
| "#{git_fork}/#{project_name}.git" : | ||
| "#{git_fork}-#{project_name}.git" | ||
| "git://#{git_server}/#{repo}" | ||
| end | ||
| end | ||
| end | ||
| end |
| @@ -0,0 +1,195 @@ | ||
| require 'open-uri' | ||
| require 'open3' | ||
| require 'uri' | ||
| require 'puppet/acceptance/common_utils' | ||
| module Puppet | ||
| module Acceptance | ||
| module InstallUtils | ||
| PLATFORM_PATTERNS = { | ||
| :redhat => /fedora|el|centos/, | ||
| :debian => /debian|ubuntu/, | ||
| :debian_ruby18 => /debian|ubuntu-lucid|ubuntu-precise/, | ||
| :solaris_10 => /solaris-10/, | ||
| :solaris_11 => /solaris-11/, | ||
| :windows => /windows/, | ||
| }.freeze | ||
| # Installs packages on the hosts. | ||
| # | ||
| # @param hosts [Array<Host>] Array of hosts to install packages to. | ||
| # @param package_hash [Hash{Symbol=>Array<String,Array<String,String>>}] | ||
| # Keys should be a symbol for a platform in PLATFORM_PATTERNS. Values | ||
| # should be an array of package names to install, or of two element | ||
| # arrays where a[0] is the command we expect to find on the platform | ||
| # and a[1] is the package name (when they are different). | ||
| # @param options [Hash{Symbol=>Boolean}] | ||
| # @option options [Boolean] :check_if_exists First check to see if | ||
| # command is present before installing package. (Default false) | ||
| # @return true | ||
| def install_packages_on(hosts, package_hash, options = {}) | ||
| check_if_exists = options[:check_if_exists] | ||
| hosts = [hosts] unless hosts.kind_of?(Array) | ||
| hosts.each do |host| | ||
| package_hash.each do |platform_key,package_list| | ||
| if pattern = PLATFORM_PATTERNS[platform_key] | ||
| if pattern.match(host['platform']) | ||
| package_list.each do |cmd_pkg| | ||
| if cmd_pkg.kind_of?(Array) | ||
| command, package = cmd_pkg | ||
| else | ||
| command = package = cmd_pkg | ||
| end | ||
| if !check_if_exists || !host.check_for_package(command) | ||
| host.logger.notify("Installing #{package}") | ||
| additional_switches = '--allow-unauthenticated' if platform_key == :debian | ||
| host.install_package(package, additional_switches) | ||
| end | ||
| end | ||
| end | ||
| else | ||
| raise("Unknown platform '#{platform_key}' in package_hash") | ||
| end | ||
| end | ||
| end | ||
| return true | ||
| end | ||
| def fetch(base_url, file_name, dst_dir) | ||
| FileUtils.makedirs(dst_dir) | ||
| src = "#{base_url}/#{file_name}" | ||
| dst = File.join(dst_dir, file_name) | ||
| if File.exists?(dst) | ||
| logger.notify "Already fetched #{dst}" | ||
| else | ||
| logger.notify "Fetching: #{src}" | ||
| logger.notify " and saving to #{dst}" | ||
| open(src) do |remote| | ||
| File.open(dst, "w") do |file| | ||
| FileUtils.copy_stream(remote, file) | ||
| end | ||
| end | ||
| end | ||
| return dst | ||
| end | ||
| def fetch_remote_dir(url, dst_dir) | ||
| logger.notify "fetch_remote_dir (url: #{url}, dst_dir #{dst_dir})" | ||
| if url[-1, 1] !~ /\// | ||
| url += '/' | ||
| end | ||
| url = URI.parse(url) | ||
| chunks = url.path.split('/') | ||
| dst = File.join(dst_dir, chunks.last) | ||
| #determine directory structure to cut | ||
| #only want to keep the last directory, thus cut total number of dirs - 2 (hostname + last dir name) | ||
| cut = chunks.length - 2 | ||
| wget_command = "wget -nv -P #{dst_dir} --reject \"index.html*\",\"*.gif\" --cut-dirs=#{cut} -np -nH --no-check-certificate -r #{url}" | ||
| logger.notify "Fetching remote directory: #{url}" | ||
| logger.notify " and saving to #{dst}" | ||
| logger.notify " using command: #{wget_command}" | ||
| #in ruby 1.9+ we can upgrade this to popen3 to gain access to the subprocess pid | ||
| result = `#{wget_command} 2>&1` | ||
| result.each_line do |line| | ||
| logger.debug(line) | ||
| end | ||
| if $?.to_i != 0 | ||
| raise "Failed to fetch_remote_dir '#{url}' (exit code #{$?}" | ||
| end | ||
| dst | ||
| end | ||
| def stop_firewall_on(host) | ||
| case host['platform'] | ||
| when /debian/ | ||
| on host, 'iptables -F' | ||
| when /fedora|el-7/ | ||
| on host, puppet('resource', 'service', 'firewalld', 'ensure=stopped') | ||
| when /el|centos/ | ||
| on host, puppet('resource', 'service', 'iptables', 'ensure=stopped') | ||
| when /ubuntu/ | ||
| on host, puppet('resource', 'service', 'ufw', 'ensure=stopped') | ||
| else | ||
| logger.notify("Not sure how to clear firewall on #{host['platform']}") | ||
| end | ||
| end | ||
| def install_repos_on(host, project, sha, repo_configs_dir) | ||
| platform = host['platform'].with_version_codename | ||
| platform_configs_dir = File.join(repo_configs_dir,platform) | ||
| tld = sha == 'nightly' ? 'nightlies.puppetlabs.com' : 'builds.puppetlabs.lan' | ||
| project = sha == 'nightly' ? project + '-latest' : project | ||
| sha = sha == 'nightly' ? nil : sha | ||
| case platform | ||
| when /^(fedora|el|centos)-(\d+)-(.+)$/ | ||
| variant = (($1 == 'centos') ? 'el' : $1) | ||
| fedora_prefix = ((variant == 'fedora') ? 'f' : '') | ||
| version = $2 | ||
| arch = $3 | ||
| repo_filename = "pl-%s%s-%s-%s%s-%s.repo" % [ | ||
| project, | ||
| sha ? '-' + sha : '', | ||
| variant, | ||
| fedora_prefix, | ||
| version, | ||
| arch | ||
| ] | ||
| repo_url = "http://%s/%s/%s/repo_configs/rpm/%s" % [tld, project, sha, repo_filename] | ||
| on host, "curl -o /etc/yum.repos.d/#{repo_filename} #{repo_url}" | ||
| when /^(debian|ubuntu)-([^-]+)-(.+)$/ | ||
| variant = $1 | ||
| version = $2 | ||
| arch = $3 | ||
| list_filename = "pl-%s%s-%s.list" % [ | ||
| project, | ||
| sha ? '-' + sha : '', | ||
| version | ||
| ] | ||
| list_url = "http://%s/%s/%s/repo_configs/deb/%s" % [tld, project, sha, list_filename] | ||
| on host, "curl -o /etc/apt/sources.list.d/#{list_filename} #{list_url}" | ||
| on host, "apt-get update" | ||
| else | ||
| host.logger.notify("No repository installation step for #{platform} yet...") | ||
| end | ||
| end | ||
| # Configures gem sources on hosts to use a mirror, if specified | ||
| # This is a duplicate of the Gemfile logic. | ||
| def configure_gem_mirror(hosts) | ||
| hosts = [hosts] unless hosts.kind_of?(Array) | ||
| gem_source = ENV['GEM_SOURCE'] || 'https://rubygems.org' | ||
| hosts.each do |host| | ||
| gem = Puppet::Acceptance::CommandUtils.gem_command(host) | ||
| on host, "#{gem} source --clear-all" | ||
| on host, "#{gem} source --add #{gem_source}" | ||
| end | ||
| end | ||
| def install_puppet_from_msi( host, opts ) | ||
| if not link_exists?(opts[:url]) | ||
| raise "Puppet does not exist at #{opts[:url]}!" | ||
| end | ||
| # `start /w` blocks until installation is complete, but needs to be wrapped in `cmd.exe /c` | ||
| on host, "cmd.exe /c start /w msiexec /qn /i #{opts[:url]} /L*V C:\\\\Windows\\\\Temp\\\\Puppet-Install.log" | ||
| # make sure the background service isn't running while the test executes | ||
| on host, "net stop puppet" | ||
| # make sure install is sane, beaker has already added puppet and ruby | ||
| # to PATH in ~/.ssh/environment | ||
| on host, puppet('--version') | ||
| ruby = Puppet::Acceptance::CommandUtils.ruby_command(host) | ||
| on host, "#{ruby} --version" | ||
| end | ||
| end | ||
| end | ||
| end |
| @@ -0,0 +1,79 @@ | ||
| require 'puppet/acceptance/install_utils' | ||
| extend Puppet::Acceptance::InstallUtils | ||
| test_name "Install Packages" | ||
| step "Install repositories on target machines..." do | ||
| sha = ENV['SHA'] | ||
| repo_configs_dir = 'repo-configs' | ||
| hosts.each do |host| | ||
| install_repos_on(host, 'puppet-agent', sha, repo_configs_dir) | ||
| end | ||
| if master['passenger'] | ||
| passenger_version = ENV['PASSENGER_VERSION'] || '3518347c3480172fcef41406cad31b7ed34cd14f' | ||
| install_repos_on(master, 'puppet-master-passenger', passenger_version, repo_configs_dir) | ||
| else | ||
| server_version = ENV['SERVER_VERSION'] || 'nightly' | ||
| install_repos_on(master, 'puppetserver', server_version, repo_configs_dir) | ||
| end | ||
| end | ||
| if master['passenger'] | ||
| MASTER_PACKAGES = { | ||
| :redhat => [ | ||
| 'puppet-master-passenger', | ||
| ], | ||
| :debian => [ | ||
| 'puppet-master-passenger', | ||
| ], | ||
| } | ||
| else | ||
| MASTER_PACKAGES = { | ||
| :redhat => [ | ||
| 'puppetserver', | ||
| ], | ||
| :debian => [ | ||
| 'puppetserver', | ||
| ], | ||
| # :solaris => [ | ||
| # 'puppet-server', | ||
| # ], | ||
| # :windows => [ | ||
| # 'puppet-server', | ||
| # ], | ||
| } | ||
| end | ||
| AGENT_PACKAGES = { | ||
| :redhat => [ | ||
| 'puppet-agent', | ||
| ], | ||
| :debian => [ | ||
| 'puppet-agent', | ||
| ], | ||
| # :solaris => [ | ||
| # 'puppet', | ||
| # ], | ||
| # :windows => [ | ||
| # 'puppet', | ||
| # ], | ||
| } | ||
| install_packages_on(master, MASTER_PACKAGES) | ||
| install_packages_on(agents, AGENT_PACKAGES) | ||
| agents.each do |agent| | ||
| if agent['platform'] =~ /windows/ | ||
| arch = agent[:ruby_arch] || 'x86' | ||
| base_url = ENV['MSI_BASE_URL'] || "http://builds.puppetlabs.lan/puppet-agent/#{ENV['SHA']}/artifacts/windows" | ||
| filename = ENV['MSI_FILENAME'] || "puppet-agent-#{arch}.msi" | ||
| install_puppet_from_msi(agent, :url => "#{base_url}/#{filename}") | ||
| end | ||
| end | ||
| configure_gem_mirror(hosts) |
| @@ -0,0 +1 @@ | ||
| master['use-service'] = true |
| @@ -0,0 +1,3 @@ | ||
| if master.graceful_restarts? | ||
| on(master, puppet('resource', 'service', master['puppetservice'], "ensure=running")) | ||
| end |
| @@ -0,0 +1,133 @@ | ||
| test_name 'install activemq' do | ||
| amq_version = '5.11.1' | ||
| # install activemq, copy config and trust/keystore | ||
| if agent.platform =~ /el-|centos/ then | ||
| install_package agent, 'java-1.7.0-openjdk' | ||
| curl_on(agent, "-O http://apache.osuosl.org/activemq/#{amq_version}/apache-activemq-#{amq_version}-bin.tar.gz") | ||
| on(agent, "cd /opt && tar xzf /root/apache-activemq-#{amq_version}-bin.tar.gz") | ||
| activemq_confdir = "/opt/apache-activemq-#{amq_version}/conf" | ||
| elsif agent.platform =~/ubuntu|debian/ then | ||
| install_package agent, 'openjdk-7-jdk' | ||
| curl_on(agent, "-O http://apache.osuosl.org/activemq/#{amq_version}/apache-activemq-#{amq_version}-bin.tar.gz") | ||
| on(agent, "cd /opt && tar xzf /root/apache-activemq-#{amq_version}-bin.tar.gz") | ||
| activemq_confdir = "/opt/apache-activemq-#{amq_version}/conf" | ||
| elsif agent.platform =~/windows/ then | ||
| step "Windows - Install Oracle JDK" | ||
| oracle_base_url = 'https://download.oracle.com/otn-pub/java/jdk' | ||
| jdk_version_full = '8u45-b14' | ||
| jdk_version, jdk_build = jdk_version_full.split('-') | ||
| if agent[:ruby_arch] == 'x64' then | ||
| jdk_arch = 'x64' | ||
| else | ||
| jdk_arch = 'i586' | ||
| end | ||
| if agent.platform =~ /2003/ then | ||
| fail_test "Sorry, this test pre-suite does not yet support Windows 2003" | ||
| admin_dir = 'Documents\ and\ Settings/Administrator' | ||
| else | ||
| admin_dir = 'Users/Administrator' | ||
| end | ||
| jdk_exe = "jdk-#{jdk_version}-windows-#{jdk_arch}.exe" | ||
| curl_on(agent, "-k -L -O -H 'Cookie: oraclelicense=accept-securebackup-cookie' '#{oracle_base_url}/#{jdk_version_full}/#{jdk_exe}'") | ||
| on(agent, "mv #{jdk_exe} /cygdrive/c/#{admin_dir}/") | ||
| manifest = <<EOS | ||
| file { 'C:/#{admin_dir}/#{jdk_exe}': | ||
| mode => '0777', | ||
| } | ||
| -> | ||
| package {'java': | ||
| ensure => installed, | ||
| source => 'C:/#{admin_dir}/#{jdk_exe}', | ||
| install_options => ['INSTALLDIR=C:\\java', 'STATIC=1', '/s'], | ||
| } | ||
| EOS | ||
| apply_manifest_on(agent, manifest) | ||
| step "Windows - Add JAVA_HOME environmental variable" | ||
| agent.add_env_var('JAVA_HOME','C:\java') | ||
| step "Windows - Add java/bin to PATH environmental variable" | ||
| agent.add_env_var('PATH', 'C:\java\bin') | ||
| step "Windows - Install activemq" | ||
| file_path = agent.tmpfile('activemq.zip') | ||
| curl_on(agent, "-o #{file_path}.zip http://apache.osuosl.org/activemq/#{amq_version}/apache-activemq-#{amq_version}-bin.zip") | ||
| on(agent, puppet("module install reidmv-unzip")) | ||
| manifest = <<EOS | ||
| unzip { "activemq": | ||
| source => '#{file_path}.zip', | ||
| creates => 'C:/apache-activemq-#{amq_version}', | ||
| } | ||
| EOS | ||
| apply_manifest_on(agent, manifest) | ||
| step "Windows - Add ACTIVEMQ_HOME environmental variable" | ||
| agent.add_env_var('ACTIVEMQ_HOME',"C:\\apache-activemq-#{amq_version}") | ||
| activemq_confdir = "C:/apache-activemq-#{amq_version}/conf" | ||
| # ///END Windows install | ||
| else | ||
| install_package agent, 'activemq' | ||
| activemq_confdir = "/etc/activemq" | ||
| end | ||
| step "Setup activemq config files" | ||
| unless agent.platform =~/windows/ then | ||
| mco_confdir = "/etc/puppetlabs/mcollective" | ||
| else | ||
| mco_confdir = "C:/ProgramData/PuppetLabs/mcollective/etc" | ||
| end | ||
| scp_to agent, 'files/activemq.xml', "#{activemq_confdir}/activemq.xml" | ||
| scp_to agent, 'files/activemq.truststore', "#{activemq_confdir}/activemq.truststore" | ||
| scp_to agent, 'files/activemq.keystore', "#{activemq_confdir}/activemq.keystore" | ||
| step "Start activemq" | ||
| if agent.platform =~ /el-|centos|ubuntu|debian/ then | ||
| on agent, "cd /opt/apache-activemq-#{amq_version} && ./bin/activemq start" | ||
| elsif agent.platform =~/windows/ then | ||
| if agent[:ruby_arch] == 'x64' then | ||
| amq_arch = 'win64' | ||
| else | ||
| amq_arch = 'win32' | ||
| end | ||
| on agent, "C:/apache-activemq-#{amq_version}/bin/#{amq_arch}/InstallService.bat" | ||
| on agent, puppet('resource service activemq ensure=running') | ||
| else | ||
| on agent, 'service activemq start' | ||
| end | ||
| unless port_open_within?(agent, 61613, 300 ) | ||
| raise Beaker::DSL::FailTest, 'Timed out trying to access ActiveMQ' | ||
| end | ||
| step "Setup mcollective config files" | ||
| unless agent.platform =~/windows/ then | ||
| scp_to agent, 'files/server.cfg', "#{mco_confdir}/server.cfg" | ||
| scp_to agent, 'files/client.cfg', "#{mco_confdir}/client.cfg" | ||
| else | ||
| scp_to agent, 'files/windows-server.cfg', "#{mco_confdir}/server.cfg" | ||
| scp_to agent, 'files/windows-client.cfg', "#{mco_confdir}/client.cfg" | ||
| end | ||
| scp_to agent, 'files/ca_crt.pem', "#{mco_confdir}/ca_crt.pem" | ||
| scp_to agent, 'files/server.crt', "#{mco_confdir}/server.crt" | ||
| scp_to agent, 'files/server.key', "#{mco_confdir}/server.key" | ||
| scp_to agent, 'files/client.crt', "#{mco_confdir}/client.crt" | ||
| scp_to agent, 'files/client.key', "#{mco_confdir}/client.key" | ||
| on agent, "mkdir #{mco_confdir}/ssl-clients" | ||
| scp_to agent, 'files/client.crt', "#{mco_confdir}/ssl-clients/client.pem" | ||
| step "Start mcollective service" | ||
| unless agent.platform =~/windows/ then | ||
| on agent, 'service mcollective restart' | ||
| else | ||
| on agent, puppet('resource service mcollective ensure=running') | ||
| end | ||
| unless port_open_within?(agent, 61613, 300 ) | ||
| raise Beaker::DSL::FailTest, 'Timed out trying to access ActiveMQ' | ||
| end | ||
| end |
| @@ -0,0 +1,26 @@ | ||
| test_name 'install puppet-agent plugin' do | ||
| if agent.platform =~ /windows/ then | ||
| mco_libdir = 'C:/ProgramData/PuppetLabs/mcollective/etc/plugins/mcollective' | ||
| else | ||
| mco_libdir = '/opt/puppetlabs/mcollective/plugins/mcollective' | ||
| git_pkg = 'git' | ||
| if agent.platform =~ /ubuntu-10/ | ||
| git_pkg = 'git-core' | ||
| end | ||
| install_package(agent, git_pkg) | ||
| end | ||
| on agent, "mkdir -p #{mco_libdir}" | ||
| on agent, "git clone https://github.com/puppetlabs/mcollective-puppet-agent.git" | ||
| on agent, "cd mcollective-puppet-agent && for i in agent aggregate application data util validator ; do cp -a $i #{mco_libdir} ; done" | ||
| unless agent.platform =~/windows/ then | ||
| on agent, 'service mcollective restart' | ||
| else | ||
| on agent, puppet('resource service mcollective ensure=stopped') | ||
| on agent, puppet('resource service mcollective ensure=running') | ||
| end | ||
| unless port_open_within?(agent, 61613, 300 ) | ||
| raise Beaker::DSL::FailTest, 'Timed out trying to access ActiveMQ' | ||
| end | ||
| end |
| @@ -0,0 +1,9 @@ | ||
| require 'puppet/acceptance/install_utils' | ||
| extend Puppet::Acceptance::InstallUtils | ||
| test_name "Stop firewall" do | ||
| hosts.each do |host| | ||
| stop_firewall_on(host) | ||
| end | ||
| end |
| @@ -0,0 +1,6 @@ | ||
| test_name "Validate Sign Cert" | ||
| require 'puppet/acceptance/common_utils' | ||
| extend Puppet::Acceptance::CAUtils | ||
| initialize_ssl |
| @@ -0,0 +1,93 @@ | ||
| test_name "Install CA Certs" | ||
| confine :to, :platform => 'windows' | ||
| GEOTRUST_GLOBAL_CA = <<-EOM | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT | ||
| MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i | ||
| YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG | ||
| EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg | ||
| R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 | ||
| 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq | ||
| fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv | ||
| iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU | ||
| 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ | ||
| bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW | ||
| MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA | ||
| ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l | ||
| uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn | ||
| Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS | ||
| tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF | ||
| PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un | ||
| hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV | ||
| 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== | ||
| -----END CERTIFICATE----- | ||
| EOM | ||
| USERTRUST_NETWORK_CA = <<-EOM | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB | ||
| lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug | ||
| Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho | ||
| dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt | ||
| SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG | ||
| A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe | ||
| MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v | ||
| d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh | ||
| cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn | ||
| 0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ | ||
| M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a | ||
| MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd | ||
| oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI | ||
| DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy | ||
| oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD | ||
| VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0 | ||
| dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy | ||
| bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF | ||
| BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM | ||
| //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli | ||
| CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE | ||
| CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t | ||
| 3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS | ||
| KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA== | ||
| -----END CERTIFICATE----- | ||
| EOM | ||
| EQUIFAX_CA = <<-EOM | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV | ||
| UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy | ||
| dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1 | ||
| MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx | ||
| dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B | ||
| AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f | ||
| BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A | ||
| cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC | ||
| AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ | ||
| MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm | ||
| aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw | ||
| ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj | ||
| IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF | ||
| MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA | ||
| A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y | ||
| 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh | ||
| 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 | ||
| -----END CERTIFICATE----- | ||
| EOM | ||
| hosts.each do |host| | ||
| step "Installing Geotrust CA cert" | ||
| create_remote_file(host, "geotrustglobal.pem", GEOTRUST_GLOBAL_CA) | ||
| on host, "chmod 644 geotrustglobal.pem" | ||
| on host, "cmd /c certutil -v -addstore Root `cygpath -w geotrustglobal.pem`" | ||
| step "Installing Usertrust Network CA cert" | ||
| create_remote_file(host, "usertrust-network.pem", USERTRUST_NETWORK_CA) | ||
| on host, "chmod 644 usertrust-network.pem" | ||
| on host, "cmd /c certutil -v -addstore Root `cygpath -w usertrust-network.pem`" | ||
| step "Installing Equifax CA cert" | ||
| create_remote_file(host, "equifax.pem", EQUIFAX_CA) | ||
| on host, "chmod 644 equifax.pem" | ||
| on host, "cmd /c certutil -v -addstore Root `cygpath -w equifax.pem`" | ||
| end |
| @@ -0,0 +1 @@ | ||
| master['puppetservice'] = 'pe-puppetserver' |
| @@ -0,0 +1,16 @@ | ||
| -----BEGIN X509 CRL----- | ||
| MIICmzCBhAIBATANBgkqhkiG9w0BAQUFADAhMR8wHQYDVQQDDBZQdXBwZXQgQ0E6 | ||
| IHNvY2tzLmxvY2FsFw0xNTAzMDMxMTU2MTlaFw0yMDAzMDExMTU2MjBaoC8wLTAf | ||
| BgNVHSMEGDAWgBRqr/VzStqL/9HXVt6Qy5P7nhV46zAKBgNVHRQEAwIBADANBgkq | ||
| hkiG9w0BAQUFAAOCAgEAOuf7KWxGzusauTsjVKFAc9/vZhMC9JcZUGPvlGENLMFz | ||
| Fn9kGh04Duq/HcO4KG4wS/VjO54wawQ8tcPXPOouVOXgoFLOUuEN5LQZZ7o9cOaF | ||
| pQ5e/1m6kveABW9kbwioZCXx1GivBEEuEaF2ZfneKqO3p6eTlnwaM400PypL3c4c | ||
| L/CvDqTgH7F9tPC6rhNJ8iQQHRRKfmpEAF2Ej5i6FPJMDT4CIq13gQkJVlXVp6xB | ||
| AxfKXcMCc129NyRq3/Jjrc58/PRdkFxR/0MdN1EX7q2DnlzVDw4TU1ow4IVexFXK | ||
| SQKJZmBgGYckIrQRumJatkeNB4k4aeSEesHkppZ7w57wAhsW1GTXZCdPs6Saqs3v | ||
| I44btc3N8kTk0syw7nvl6ifJpa3UNJdJ3HnNrPyDEnKJQ3eMRG1kslRJnFnKC/y/ | ||
| 7C55cxL1wzCm+O/ks0MVG8QwK59Ooowlztimm7X9EZPOiga010lLgWXNN54Cha9u | ||
| AYo4rprqY/sK12eayhp0nodOGrpHV6PqhvtDfymoIT/hvocpxpPl80pYYO86+72d | ||
| G012NdlG1Pa3/okBIfSw6/JZLiv/MiE0JFaob/xdnWPCD8UpZq8LYjIhOv5RnYBj | ||
| VMisIczo6JRCwHhUB0mvK+afrEWgAodIve0ZNYAdeZ90NusDXBcA7ka9lUpau1E= | ||
| -----END X509 CRL----- |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFbTCCA1WgAwIBAgIBATANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyMFoXDTIwMDMwMTExNTYy | ||
| MFowITEfMB0GA1UEAwwWUHVwcGV0IENBOiBzb2Nrcy5sb2NhbDCCAiIwDQYJKoZI | ||
| hvcNAQEBBQADggIPADCCAgoCggIBAL0qDiSB8u/6dxihgLSycKXGMeH+xzASvIWk | ||
| tsK6oPZ8vwBeEoz4A1iw6Lf7Xz9G9qUx0NlmLryN7HLFmidQ4aTwgYE/+/Q/xwa1 | ||
| FJaFl9yy49vU8/rfZ6m6/xNfBMP3MzDjqtlDYouo1A7h+VTN9sXMmltI9Qu8zwvT | ||
| 0UYRy9J8wAMri7y0yVdiYZ4IjhzhwGaB4yrCZkFN6fsuoW3u2Yb1BtewffqXoav2 | ||
| R5G6m/tcgMzNkyJ9cG+GUM1bk5lEE8KOf360mHC8RsOu/7ZWLJmIUx5JKB+5xhGX | ||
| 1nNd71mNB36f6JJ5ZlNSdVa4Yw5bv2HPyqk3BXbxfZlov/8ECfyEsW4LIANgTQbm | ||
| 9Eep6wZE8inogDiGB5hMH1VgrbLjiNriScF3yeMVfdyzRdSp/OjyuE1CmOcBToIu | ||
| Bse7RDfpuJNDQs9ycqaa1ncFVA0sO6e06FszlznaioejELjCULT6qxVNgwTLTPqH | ||
| e1vTZe+iCtoVAIw0RFUhHltAZE4hUXAm+trgAy1FIpeG90TTtfHQEwpR9IgdzDaI | ||
| b2Oc4WeOG7pYxBRFz9NeESyBuKxXmCVfbprbtunpP/F0N4TgUc2zxdSZFN03GKL+ | ||
| jKYYDUcFq4Iune/uxdGudcUHfyx0XaRFmRAjtqwFoFzuebnuJuXKcCuh7x5OTB8i | ||
| 4sF64VQJAgMBAAGjga8wgawwNQYJYIZIAYb4QgENBChQdXBwZXQgUnVieS9PcGVu | ||
| U1NMIEludGVybmFsIENlcnRpZmljYXRlMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB | ||
| Af8EBTADAQH/MB0GA1UdDgQWBBRqr/VzStqL/9HXVt6Qy5P7nhV46zAzBgNVHSME | ||
| LDAqoSWkIzAhMR8wHQYDVQQDDBZQdXBwZXQgQ0E6IHNvY2tzLmxvY2FsggEBMA0G | ||
| CSqGSIb3DQEBCwUAA4ICAQAWW4sT+13YO3E76jLgjhIjOmmQCSGJiJAHe8gxZxrZ | ||
| xbsybkImc+bR0DIJXMQzWpm183Wx0K3YKVD50zfoS5hTThU8OLuMHvXfmMwNy7Hi | ||
| 0vwOaREyrfIzuCRhY3PUz7HXlncdmzAT/1Q9n07d7VCmsFvHtksSJUVcTAMsL9xv | ||
| D6fzO2or1ZtpJbckww6NmoOw+ofdn4vutn06do5SZbbPDfzEfdyPbeWFUXqFlCGk | ||
| /IO8RWjMt6XRBfc6z9HFqj4HI2n5t8gSVN8MTUo1vmzaR0rErpO+JGw8xm2XVvBW | ||
| jHwG8onTGErHYk+04M+woL8Q294SglpfvLONuJTBaKGaCtVnQvhDMvITJ7rnrBz3 | ||
| r1x1Fx635ofY+FGpVMX0EGLA79gaya6zeyBIlvtUcTN89UfQ0sCEClme9Oe48Scy | ||
| bSJKsJNsNqEljCWQ8sqlc4zGXGk2tysAHWBEPoPcfPeIyWKNx0KQ5dz8zf+adV+3 | ||
| JIZC70qF3fEnyhpv0Z6B7VxRR/EZUVAyLIkucQUNVcMR7uTuAWv67CciCS9EOfit | ||
| eYNnpfGRXYoiEgaSnv6oOCtgDSXd6nJgtfe9m4K7200KNPFJIWREFm21UCseHsRc | ||
| AC+KbxNdwopBY8IFS2PLJQPQfBnf4q5uPZagBg4r0mHH5TgiESpa15fI25fjxAHB | ||
| Zw== | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,51 @@ | ||
| -----BEGIN RSA PRIVATE KEY----- | ||
| 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 | ||
| -----END RSA PRIVATE KEY----- |
| @@ -0,0 +1,14 @@ | ||
| -----BEGIN PUBLIC KEY----- | ||
| MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvSoOJIHy7/p3GKGAtLJw | ||
| pcYx4f7HMBK8haS2wrqg9ny/AF4SjPgDWLDot/tfP0b2pTHQ2WYuvI3scsWaJ1Dh | ||
| pPCBgT/79D/HBrUUloWX3LLj29Tz+t9nqbr/E18Ew/czMOOq2UNii6jUDuH5VM32 | ||
| xcyaW0j1C7zPC9PRRhHL0nzAAyuLvLTJV2JhngiOHOHAZoHjKsJmQU3p+y6hbe7Z | ||
| hvUG17B9+pehq/ZHkbqb+1yAzM2TIn1wb4ZQzVuTmUQTwo5/frSYcLxGw67/tlYs | ||
| mYhTHkkoH7nGEZfWc13vWY0Hfp/oknlmU1J1VrhjDlu/Yc/KqTcFdvF9mWi//wQJ | ||
| /ISxbgsgA2BNBub0R6nrBkTyKeiAOIYHmEwfVWCtsuOI2uJJwXfJ4xV93LNF1Kn8 | ||
| 6PK4TUKY5wFOgi4Gx7tEN+m4k0NCz3JypprWdwVUDSw7p7ToWzOXOdqKh6MQuMJQ | ||
| tPqrFU2DBMtM+od7W9Nl76IK2hUAjDREVSEeW0BkTiFRcCb62uADLUUil4b3RNO1 | ||
| 8dATClH0iB3MNohvY5zhZ44buljEFEXP014RLIG4rFeYJV9umtu26ek/8XQ3hOBR | ||
| zbPF1JkU3TcYov6MphgNRwWrgi6d7+7F0a51xQd/LHRdpEWZECO2rAWgXO55ue4m | ||
| 5cpwK6HvHk5MHyLiwXrhVAkCAwEAAQ== | ||
| -----END PUBLIC KEY----- |
| @@ -0,0 +1,5 @@ | ||
| 0x0001 2015-03-02T11:56:20UTC 2020-03-01T11:56:20UTC /CN=Puppet CA: socks.local | ||
| 0x0002 2015-03-02T11:56:21UTC 2020-03-01T11:56:21UTC /CN=socks.local | ||
| 0x0003 2015-03-02T11:56:24UTC 2020-03-01T11:56:24UTC /CN=activemq | ||
| 0x0004 2015-03-02T11:56:29UTC 2020-03-01T11:56:29UTC /CN=mcollective-client | ||
| 0x0005 2015-03-02T12:18:35UTC 2020-03-01T12:18:35UTC /CN=mcollective-server |
| @@ -0,0 +1 @@ | ||
| BHSQo_BL3oI?81FWI5lG |
| @@ -0,0 +1 @@ | ||
| 0006 |
| @@ -0,0 +1,31 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFajCCA1KgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyNFoXDTIwMDMwMTExNTYy | ||
| NFowEzERMA8GA1UEAwwIYWN0aXZlbXEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw | ||
| ggIKAoICAQDu1l/bhODd+Rwgh1AfjVrauRrcEmmWX4Ma9Ai9tOzSEqHkDFc/aLeN | ||
| 4I+mSGXFAuOyN2vuXFVlEv5R5yT8N1IRFQ5OR5oUmuEce8E2QMZWdmosDkTBGVMF | ||
| RjkLe4orDwpHOAGGbn1iIJnBTiKalGB/1XPdaTGSCNQ7/u5H/AteJ4Bk/5w08IcY | ||
| tah2zPOZ2pX/p5dT9SxtKNfuYXTbmf14PF6X43/+yxcI2QclTDLit1DhxXVF/h/U | ||
| 7ffJMWFW2t/gmtfXOcRjMHy6umVKI67I1Q7FTnSbSDmw861mmQECGa9TG2lDb3OO | ||
| SwH0bWHj+arbxS5B67ihEwBMDGRyGAaMcabiUll4BDd6HN42H6Q3BC5ohoUgPOOB | ||
| xMHkztwNUl08I/stPw40nudJV/KRC6zc4waH5ivZAhQzyyafeDDhNrT1o2i/I+UL | ||
| sDZ7R/q+aQ+lgyGV3cPYrorPn/aTWGW4Zo1uEFHumSVUfcpK141DwU+fI8idGbDi | ||
| XELV7mRWOKSrJ1ywpbTxfhgStnMjLRyAd5g7taKQ8ImWnCyqYOQBXZRGGNyoG0dj | ||
| zzio+2eWe1QQZOpKeMm5T00qyBJi6fQTuAPLLGIbZMS5WmWLvv00o312lw2a53Ic | ||
| mbwH1eefBvyBDENklZpgKh0RBDLZ5iItmFtDPqEKVzjnFMb2sm92IwIDAQABo4G6 | ||
| MIG3MDUGCWCGSAGG+EIBDQQoUHVwcGV0IFJ1YnkvT3BlblNTTCBJbnRlcm5hbCBD | ||
| ZXJ0aWZpY2F0ZTAOBgNVHQ8BAf8EBAMCBaAwIAYDVR0lAQH/BBYwFAYIKwYBBQUH | ||
| AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFOgvbtpFuQfBRhXM | ||
| PG9EvkScrrehMB8GA1UdIwQYMBaAFGqv9XNK2ov/0ddW3pDLk/ueFXjrMA0GCSqG | ||
| SIb3DQEBCwUAA4ICAQCuyi/sp1xzTC/nIcwg2k9CiEJbY4I7lBX68Gh1uVVAJtTN | ||
| TEJNGa+ot0pEWp5OQiD6tTZboCvJdIgq3SsZ/YHjjPEGWDbGwmTEWxAI/Oy6WOn7 | ||
| fK6EyAsuoMFfIDoZo45AnIsCLjXAjwEOyRYcVYElJtFJYa806RsPMAeOkdQQDk1G | ||
| Hk9QB5Z37ESfYZ11ULVPJ/akpgWMXk994SwE+B3Nqsrk1Gc3C/78ZXz+shHrJq6L | ||
| 1Eiy4FzrYbOGD2+6B2SduD17YOyhuv8205eZnMyRKQ2RCyOA9ginUIJmE/xeAxgT | ||
| ITpxEKI/dCAEt4QqUM2ffmvSTaaWeftEvSsrRHBmU82MRWGPCkockCL9cU9dAa+F | ||
| cpJUYLDmjGs/xXQJpY+is5ZwdXNZE8Onv2zMPV3nAMWrw6l/N+SlWyHjyAgba9k4 | ||
| ZJcSUQ20ZFX6R4zK7/FAQGBOpTpIYmWEMfJCJoV20Bf31HlYE7qToOnazw424csV | ||
| OdjvXbusZdADw5TdVPRvl2Y3Ej6NA4AEqgOi4fC8C512GYQIMFOj8bcq+c3CGhfB | ||
| X0fk9AKhxaen0HmSGR+CWx3EdUnjHRp64d5UKLaw/190Ny7bKNhLFFLVuMNn86dg | ||
| oCabruNoOGS/ITCnQ8xYmY7KuhNFuh5/F3Z9PYp8Ej3lDMhO3ltZ7h4d7NP3uQ== | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFdDCCA1ygAwIBAgIBBDANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyOVoXDTIwMDMwMTExNTYy | ||
| OVowHTEbMBkGA1UEAwwSbWNvbGxlY3RpdmUtY2xpZW50MIICIjANBgkqhkiG9w0B | ||
| AQEFAAOCAg8AMIICCgKCAgEAopc/qeMD7V4sQSeLjI71Na9gabTXC5dxDV5T/qoM | ||
| ZOGVInuMUVEjWWYM/Pjsj+/rEqjcN+0N8sZHpY9sMkbqB97I9c0A/zdVskF8EGVe | ||
| 7vS/ytUIUtKwONffD0/FEPNpIDUc++rSj5PPgJvn35ObhB7Q2MpXLx6iamD1gnyF | ||
| fmrssnv6/f5esjV/n61YaskLd1zQD6t7Zghdkzjy6pFz/AfGqWdzq4r2D5ANnsTO | ||
| WAH1qWyphv8Jbwf7vE+H8x7jySmwrxmHu/PDiqZMz28ZRTVjWBWY67hI7Z/p1otQ | ||
| kzoFFf7XLNfNuyajcsG1YCaGXwbBHdb5aa+leLKLzPd1Xy1X0/h4MEG63xFzkrml | ||
| B7PQZHbzVHdi1lI4tI6erUyb3RjsIT2EE8ED732iDIPZduDg5I1yOUKa7R8wEYVE | ||
| RyHv7V6Hbo2ydJu/oIMwJZ0oGlzK1T1xpEsg8t7wgcLKUY7n/+zG23dLOh49/ubm | ||
| +ecC3QbN1z3pMc9pOceTwkWCi6vGf0Otd1TrraHAlK22dzkfQqFK2mKMegoQZXSW | ||
| HPd5JAdSy4qnXCJPxGJaStQGDii5SndFWiuduKlQpSE6WSgMdiBwncAFmdYsnlNM | ||
| gY0wHL/ufjWhsVdePVrEagNux6PdLdmolWawoHxtNh4UuwyByiyJU8gF7A6f/DoA | ||
| H8cCAwEAAaOBujCBtzA1BglghkgBhvhCAQ0EKFB1cHBldCBSdWJ5L09wZW5TU0wg | ||
| SW50ZXJuYWwgQ2VydGlmaWNhdGUwDgYDVR0PAQH/BAQDAgWgMCAGA1UdJQEB/wQW | ||
| MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQV | ||
| Bygt19XIerwYMgLimQ1LAQjwATAfBgNVHSMEGDAWgBRqr/VzStqL/9HXVt6Qy5P7 | ||
| nhV46zANBgkqhkiG9w0BAQsFAAOCAgEANw3dHIu3J71utQB8eiCwfhNKxBhM8Yj3 | ||
| i+eeAvyo28ZN3knyCbXRQmaegVRbeRLHi3YC+9yG0MFTBeOasxVPK508WosaaQJA | ||
| yOuP/++IYbPiqB/xZArAbe5lA/bmp7xekS/hB9PA0hp6eS2tj13GQBOfJ+tNDEFf | ||
| su8H1w+OIA626LfR1PwaqkKCTQBHEtX+Cv8KyvDeYLt0cP2tMi4MQbqdqO093AHO | ||
| 4o8ZdyBOJUwzjYzt+4Y3M5Lh7i/WXh4XxnH59F0RfhVmztf2cSrjRKUvop+IDP7b | ||
| b1bx4vtnorFSFqcngb9jg6Om21+x1Akhew26ZsvlazSWwAxCrlPOSCPy/taW680K | ||
| gA02sbAonkanLe44E3UE5puugWz8ImDp28gOGt1PWiCyNxtJcJ3j3OTw/L5jur8Q | ||
| OEZNhTrZ5j7WdZrzEFMiu6K7C2c0RL2Gz1TWd4MocGTe/vs+0ebbh6D1w9EGci8V | ||
| +FBIavrOc9ZmI03wGIHLnHD+QgxLeTvQOnFENr0k9ah320b8UHdpbbvr3pRf8an5 | ||
| Q8GdVahd5gTY1CbkZGeaIlY8OWUG7s9mvGGDEswSsLIah0UjTNDpzexw1ibr+LDZ | ||
| tSH7GPdtwSniix47ywtv/qzVa8erCpJQ6rucUThR7o4jn3BcZJm0ZDGzZhWhpxjt | ||
| cCoGKqzr1xk= | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFdDCCA1ygAwIBAgIBBTANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjEyMTgzNVoXDTIwMDMwMTEyMTgz | ||
| NVowHTEbMBkGA1UEAwwSbWNvbGxlY3RpdmUtc2VydmVyMIICIjANBgkqhkiG9w0B | ||
| AQEFAAOCAg8AMIICCgKCAgEAmb8vabpZIw3WHUXqV6HkOjmKXz5IgjhXBg5/XA6A | ||
| TGrvFlo5mj6W2JpE7CxI+DhHYZ4+Z5NLkzIAYoSXuV/0umuPpXOAH5ma5JYudzKd | ||
| 5RV7RiffSj5LfzBnGZwn3dVVhaZiR6vUM4cmP8CqUqfoxvpweh9nGDbkEKoHdC4p | ||
| ENerwvuheAnPGflonDZFxaWEqXn5oXxSiuf88XZ0tgn1mMBn/JF0rXtCKYFfOAr7 | ||
| Evw1eUak+4wEHym26q+BCogKpeW+lT0C/v/TH5XG63ycyhmqiWjTI2vPab6BC7t2 | ||
| Bmgd5Grcr7cofvt4QYwIsIwL6ZZWahyLynHMBs85AAm1bfPdnMeia5WP+J98euAJ | ||
| 7MK8TuX4sEjHt/yAiXT75aD0rsViP9BkKstBudMALokywnMHLa0/KdJCwXP5JH/Z | ||
| D8v4LJvpfGxDodC+tyUCsr82Wn67AAculvMZDjY6SD9LtaNrtiNZeNj2PXYBYWWs | ||
| CQ4aR2LzelDPDZ3TUu0BqMjNQ07zz/Daol6DASuF1TLUv6YW2tLZ5nggt1rkARx6 | ||
| m2BTEpa1Jl6j8KkE2l+7KR6EaUCwz3bqlvAweqY/8mnHrwhXkeeQ6Bta53o5YjXD | ||
| WFXTmZD/iSlT8hbnWmoww/EgRjsQyXZ9dS3OelsAPYBTKTwXsKIGdVgj4t8Xd9CK | ||
| gicCAwEAAaOBujCBtzA1BglghkgBhvhCAQ0EKFB1cHBldCBSdWJ5L09wZW5TU0wg | ||
| SW50ZXJuYWwgQ2VydGlmaWNhdGUwDgYDVR0PAQH/BAQDAgWgMCAGA1UdJQEB/wQW | ||
| MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRm | ||
| iqXTvKMtefbQHDRT3F9MVe9xtjAfBgNVHSMEGDAWgBRqr/VzStqL/9HXVt6Qy5P7 | ||
| nhV46zANBgkqhkiG9w0BAQsFAAOCAgEAWSNWAshqJtEeV1vfdlU581ppNmodUs7Q | ||
| 6Ypdx0eot6S9lvTl69GFYonuOvwf8U6chs5Hp051oMB8M1PWzD7CZHj+wMwRKqvG | ||
| PWymZUsZQHFpb01tnABLL62fyqxEnaVPqUyRwNQMsXoD6OiW495kY+o17i2k6oYF | ||
| pE2ofyREQd40i3wGk7u0MlpWvSfdpcUgzVTTlruOuHh+E2HTf53PH3AuFDgqd8Ee | ||
| +2JCO2hcAT7JXfmlxzE6XtbalnaorBnJD09vRR/MshppN6l/11+yMDg3CpfkARBJ | ||
| OqSVLd8PD3BZm4jUWd3w7tBMs1WUYrtMtUKVGc2Ct4QyxCpi1bKKZRcrnROo3lLH | ||
| ZZGEYo+19KpCff/kOoBiyqkim8SN9cdy5nzEllGsIj+72mJuqRhkh58tlrTBUDl1 | ||
| 8Sc1rRLZ+T6k2A/UWybkPMVFw+e1DFOtK8QvjwXPiZyNTDmf05uesgp8sJ81iebv | ||
| 1llZu24x5gVobMHEeXGmKGGs6vquwTrs0/mAy4ujHhkEXZPRkrdv1uBt0sG969/5 | ||
| 0Bnk+Lq0xxGDbgTt+8TOpV++cE3dU6K3Fb7JCJT8S6dzd/78+T+m13maW6WKdiZc | ||
| QAzFNkiw4D0qvdCoL8bu45P58tPFGdJtRbIQ83Ik1Ie6M8nXxCcq0qIttw83Od+H | ||
| qDxqCwAZL8E= | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFmzCCA4OgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyMVoXDTIwMDMwMTExNTYy | ||
| MVowFjEUMBIGA1UEAwwLc29ja3MubG9jYWwwggIiMA0GCSqGSIb3DQEBAQUAA4IC | ||
| DwAwggIKAoICAQDePeeGJz7ozXK/j4SJKvyi6Sw7i6alPizI2uR/snx8tYv/V7uj | ||
| p3sgZ66uvBBW1Uz7lZpNxD19GOICZXF6m3UozafeGsjiffLA60KoEzL2NKoexIz8 | ||
| UDVzQtLfu6RsqnfKzFbq8vjFmwkd+mg64v6bkW3UBpKXySrEEGp/MUiAKEXyi+ab | ||
| R7FNH9rvmyr0TL0xDLpUDdR9KMueyltfXDlGyeI7+2GNq0vdSzqjftIhB7QIUeeV | ||
| 05Xh6ioWQECoX2oQfTg3tssfRkQ7H/hBRvIg9dcn/ehAujdF4juATFUzhzXgBlcn | ||
| 4QkYqsPAJj+Ax+FIHlZoCil0gGz8Qn0xdfGs+WUfe9p4w9CwxbT9s7hKgJzF4yux | ||
| hsb+1uDalvlblOMHBPZ5nAnYxwPELmdtaaDwI3pN+MFTVFvgmkoPdybQY8dTu2np | ||
| hJLfjyDs1n9c1spNb1aqv8RSAw8lWzJ7XBCcARD90tcdbxfKLytwz6JUC+hxqC2m | ||
| SbL8cHPcFRLoDNk6T5muVrszypMBYZpmgh1Bum3kPwm/nSRsM3RweBUSfsqr8xFW | ||
| U6ApNrdUclGha/yjORHNOiIiJFrEdrK/riO6yYyU/s/An8Vmo5HVtP4Lee1J2VcO | ||
| 5vGVariJhEIsq+XwbLSe6dMk0gOPDAHujjxBBf8m/2yjpb+Ru0CUHUJSBwIDAQAB | ||
| o4HoMIHlMDUGCWCGSAGG+EIBDQQoUHVwcGV0IFJ1YnkvT3BlblNTTCBJbnRlcm5h | ||
| bCBDZXJ0aWZpY2F0ZTAsBgNVHREEJTAjggZwdXBwZXSCDHB1cHBldC5sb2NhbIIL | ||
| c29ja3MubG9jYWwwDgYDVR0PAQH/BAQDAgWgMCAGA1UdJQEB/wQWMBQGCCsGAQUF | ||
| BwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRobiTuhmr7JT89 | ||
| XappKM3PKSknKzAfBgNVHSMEGDAWgBRqr/VzStqL/9HXVt6Qy5P7nhV46zANBgkq | ||
| hkiG9w0BAQsFAAOCAgEAZ2Nm54dwCWnaAGiP+eR+rcrz+tmKfeuqHQMR6jihIFsy | ||
| QSrTomBMaMmaw7wdSAyfusbAg6ZZ23lzjHUDUMdbzXNO8/zAKwt93JNdJdeGrpB9 | ||
| TxR8Bhb5Xv4axSQszCP/X0iBWm3KjbmhCNXjMqKZ1UuEt8K80bRT+a3YzdRJFNm8 | ||
| HmzWyZcN+ramkGIWQoAtjRmxYVOHOatlTOXnX3J5Yg8Z7BUTbtgPl4fGpTEu5fX+ | ||
| 60uHJy2CB/jXUO1cPb9E7vVt/EPW1GjuYyQGfpG/2lNEGGkDDztbCL2Fn44BZrYO | ||
| HuIcmPumTmTR6BKxx5TBnaql2KbX7bvJm9KbBUEwE36KbvwvefcYiTBAtCBzBNXR | ||
| u/7BbfSvWHv2Mhtl6O4sF3sSUdhH+eilgO7tzvq1P5DcDGifdu6U8DWeBYGcaPFV | ||
| 60QciJHZnyFjwoCcYthNIhfAaVjO89q2AFXCD0tlYGL+BLdxutlmHjM5WTau3pSW | ||
| cdqF3FWM8dVGbc5gkWce3PL3Am745tpncySH0JGn9cvBPfUK7aoba8r2/Z7BGS/C | ||
| EJWgJ+KWHJ1H7F91mImdr3lADvLIDvudb+NulloLdo8qE54csyOno4zPoM5G+5Nz | ||
| vcpC7tLkC+kJ8vcn+cnVx41NYwGuonGGCPg053yrcsmvd/wQHFVhiq3RSHZK318= | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,31 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFajCCA1KgAwIBAgIBAzANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyNFoXDTIwMDMwMTExNTYy | ||
| NFowEzERMA8GA1UEAwwIYWN0aXZlbXEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw | ||
| ggIKAoICAQDu1l/bhODd+Rwgh1AfjVrauRrcEmmWX4Ma9Ai9tOzSEqHkDFc/aLeN | ||
| 4I+mSGXFAuOyN2vuXFVlEv5R5yT8N1IRFQ5OR5oUmuEce8E2QMZWdmosDkTBGVMF | ||
| RjkLe4orDwpHOAGGbn1iIJnBTiKalGB/1XPdaTGSCNQ7/u5H/AteJ4Bk/5w08IcY | ||
| tah2zPOZ2pX/p5dT9SxtKNfuYXTbmf14PF6X43/+yxcI2QclTDLit1DhxXVF/h/U | ||
| 7ffJMWFW2t/gmtfXOcRjMHy6umVKI67I1Q7FTnSbSDmw861mmQECGa9TG2lDb3OO | ||
| SwH0bWHj+arbxS5B67ihEwBMDGRyGAaMcabiUll4BDd6HN42H6Q3BC5ohoUgPOOB | ||
| xMHkztwNUl08I/stPw40nudJV/KRC6zc4waH5ivZAhQzyyafeDDhNrT1o2i/I+UL | ||
| sDZ7R/q+aQ+lgyGV3cPYrorPn/aTWGW4Zo1uEFHumSVUfcpK141DwU+fI8idGbDi | ||
| XELV7mRWOKSrJ1ywpbTxfhgStnMjLRyAd5g7taKQ8ImWnCyqYOQBXZRGGNyoG0dj | ||
| zzio+2eWe1QQZOpKeMm5T00qyBJi6fQTuAPLLGIbZMS5WmWLvv00o312lw2a53Ic | ||
| mbwH1eefBvyBDENklZpgKh0RBDLZ5iItmFtDPqEKVzjnFMb2sm92IwIDAQABo4G6 | ||
| MIG3MDUGCWCGSAGG+EIBDQQoUHVwcGV0IFJ1YnkvT3BlblNTTCBJbnRlcm5hbCBD | ||
| ZXJ0aWZpY2F0ZTAOBgNVHQ8BAf8EBAMCBaAwIAYDVR0lAQH/BBYwFAYIKwYBBQUH | ||
| AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFOgvbtpFuQfBRhXM | ||
| PG9EvkScrrehMB8GA1UdIwQYMBaAFGqv9XNK2ov/0ddW3pDLk/ueFXjrMA0GCSqG | ||
| SIb3DQEBCwUAA4ICAQCuyi/sp1xzTC/nIcwg2k9CiEJbY4I7lBX68Gh1uVVAJtTN | ||
| TEJNGa+ot0pEWp5OQiD6tTZboCvJdIgq3SsZ/YHjjPEGWDbGwmTEWxAI/Oy6WOn7 | ||
| fK6EyAsuoMFfIDoZo45AnIsCLjXAjwEOyRYcVYElJtFJYa806RsPMAeOkdQQDk1G | ||
| Hk9QB5Z37ESfYZ11ULVPJ/akpgWMXk994SwE+B3Nqsrk1Gc3C/78ZXz+shHrJq6L | ||
| 1Eiy4FzrYbOGD2+6B2SduD17YOyhuv8205eZnMyRKQ2RCyOA9ginUIJmE/xeAxgT | ||
| ITpxEKI/dCAEt4QqUM2ffmvSTaaWeftEvSsrRHBmU82MRWGPCkockCL9cU9dAa+F | ||
| cpJUYLDmjGs/xXQJpY+is5ZwdXNZE8Onv2zMPV3nAMWrw6l/N+SlWyHjyAgba9k4 | ||
| ZJcSUQ20ZFX6R4zK7/FAQGBOpTpIYmWEMfJCJoV20Bf31HlYE7qToOnazw424csV | ||
| OdjvXbusZdADw5TdVPRvl2Y3Ej6NA4AEqgOi4fC8C512GYQIMFOj8bcq+c3CGhfB | ||
| X0fk9AKhxaen0HmSGR+CWx3EdUnjHRp64d5UKLaw/190Ny7bKNhLFFLVuMNn86dg | ||
| oCabruNoOGS/ITCnQ8xYmY7KuhNFuh5/F3Z9PYp8Ej3lDMhO3ltZ7h4d7NP3uQ== | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFbTCCA1WgAwIBAgIBATANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyMFoXDTIwMDMwMTExNTYy | ||
| MFowITEfMB0GA1UEAwwWUHVwcGV0IENBOiBzb2Nrcy5sb2NhbDCCAiIwDQYJKoZI | ||
| hvcNAQEBBQADggIPADCCAgoCggIBAL0qDiSB8u/6dxihgLSycKXGMeH+xzASvIWk | ||
| tsK6oPZ8vwBeEoz4A1iw6Lf7Xz9G9qUx0NlmLryN7HLFmidQ4aTwgYE/+/Q/xwa1 | ||
| FJaFl9yy49vU8/rfZ6m6/xNfBMP3MzDjqtlDYouo1A7h+VTN9sXMmltI9Qu8zwvT | ||
| 0UYRy9J8wAMri7y0yVdiYZ4IjhzhwGaB4yrCZkFN6fsuoW3u2Yb1BtewffqXoav2 | ||
| R5G6m/tcgMzNkyJ9cG+GUM1bk5lEE8KOf360mHC8RsOu/7ZWLJmIUx5JKB+5xhGX | ||
| 1nNd71mNB36f6JJ5ZlNSdVa4Yw5bv2HPyqk3BXbxfZlov/8ECfyEsW4LIANgTQbm | ||
| 9Eep6wZE8inogDiGB5hMH1VgrbLjiNriScF3yeMVfdyzRdSp/OjyuE1CmOcBToIu | ||
| Bse7RDfpuJNDQs9ycqaa1ncFVA0sO6e06FszlznaioejELjCULT6qxVNgwTLTPqH | ||
| e1vTZe+iCtoVAIw0RFUhHltAZE4hUXAm+trgAy1FIpeG90TTtfHQEwpR9IgdzDaI | ||
| b2Oc4WeOG7pYxBRFz9NeESyBuKxXmCVfbprbtunpP/F0N4TgUc2zxdSZFN03GKL+ | ||
| jKYYDUcFq4Iune/uxdGudcUHfyx0XaRFmRAjtqwFoFzuebnuJuXKcCuh7x5OTB8i | ||
| 4sF64VQJAgMBAAGjga8wgawwNQYJYIZIAYb4QgENBChQdXBwZXQgUnVieS9PcGVu | ||
| U1NMIEludGVybmFsIENlcnRpZmljYXRlMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB | ||
| Af8EBTADAQH/MB0GA1UdDgQWBBRqr/VzStqL/9HXVt6Qy5P7nhV46zAzBgNVHSME | ||
| LDAqoSWkIzAhMR8wHQYDVQQDDBZQdXBwZXQgQ0E6IHNvY2tzLmxvY2FsggEBMA0G | ||
| CSqGSIb3DQEBCwUAA4ICAQAWW4sT+13YO3E76jLgjhIjOmmQCSGJiJAHe8gxZxrZ | ||
| xbsybkImc+bR0DIJXMQzWpm183Wx0K3YKVD50zfoS5hTThU8OLuMHvXfmMwNy7Hi | ||
| 0vwOaREyrfIzuCRhY3PUz7HXlncdmzAT/1Q9n07d7VCmsFvHtksSJUVcTAMsL9xv | ||
| D6fzO2or1ZtpJbckww6NmoOw+ofdn4vutn06do5SZbbPDfzEfdyPbeWFUXqFlCGk | ||
| /IO8RWjMt6XRBfc6z9HFqj4HI2n5t8gSVN8MTUo1vmzaR0rErpO+JGw8xm2XVvBW | ||
| jHwG8onTGErHYk+04M+woL8Q294SglpfvLONuJTBaKGaCtVnQvhDMvITJ7rnrBz3 | ||
| r1x1Fx635ofY+FGpVMX0EGLA79gaya6zeyBIlvtUcTN89UfQ0sCEClme9Oe48Scy | ||
| bSJKsJNsNqEljCWQ8sqlc4zGXGk2tysAHWBEPoPcfPeIyWKNx0KQ5dz8zf+adV+3 | ||
| JIZC70qF3fEnyhpv0Z6B7VxRR/EZUVAyLIkucQUNVcMR7uTuAWv67CciCS9EOfit | ||
| eYNnpfGRXYoiEgaSnv6oOCtgDSXd6nJgtfe9m4K7200KNPFJIWREFm21UCseHsRc | ||
| AC+KbxNdwopBY8IFS2PLJQPQfBnf4q5uPZagBg4r0mHH5TgiESpa15fI25fjxAHB | ||
| Zw== | ||
| -----END CERTIFICATE----- |
| @@ -0,0 +1,32 @@ | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIFdDCCA1ygAwIBAgIBBDANBgkqhkiG9w0BAQsFADAhMR8wHQYDVQQDDBZQdXBw | ||
| ZXQgQ0E6IHNvY2tzLmxvY2FsMB4XDTE1MDMwMjExNTYyOVoXDTIwMDMwMTExNTYy | ||
| OVowHTEbMBkGA1UEAwwSbWNvbGxlY3RpdmUtY2xpZW50MIICIjANBgkqhkiG9w0B | ||
| AQEFAAOCAg8AMIICCgKCAgEAopc/qeMD7V4sQSeLjI71Na9gabTXC5dxDV5T/qoM | ||
| ZOGVInuMUVEjWWYM/Pjsj+/rEqjcN+0N8sZHpY9sMkbqB97I9c0A/zdVskF8EGVe | ||
| 7vS/ytUIUtKwONffD0/FEPNpIDUc++rSj5PPgJvn35ObhB7Q2MpXLx6iamD1gnyF | ||
| fmrssnv6/f5esjV/n61YaskLd1zQD6t7Zghdkzjy6pFz/AfGqWdzq4r2D5ANnsTO | ||
| WAH1qWyphv8Jbwf7vE+H8x7jySmwrxmHu/PDiqZMz28ZRTVjWBWY67hI7Z/p1otQ | ||
| kzoFFf7XLNfNuyajcsG1YCaGXwbBHdb5aa+leLKLzPd1Xy1X0/h4MEG63xFzkrml | ||
| B7PQZHbzVHdi1lI4tI6erUyb3RjsIT2EE8ED732iDIPZduDg5I1yOUKa7R8wEYVE | ||
| RyHv7V6Hbo2ydJu/oIMwJZ0oGlzK1T1xpEsg8t7wgcLKUY7n/+zG23dLOh49/ubm | ||
| +ecC3QbN1z3pMc9pOceTwkWCi6vGf0Otd1TrraHAlK22dzkfQqFK2mKMegoQZXSW | ||
| HPd5JAdSy4qnXCJPxGJaStQGDii5SndFWiuduKlQpSE6WSgMdiBwncAFmdYsnlNM | ||
| gY0wHL/ufjWhsVdePVrEagNux6PdLdmolWawoHxtNh4UuwyByiyJU8gF7A6f/DoA | ||
| H8cCAwEAAaOBujCBtzA1BglghkgBhvhCAQ0EKFB1cHBldCBSdWJ5L09wZW5TU0wg | ||
| SW50ZXJuYWwgQ2VydGlmaWNhdGUwDgYDVR0PAQH/BAQDAgWgMCAGA1UdJQEB/wQW | ||
| MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQV | ||
| Bygt19XIerwYMgLimQ1LAQjwATAfBgNVHSMEGDAWgBRqr/VzStqL/9HXVt6Qy5P7 | ||
| nhV46zANBgkqhkiG9w0BAQsFAAOCAgEANw3dHIu3J71utQB8eiCwfhNKxBhM8Yj3 | ||
| i+eeAvyo28ZN3knyCbXRQmaegVRbeRLHi3YC+9yG0MFTBeOasxVPK508WosaaQJA | ||
| yOuP/++IYbPiqB/xZArAbe5lA/bmp7xekS/hB9PA0hp6eS2tj13GQBOfJ+tNDEFf | ||
| su8H1w+OIA626LfR1PwaqkKCTQBHEtX+Cv8KyvDeYLt0cP2tMi4MQbqdqO093AHO | ||
| 4o8ZdyBOJUwzjYzt+4Y3M5Lh7i/WXh4XxnH59F0RfhVmztf2cSrjRKUvop+IDP7b | ||
| b1bx4vtnorFSFqcngb9jg6Om21+x1Akhew26ZsvlazSWwAxCrlPOSCPy/taW680K | ||
| gA02sbAonkanLe44E3UE5puugWz8ImDp28gOGt1PWiCyNxtJcJ3j3OTw/L5jur8Q | ||
| OEZNhTrZ5j7WdZrzEFMiu6K7C2c0RL2Gz1TWd4MocGTe/vs+0ebbh6D1w9EGci8V | ||
| +FBIavrOc9ZmI03wGIHLnHD+QgxLeTvQOnFENr0k9ah320b8UHdpbbvr3pRf8an5 | ||
| Q8GdVahd5gTY1CbkZGeaIlY8OWUG7s9mvGGDEswSsLIah0UjTNDpzexw1ibr+LDZ | ||
| tSH7GPdtwSniix47ywtv/qzVa8erCpJQ6rucUThR7o4jn3BcZJm0ZDGzZhWhpxjt | ||
| cCoGKqzr1xk= | ||
| -----END CERTIFICATE----- |