From 1af0f216e34ec91b645bd9864e659c64bb7f282a Mon Sep 17 00:00:00 2001 From: Rick Sullivan Date: Wed, 20 Sep 2017 14:44:00 -0700 Subject: [PATCH] Make `github_api_url` configurable --- lib/instance_agent/config.rb | 4 ++-- lib/instance_agent/plugins/codedeploy/command_executor.rb | 5 +++-- test/instance_agent/config_test.rb | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/instance_agent/config.rb b/lib/instance_agent/config.rb index 13319712..c83985d3 100644 --- a/lib/instance_agent/config.rb +++ b/lib/instance_agent/config.rb @@ -33,7 +33,8 @@ def initialize :codedeploy_test_profile => 'prod', :on_premises_config_file => '/etc/codedeploy-agent/conf/codedeploy.onpremises.yml', :proxy_uri => nil, - :enable_deployments_log => true + :enable_deployments_log => true, + :github_api_url => 'https://api.github.com' }) end @@ -41,6 +42,5 @@ def validate_children(errors = []) errors << 'children can only be set to 1' unless config[:children] == 1 errors end - end end diff --git a/lib/instance_agent/plugins/codedeploy/command_executor.rb b/lib/instance_agent/plugins/codedeploy/command_executor.rb index 9853508c..85732827 100644 --- a/lib/instance_agent/plugins/codedeploy/command_executor.rb +++ b/lib/instance_agent/plugins/codedeploy/command_executor.rb @@ -286,7 +286,8 @@ def download_from_github(deployment_spec, account, repo, commit, anonymous, toke format = 'tarball' end - uri = URI.parse("https://api.github.com/repos/#{account}/#{repo}/#{format}/#{commit}") + github_api = InstanceAgent::Config.config[:github_api_url] + uri = URI.parse("#{github_api}/repos/#{account}/#{repo}/#{format}/#{commit}") options = {:ssl_verify_mode => OpenSSL::SSL::VERIFY_PEER, :redirect => true, :ssl_ca_cert => ENV['AWS_SSL_CA_DIRECTORY']} if anonymous @@ -422,7 +423,7 @@ def cleanup_old_archives(deployment_spec) full_path_deployment_archives = deployment_archives.map{ |f| File.join(ProcessManager::Config.config[:root_dir], deployment_group, f)} full_path_deployment_archives.delete(deployment_root_dir(deployment_spec)) - + extra = full_path_deployment_archives.size - @archives_to_retain + 1 return unless extra > 0 diff --git a/test/instance_agent/config_test.rb b/test/instance_agent/config_test.rb index 2674cd8e..11c57bfb 100644 --- a/test/instance_agent/config_test.rb +++ b/test/instance_agent/config_test.rb @@ -29,7 +29,8 @@ class InstanceAgentConfigTest < InstanceAgentTestCase :codedeploy_test_profile => 'prod', :on_premises_config_file => '/etc/codedeploy-agent/conf/codedeploy.onpremises.yml', :proxy_uri => nil, - :enable_deployments_log => true + :enable_deployments_log => true, + :github_api_url => 'https://api.github.com' }, InstanceAgent::Config.config) end