jimbodragon_acceptance_test 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/bin/jimbodragon_acceptance_test +5 -63
- data/client.rb +2 -2
- data/knife.rb +2 -2
- data/lib/jimbodragon.rb +82 -0
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
- data/lib/knife.rb +0 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2ea6e5ed5ed373bfc97363b0051de19cfa7247ddaf6a5226040f43a19ffce32
|
4
|
+
data.tar.gz: 7a0a72409933cfbcf6aeb87e6215d34169c1e85c5210fb208a254f6bdc77d4ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f24402259bd6c326aba3afc10369f731230350d188647eff6ca6c43e57e4876954dd10dc9888993cc049ca166c0af4ac6b17d80bdabaa5a42a09f708f92729ac
|
7
|
+
data.tar.gz: b65185f6e11ae13102d4e4b3702b170266273e7373993e6a6155e23e89db84fac3c496d4a6c6c174a68510258cd9d1421f3b71c21a4de0d1aecb69af831d0544
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -4,67 +4,9 @@
|
|
4
4
|
# https://twitter.com/mitchellh/status/283014103189053442
|
5
5
|
Signal.trap('INT') { exit 1 }
|
6
6
|
|
7
|
-
|
7
|
+
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), %w(.. lib))
|
8
|
+
require 'rubygems' unless defined?(Gem)
|
9
|
+
require 'jimbodragon'
|
10
|
+
require 'jimbodragon/main'
|
8
11
|
|
9
|
-
|
10
|
-
module AcceptanceTests
|
11
|
-
module StartCucumber
|
12
|
-
def self.start_chef_client
|
13
|
-
extend JimboDragon::AcceptanceTests::StartCucumber
|
14
|
-
start_project
|
15
|
-
end
|
16
|
-
|
17
|
-
def install_chef
|
18
|
-
system('curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -s once -P chef-client')
|
19
|
-
end
|
20
|
-
|
21
|
-
def run_project
|
22
|
-
# [
|
23
|
-
# 'circleci config process .circleci/config.yml > process.yml',
|
24
|
-
# 'circleci local execute -c process.yml --job jimbodragon_acceptance_test',
|
25
|
-
# # 'chef exec hab plan render plan.sh/x86_64-linux/plan.sh',
|
26
|
-
# 'chef exec hab studio build',
|
27
|
-
# 'chef exec cucumber',
|
28
|
-
# ].each { |command| system command }
|
29
|
-
# end
|
30
|
-
|
31
|
-
[
|
32
|
-
'cucumber',
|
33
|
-
"chef-client -r #{ENV['NAMED_RUN_LIST']}",
|
34
|
-
'chef exec hab studio build',
|
35
|
-
"chef gem build #{ENV['GEM_PROJECT_NAME']}.gemspec",
|
36
|
-
"chef gem push #{ENV['GEM_PROJECT_NAME']}-#{ENV['GEM_PROJECT_VERSION']}.gem",
|
37
|
-
"chef exec knife cookbook upload #{[
|
38
|
-
ENV['NAMED_RUN_LIST'],
|
39
|
-
ENV['GEM_PROJECT_NAME'],
|
40
|
-
'chef-git-server',
|
41
|
-
'chefserver',
|
42
|
-
'chef_workstation_initialize',
|
43
|
-
'infra_chef',
|
44
|
-
'jimbodragon',
|
45
|
-
'jimbodragon_infra_chef',
|
46
|
-
'virtualbox',
|
47
|
-
].flatten}",
|
48
|
-
# 'chef exec circleci config process .circleci/config.yml > process.yml',
|
49
|
-
# "chef exec circleci local execute -c process.yml --job #{ENV['GEM_PROJECT_NAME']}",
|
50
|
-
].each { |command| system command }
|
51
|
-
end
|
52
|
-
|
53
|
-
def prepare_project
|
54
|
-
install_chef
|
55
|
-
end
|
56
|
-
|
57
|
-
def finalize_project
|
58
|
-
system('knife node show $(hostname) -z')
|
59
|
-
end
|
60
|
-
|
61
|
-
def start_project
|
62
|
-
prepare_project
|
63
|
-
run_project
|
64
|
-
finalize_project
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
JimboDragon::AcceptanceTests::StartCucumber.start_chef_client
|
12
|
+
JimboDragon::Main.new(self).converge
|
data/client.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
require_relative 'lib/
|
1
|
+
require_relative 'lib/jimbodragon'
|
2
2
|
|
3
|
-
JimboDragon.
|
3
|
+
JimboDragon.converge(self)
|
data/knife.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
require_relative 'lib/
|
1
|
+
require_relative 'lib/jimbodragon'
|
2
2
|
|
3
|
-
JimboDragon.
|
3
|
+
JimboDragon.converge(self)
|
data/lib/jimbodragon.rb
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
|
2
|
+
require_relative ENV['ENVIRONMENT_FILE'] if !ENV['ENVIRONMENT_FILE'].nil? && ::File.exist?(ENV['ENVIRONMENT_FILE'])
|
3
|
+
|
4
|
+
require_relative 'jimbodragon/convergence'
|
5
|
+
require_relative 'jimbodragon/deploy'
|
6
|
+
require_relative 'jimbodragon/main'
|
7
|
+
require_relative 'jimbodragon/test/acceptance/cucumber'
|
8
|
+
|
9
|
+
module JimboDragon
|
10
|
+
CUCUMBER_PUBLISH_ENABLED = ENV['CUCUMBER_PUBLISH_ENABLED'].nil? ? true : ENV['CUCUMBER_PUBLISH_ENABLED']
|
11
|
+
CUCUMBER_PUBLISH_QUIET = ENV['CUCUMBER_PUBLISH_QUIET'].nil? ? false : ENV['CUCUMBER_PUBLISH_QUIET']
|
12
|
+
CUCUMBER_PUBLISH_TOKEN = ENV['CUCUMBER_PUBLISH_TOKEN'].nil? ? puts('Missing private CUCUMBER_PUBLISH_TOKEN') : ENV['CUCUMBER_PUBLISH_TOKEN']
|
13
|
+
|
14
|
+
CIRCLECI_TOKEN = ENV['CIRCLECI_TOKEN'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['CIRCLECI_TOKEN']
|
15
|
+
CIRCLECI_API_TOKEN = ENV['CIRCLECI_API_TOKEN'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['CIRCLECI_API_TOKEN']
|
16
|
+
CIRCLECI_ORG_OPTION = ENV['CIRCLECI_ORG_OPTION'].nil? ? true.to_s.freeze : ENV['CIRCLECI_ORG_OPTION']
|
17
|
+
|
18
|
+
HAB_AUTH_TOKEN = ENV['HAB_AUTH_TOKEN'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['HAB_AUTH_TOKEN']
|
19
|
+
HAB_ORIGIN = ENV['HAB_ORIGIN'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['HAB_ORIGIN']
|
20
|
+
HAB_LICENSE = ENV['HAB_LICENSE'].nil? ? 'accept'.freeze : ENV['HAB_LICENSE']
|
21
|
+
|
22
|
+
GITHUB_SSH_PRIVATE_KEY = ENV['GITHUB_SSH_PRIVATE_KEY'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['GITHUB_SSH_PRIVATE_KEY']
|
23
|
+
GITHUB_SSH_PUBLIC_KEY = ENV['GITHUB_SSH_PUBLIC_KEY'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['GITHUB_SSH_PUBLIC_KEY']
|
24
|
+
|
25
|
+
AWS_ACCESS_KEY_ID = ENV['AWS_ACCESS_KEY_ID'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['AWS_ACCESS_KEY_ID']
|
26
|
+
AWS_SECRET_ACCESS_KEY = ENV['AWS_SECRET_ACCESS_KEY'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['AWS_SECRET_ACCESS_KEY']
|
27
|
+
|
28
|
+
DOCKERHUB_USER = ENV['DOCKERHUB_USER'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['DOCKERHUB_USER']
|
29
|
+
DOCKERHUB_PASSWORD = ENV['DOCKERHUB_PASSWORD'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['DOCKERHUB_PASSWORD']
|
30
|
+
DOCKER_PASS = ENV['DOCKER_PASS'].nil? ? DOCKERHUB_USER : ENV['DOCKER_PASS']
|
31
|
+
DOCKER_USER = ENV['DOCKER_USER'].nil? ? DOCKERHUB_PASSWORD : ENV['DOCKER_USER']
|
32
|
+
DO_CHECK = ENV['DO_CHECK'].nil? ? true.to_s.freeze : ENV['DO_CHECK']
|
33
|
+
|
34
|
+
KNIFE_USER = ENV['KNIFE_USER'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['KNIFE_USER']
|
35
|
+
NAMED_RUN_LIST = ENV['NAMED_RUN_LIST'].nil? ? puts('Missing private CIRCLECI_TOKEN') : ENV['NAMED_RUN_LIST']
|
36
|
+
GEM_PROJECT_NAME = ENV['GEM_PROJECT_NAME'].nil? ? "#{NAMED_RUN_LIST}_acceptance_test".freeze : ENV['GEM_PROJECT_NAME']
|
37
|
+
|
38
|
+
ENVIRONMENT_FILE = ENV['ENVIRONMENT_FILE'].nil? ? __FILE__.freeze : ENV['ENVIRONMENT_FILE']
|
39
|
+
|
40
|
+
GEM_PROJECT_VERSION = ENV['GEM_PROJECT_VERSION'].nil? ? ::File.read('VERSION').freeze : ENV['GEM_PROJECT_VERSION']
|
41
|
+
|
42
|
+
def self.converge(knife_or_chefclient)
|
43
|
+
extend JimboDragon::Convergence
|
44
|
+
extend JimboDragon::Knife
|
45
|
+
extend JimboDragon::Test::Acceptance::Cucumber
|
46
|
+
|
47
|
+
deploy = JimboDragon::Deploy.new
|
48
|
+
|
49
|
+
case knife_or_chefclient
|
50
|
+
when JimboDragon::Main
|
51
|
+
install_chef
|
52
|
+
[
|
53
|
+
"chef-client -r #{NAMED_RUN_LIST}",
|
54
|
+
'chef exec hab studio build',
|
55
|
+
"chef gem build #{GEM_PROJECT_NAME}.gemspec",
|
56
|
+
"chef gem push #{GEM_PROJECT_NAME}-#{GEM_PROJECT_VERSION}.gem",
|
57
|
+
"chef exec knife cookbook upload #{[
|
58
|
+
NAMED_RUN_LIST,
|
59
|
+
GEM_PROJECT_NAME,
|
60
|
+
'chef-git-server',
|
61
|
+
'chefserver',
|
62
|
+
'chef_workstation_initialize',
|
63
|
+
'infra_chef',
|
64
|
+
'jimbodragon',
|
65
|
+
'jimbodragon_infra_chef',
|
66
|
+
'virtualbox',
|
67
|
+
].flatten}",
|
68
|
+
# 'chef exec circleci config process .circleci/config.yml > process.yml',
|
69
|
+
# "chef exec circleci local execute -c process.yml --job #{GEM_PROJECT_NAME}",
|
70
|
+
].each { |command| deploy.deploy_commands.push command }
|
71
|
+
# load_knife(knife_or_chefclient)
|
72
|
+
else
|
73
|
+
puts "knife_or_chefclient = #{knife_or_chefclient.class}"
|
74
|
+
# install_chef
|
75
|
+
# start_cucumber
|
76
|
+
end
|
77
|
+
|
78
|
+
prepare_project
|
79
|
+
deploy.execute_deploy_command
|
80
|
+
finalize_project
|
81
|
+
end
|
82
|
+
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jimbodragon_acceptance_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmy Provencher
|
@@ -95,7 +95,7 @@ files:
|
|
95
95
|
- bin/jimbodragon_acceptance_test
|
96
96
|
- client.rb
|
97
97
|
- knife.rb
|
98
|
-
- lib/
|
98
|
+
- lib/jimbodragon.rb
|
99
99
|
homepage: https://github.com/JimboDragonGit/jimbodragon_acceptance_test
|
100
100
|
licenses:
|
101
101
|
- MIT
|
metadata.gz.sig
CHANGED
Binary file
|
data/lib/knife.rb
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
|
2
|
-
module JimboDragon
|
3
|
-
def self.loading_chef(knife_or_chefclient)
|
4
|
-
JimboDragon.Knife.new(knife_or_chefclient)
|
5
|
-
end
|
6
|
-
|
7
|
-
class Knife
|
8
|
-
attr_accessor :knife_or_chefclient
|
9
|
-
|
10
|
-
def send_to_chef(method, parameter)
|
11
|
-
knife_or_chefclient.send(method, parameter)
|
12
|
-
end
|
13
|
-
|
14
|
-
def initialize(knife_or_chefclient)
|
15
|
-
@knife_or_chefclient = knife_or_chefclient
|
16
|
-
send_to_chef(:chef_license, 'accept')
|
17
|
-
send_to_chef(:log_level, :info)
|
18
|
-
send_to_chef(:node_name, ENV['KNIFE_USER'])
|
19
|
-
|
20
|
-
send_to_chef(:client_key, "#{chef_repo_path}/profiles.d/#{ENV['KNIFE_USER']}/chef/#{ENV['KNIFE_USER']}.pem")
|
21
|
-
send_to_chef(:chef_server_url, 'https://api.chef.io/organizations/jimbodragon')
|
22
|
-
|
23
|
-
send_to_chef(:chef_repo_path, chef_repo_path)
|
24
|
-
send_to_chef(:cookbook_path, [
|
25
|
-
"#{chef_repo_path}/cookbooks/",
|
26
|
-
"#{chef_repo_path}/libraries/",
|
27
|
-
"#{chef_repo_path}/resources/",
|
28
|
-
"#{chef_repo_path}/berks-cookbooks/",
|
29
|
-
]
|
30
|
-
)
|
31
|
-
send_to_chef(:data_bags_path, "#{chef_repo_path}/data_bags")
|
32
|
-
send_to_chef(:environment_path, "#{chef_repo_path}/environments")
|
33
|
-
send_to_chef(:node_path, "#{chef_repo_path}/nodes")
|
34
|
-
send_to_chef(:policy_group_path, "#{chef_repo_path}/policy_group")
|
35
|
-
send_to_chef(:policy_path, "#{chef_repo_path}/policies")
|
36
|
-
send_to_chef(:role_path, "#{chef_repo_path}/roles")
|
37
|
-
send_to_chef(:log_location, "#{chef_repo_path}/logs/#{ENV['KNIFE_USER']}.log")
|
38
|
-
send_to_chef(:cache_path, "#{chef_repo_path}/.chef/local-mode-cache")
|
39
|
-
send_to_chef(:checksum_path, "#{chef_repo_path}/.chef/local-mode-cache/checksums")
|
40
|
-
send_to_chef(:acl_path, "#{chef_repo_path}/acls")
|
41
|
-
send_to_chef(:client_d_dir, "#{chef_repo_path}/.chef/client.d")
|
42
|
-
send_to_chef(:client_key_path, "#{chef_repo_path}/client_keys")
|
43
|
-
send_to_chef(:client_path, "#{chef_repo_path}/clients")
|
44
|
-
send_to_chef(:color, true)
|
45
|
-
send_to_chef(:config_d_dir, "#{chef_repo_path}/.chef/config.d")
|
46
|
-
send_to_chef(:config_dir, "#{chef_repo_path}/.chef")
|
47
|
-
send_to_chef(:container_path, "#{chef_repo_path}/containers")
|
48
|
-
send_to_chef(:cookbook_artifact_path, "#{chef_repo_path}/cookbook_artifacts")
|
49
|
-
send_to_chef(:enable_reporting, false)
|
50
|
-
send_to_chef(:file_backup_path, "#{chef_repo_path}/.chef/local-mode-cache/backup")
|
51
|
-
send_to_chef(:file_cache_path, "#{chef_repo_path}/.chef/local-mode-cache/cache")
|
52
|
-
send_to_chef(:group_path, "#{chef_repo_path}/groups")
|
53
|
-
send_to_chef(:lockfile, "#{chef_repo_path}/.chef/local-mode-cache/cache/chef-client-running.pid")
|
54
|
-
send_to_chef(:ohai_segment_plugin_path, "#{chef_repo_path}/.chef/ohai/cookbook_plugins")
|
55
|
-
send_to_chef(:solo_d_dir, "#{chef_repo_path}/.chef/solo.d")
|
56
|
-
send_to_chef(:user_path, "#{chef_repo_path}/users")
|
57
|
-
send_to_chef(:syntax_check_cache_path, "#{chef_repo_path}/.chef/syntaxcache")
|
58
|
-
send_to_chef(:trusted_certs_dir, "#{chef_repo_path}/.chef/trusted_certs")
|
59
|
-
send_to_chef(:validation_client_name, "#{ENV['HAB_ORIGIN']}-validator")
|
60
|
-
send_to_chef(:data_bag_encrypt_version, 3)
|
61
|
-
send_to_chef(:named_run_list, NAMED_RUN_LIST)
|
62
|
-
end
|
63
|
-
|
64
|
-
def chef_repo_path
|
65
|
-
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|