jimbodragon_acceptance_test 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57bf783d8528b4238096588ffb868b6f4dc2665d03995ebbbf9007e0e750ed4b
4
- data.tar.gz: d50188ebac6a8ef1438fc9813069eaa4d9cf66013b242199555f870fda97a00f
3
+ metadata.gz: b21f9158f0f48f3b3d08507b9e9463ca98f46e599b016db8ad2ae514f5f1351d
4
+ data.tar.gz: ea6950f65cfcefc8da648edaf47680254b1b5e6c094e9de9bc2f56c04598e62a
5
5
  SHA512:
6
- metadata.gz: c7cb78fc63d3506a58ec736f82d8f334c0573faacd70599680c4e9bcdd9c2bb7bc91ce7aa8d6000cb61e0c5605a8ae6b12658fcb509573f7c7dca17b84d42f41
7
- data.tar.gz: 2f0bde12bf91593efffadfa7e42f68eb7442d0131fa26581d6db2a8e047bbaa31a6f63592a880565c8108017bd272520b3cdb864f18f71ed922bc312e3579b4a
6
+ metadata.gz: 0f5cb27f3d204535f57f76b5b03089e8d7086df76f8c5512110e5a6ea0b6095d483eeaa75b84f34ae0d0ef6077827a8d90793be9fd3b549ddf17f55cbdb1cab2
7
+ data.tar.gz: edb7c1952014788e3059c907f762fcc6919f03aa4516dee00663fc59c7d46895006d437377e342f5d60db739c015398acd7ef1c16612b371b9284eea90745b66
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,52 @@
1
+
2
+ require 'chef'
3
+
4
+ require_relative 'knife'
5
+
6
+ module JimboDragon
7
+ module Convergence
8
+ def install_chef
9
+ %w(
10
+ analytics
11
+ angry-omnibus-toolchain
12
+ angrychef
13
+ automate
14
+ chef
15
+ chef-foundation
16
+ chef-universal
17
+ chef-backend
18
+ chef-server
19
+ chef-server-ha-provisioning
20
+ chef-workstation
21
+ chefdk
22
+ compliance
23
+ delivery
24
+ ha
25
+ harmony
26
+ inspec
27
+ mac-bootstrapper
28
+ manage
29
+ marketplace
30
+ omnibus-toolchain
31
+ omnibus-gcc
32
+ private-chef
33
+ push-jobs-client
34
+ push-jobs-server
35
+ reporting
36
+ supermarket
37
+ sync
38
+ ).each do |chef_application|
39
+ # system('curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -s once -P ' + chef_application)
40
+ end
41
+ system('curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -s once -P chef')
42
+ end
43
+
44
+ def prepare_project
45
+ install_chef
46
+ end
47
+
48
+ def finalize_project
49
+ # system('chef exec cucumber')
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,13 @@
1
+ module JimboDragon
2
+ class Deploy
3
+ attr_accessor :deploy_commands
4
+
5
+ def initialize
6
+ @deploy_commands = []
7
+ end
8
+
9
+ def execute_deploy_command
10
+ deploy_commands.each { |command| system command }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,39 @@
1
+
2
+ puts "ENV['ENVIRONMENT_FILE'] = #{ENV['ENVIRONMENT_FILE']}"
3
+ require_relative ENV['ENVIRONMENT_FILE'] if !ENV['ENVIRONMENT_FILE'].nil? && ::File.exist?(ENV['ENVIRONMENT_FILE'])
4
+
5
+ module JimboDragon
6
+ module JimboEnv
7
+ CUCUMBER_PUBLISH_ENABLED = ENV['CUCUMBER_PUBLISH_ENABLED'].nil? ? true : ENV['CUCUMBER_PUBLISH_ENABLED']
8
+ CUCUMBER_PUBLISH_QUIET = ENV['CUCUMBER_PUBLISH_QUIET'].nil? ? false : ENV['CUCUMBER_PUBLISH_QUIET']
9
+ CUCUMBER_PUBLISH_TOKEN = ENV['CUCUMBER_PUBLISH_TOKEN'].nil? ? 'Missing private CUCUMBER_PUBLISH_TOKEN' : ENV['CUCUMBER_PUBLISH_TOKEN']
10
+
11
+ CIRCLECI_TOKEN = ENV['CIRCLECI_TOKEN'].nil? ? 'Missing private CIRCLECI_TOKEN' : ENV['CIRCLECI_TOKEN']
12
+ CIRCLECI_API_TOKEN = ENV['CIRCLECI_API_TOKEN'].nil? ? 'Missing private CIRCLECI_API_TOKEN' : ENV['CIRCLECI_API_TOKEN']
13
+ CIRCLECI_ORG_OPTION = ENV['CIRCLECI_ORG_OPTION'].nil? ? true.to_s.freeze : ENV['CIRCLECI_ORG_OPTION']
14
+
15
+ HAB_AUTH_TOKEN = ENV['HAB_AUTH_TOKEN'].nil? ? 'Missing private HAB_AUTH_TOKEN' : ENV['HAB_AUTH_TOKEN']
16
+ HAB_ORIGIN = ENV['HAB_ORIGIN'].nil? ? 'Missing private HAB_ORIGIN' : ENV['HAB_ORIGIN']
17
+ HAB_LICENSE = ENV['HAB_LICENSE'].nil? ? 'accept'.freeze : ENV['HAB_LICENSE']
18
+
19
+ GITHUB_SSH_PRIVATE_KEY = ENV['GITHUB_SSH_PRIVATE_KEY'].nil? ? 'Missing private GITHUB_SSH_PRIVATE_KEY' : ENV['GITHUB_SSH_PRIVATE_KEY']
20
+ GITHUB_SSH_PUBLIC_KEY = ENV['GITHUB_SSH_PUBLIC_KEY'].nil? ? 'Missing private GITHUB_SSH_PUBLIC_KEY' : ENV['GITHUB_SSH_PUBLIC_KEY']
21
+
22
+ AWS_ACCESS_KEY_ID = ENV['AWS_ACCESS_KEY_ID'].nil? ? 'Missing private AWS_ACCESS_KEY_ID' : ENV['AWS_ACCESS_KEY_ID']
23
+ AWS_SECRET_ACCESS_KEY = ENV['AWS_SECRET_ACCESS_KEY'].nil? ? 'Missing private AWS_SECRET_ACCESS_KEY' : ENV['AWS_SECRET_ACCESS_KEY']
24
+
25
+ DOCKERHUB_USER = ENV['DOCKERHUB_USER'].nil? ? 'Missing private DOCKERHUB_USER' : ENV['DOCKERHUB_USER']
26
+ DOCKERHUB_PASSWORD = ENV['DOCKERHUB_PASSWORD'].nil? ? 'Missing private DOCKERHUB_PASSWORD' : ENV['DOCKERHUB_PASSWORD']
27
+ DOCKER_PASS = ENV['DOCKER_PASS'].nil? ? DOCKERHUB_USER : ENV['DOCKER_PASS']
28
+ DOCKER_USER = ENV['DOCKER_USER'].nil? ? DOCKERHUB_PASSWORD : ENV['DOCKER_USER']
29
+ DO_CHECK = ENV['DO_CHECK'].nil? ? true.to_s.freeze : ENV['DO_CHECK']
30
+
31
+ KNIFE_USER = ENV['KNIFE_USER'].nil? ? 'Missing private KNIFE_USER' : ENV['KNIFE_USER']
32
+ NAMED_RUN_LIST = ENV['NAMED_RUN_LIST'].nil? ? 'Missing private NAMED_RUN_LIST' : ENV['NAMED_RUN_LIST']
33
+ GEM_PROJECT_NAME = ENV['GEM_PROJECT_NAME'].nil? ? 'Missing private GEM_PROJECT_NAME' : ENV['GEM_PROJECT_NAME']
34
+
35
+ ENVIRONMENT_FILE = ENV['ENVIRONMENT_FILE'].nil? ? abort!('Missing private ENVIRONMENT_FILE') : ENV['ENVIRONMENT_FILE']
36
+
37
+ GEM_PROJECT_VERSION = ENV['GEM_PROJECT_VERSION'].nil? ? ::File.read('VERSION').freeze : ENV['GEM_PROJECT_VERSION']
38
+ end
39
+ end
@@ -0,0 +1,79 @@
1
+
2
+ require_relative 'jimboenv'
3
+
4
+ module JimboDragon
5
+ class Knife
6
+ attr_accessor :knife_or_chefclient
7
+
8
+ def initialize(knife_or_chefclient)
9
+ @knife_or_chefclient = knife_or_chefclient
10
+ end
11
+
12
+ def send_to_chef(method, parameter)
13
+ Chef::Log.debug("Adding #{method} with value #{parameter}")
14
+ knife_or_chefclient.send(method, parameter)
15
+ end
16
+
17
+ def load_knife
18
+ send_to_chef(:chef_license, 'accept')
19
+ send_to_chef(:log_level, :info)
20
+ send_to_chef(:node_name, JimboDragon::JimboEnv::KNIFE_USER)
21
+
22
+ send_to_chef(:client_key, chef_path(::File.join([
23
+ 'profiles.d',
24
+ JimboDragon::JimboEnv::KNIFE_USER,
25
+ 'chef',
26
+ "#{JimboDragon::JimboEnv::KNIFE_USER}.pem",
27
+ ])))
28
+ send_to_chef(:chef_server_url, 'https://api.chef.io/organizations/jimbodragon')
29
+
30
+ send_to_chef(:chef_repo_path, chef_repo_path)
31
+ send_to_chef(:cookbook_path, [
32
+ chef_path('cookbooks'),
33
+ chef_path('libraries'),
34
+ chef_path('resources'),
35
+ chef_path('berks-cookbooks'),
36
+ ]
37
+ )
38
+ send_to_chef(:data_bags_path, chef_path('data_bags'))
39
+ send_to_chef(:environment_path, chef_path('environments'))
40
+ send_to_chef(:node_path, chef_path('nodes'))
41
+ send_to_chef(:policy_group_path, chef_path('policy_group'))
42
+ send_to_chef(:policy_path, chef_path('policies'))
43
+ send_to_chef(:role_path, chef_path('roles'))
44
+ send_to_chef(:log_location, chef_path(::File.join(['logs', "#{JimboDragon::JimboEnv::KNIFE_USER}.log"])))
45
+ send_to_chef(:cache_path, chef_path('.chef/local-mode-cache'))
46
+ send_to_chef(:checksum_path, chef_path('.chef/local-mode-cache/checksums'))
47
+ send_to_chef(:acl_path, chef_path('acls'))
48
+ send_to_chef(:client_d_dir, chef_path('.chef/client.d'))
49
+ send_to_chef(:client_key_path, chef_path('client_keys'))
50
+ send_to_chef(:client_path, chef_path('clients'))
51
+ send_to_chef(:color, true)
52
+ send_to_chef(:config_d_dir, chef_path('.chef/config.d'))
53
+ send_to_chef(:config_dir, chef_path('.chef'))
54
+ send_to_chef(:container_path, chef_path('containers'))
55
+ send_to_chef(:cookbook_artifact_path, chef_path('cookbook_artifacts'))
56
+ send_to_chef(:enable_reporting, false)
57
+ send_to_chef(:file_backup_path, chef_path('.chef/local-mode-cache/backup'))
58
+ send_to_chef(:file_cache_path, chef_path('.chef/local-mode-cache/cache'))
59
+ send_to_chef(:group_path, chef_path('groups'))
60
+ send_to_chef(:lockfile, chef_path('.chef/local-mode-cache/cache/chef-client-running.pid'))
61
+ send_to_chef(:ohai_segment_plugin_path, chef_path('.chef/ohai/cookbook_plugins'))
62
+ send_to_chef(:solo_d_dir, chef_path('.chef/solo.d'))
63
+ send_to_chef(:user_path, chef_path('users'))
64
+ send_to_chef(:syntax_check_cache_path, chef_path('.chef/syntaxcache'))
65
+ send_to_chef(:trusted_certs_dir, chef_path('.chef/trusted_certs'))
66
+ send_to_chef(:validation_client_name, "#{JimboDragon::JimboEnv::HAB_ORIGIN}-validator")
67
+ send_to_chef(:data_bag_encrypt_version, 3)
68
+ send_to_chef(:named_run_list, JimboDragon::JimboEnv::NAMED_RUN_LIST)
69
+ end
70
+
71
+ def chef_repo_path
72
+ ::File.expand_path(::File.join(::File.dirname(JimboDragon::JimboEnv::ENVIRONMENT_FILE), 'chef_repo'))
73
+ end
74
+
75
+ def chef_path(relative_chef_repo_path)
76
+ ::File.expand_path(::File.join(chef_repo_path, relative_chef_repo_path))
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,15 @@
1
+ require_relative ::File.expand_path(::File.join(%w(lib jimbodragon))) unless defined?(JimboDragon)
2
+ require_relative ::File.expand_path(::File.join([::File.dirname(__FILE__)] + %w(.. jimbodragon))) unless defined?(JimboDragon)
3
+
4
+ module JimboDragon
5
+ class Main
6
+ attr_reader :knife_or_chefclient
7
+ def initialize(knife_or_chefclient)
8
+ @knife_or_chefclient = knife_or_chefclient
9
+ end
10
+
11
+ def converge
12
+ JimboDragon.converge(self)
13
+ end
14
+ end
15
+ end
data/lib/jimbodragon.rb CHANGED
@@ -22,6 +22,7 @@ module JimboDragon
22
22
  "chef-client -r #{JimboDragon::JimboEnv::NAMED_RUN_LIST}",
23
23
  "chef gem build #{JimboDragon::JimboEnv::GEM_PROJECT_NAME}.gemspec",
24
24
  "chef gem push #{JimboDragon::JimboEnv::GEM_PROJECT_NAME}-#{JimboDragon::JimboEnv::GEM_PROJECT_VERSION}.gem",
25
+ "chef gem install #{JimboDragon::JimboEnv::GEM_PROJECT_NAME}",
25
26
  ].each do |command|
26
27
  puts "Executing command #{command}"
27
28
  deploy.deploy_commands.push command
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.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmy Provencher
@@ -96,6 +96,11 @@ files:
96
96
  - client.rb
97
97
  - knife.rb
98
98
  - lib/jimbodragon.rb
99
+ - lib/jimbodragon/convergence.rb
100
+ - lib/jimbodragon/deploy.rb
101
+ - lib/jimbodragon/jimboenv.rb
102
+ - lib/jimbodragon/knife.rb
103
+ - lib/jimbodragon/main.rb
99
104
  homepage: https://github.com/JimboDragonGit/jimbodragon_acceptance_test
100
105
  licenses:
101
106
  - MIT
metadata.gz.sig CHANGED
Binary file