sambot 0.1.94 → 0.1.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/sambot/chef/cookbook.rb +1 -0
- data/lib/sambot/cli.rb +0 -3
- data/lib/sambot/commands/cookbook.rb +1 -1
- data/lib/sambot/developer_workflow/workstation.rb +8 -0
- data/lib/sambot/templates/.kitchen.yml.erb +6 -1
- data/lib/sambot/version.rb +1 -1
- metadata +1 -5
- data/lib/sambot/commands/packer.rb +0 -19
- data/lib/sambot/image_pipeline/packer.rb +0 -27
- data/lib/sambot/templates/packer.linux.json +0 -22
- data/lib/sambot/templates/packer.windows.json +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98fb16c2ae75f97227ec2853cdd7226b7adb04c3
|
4
|
+
data.tar.gz: 43264443d106d2e042051418d6da019af346d8bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7637e3004a7d6894747064802c12ff4ececbaac444b9f66cf51a4431a8204472334e9c3031d5558ba10d20af0054813b40ab4b0389a82233a10a0eb2860d3ea
|
7
|
+
data.tar.gz: 9bc4b4e8d4f144e2f7975a273dfe8f38fdbf4175243f7655359321df97e9e57c8122c401cccd5376a6f8bf09116f701a5b0d70a5e8ba948d2762a53d7d5af36f
|
data/lib/sambot/chef/cookbook.rb
CHANGED
@@ -18,6 +18,7 @@ module Sambot
|
|
18
18
|
UI.info('Removing all generated files from this cookbook.')
|
19
19
|
delete_file('metadata.rb')
|
20
20
|
delete_file('winrm_config')
|
21
|
+
delete_file('Berksfile.lock')
|
21
22
|
delete_file('packer.json')
|
22
23
|
generated_files.each { |file| delete_file(file) }
|
23
24
|
Dir.glob('\.kitchen*\.yml').each do |file|
|
data/lib/sambot/cli.rb
CHANGED
@@ -31,9 +31,6 @@ module Sambot
|
|
31
31
|
desc 'session', 'Manage sessions'
|
32
32
|
subcommand 'session', Sambot::Commands::Session
|
33
33
|
|
34
|
-
desc 'packer', 'Manage Hashicorp Packer'
|
35
|
-
subcommand 'packer', Sambot::Commands::Packer
|
36
|
-
|
37
34
|
desc 'workstation', 'Manage engineer workstations'
|
38
35
|
subcommand 'workstation', Sambot::Commands::Workstation
|
39
36
|
|
@@ -75,7 +75,7 @@ module Sambot
|
|
75
75
|
long_desc GUIDE[:version][:LONG_DESC]
|
76
76
|
def version()
|
77
77
|
Runtime.ensure_latest
|
78
|
-
result = Config.read
|
78
|
+
result = Config.new.read
|
79
79
|
puts "##teamcity[buildNumber '#{result['version'].to_s}']"
|
80
80
|
rescue ApplicationError => e
|
81
81
|
error(e.message)
|
@@ -9,6 +9,14 @@ module Sambot
|
|
9
9
|
update_environment_variables()
|
10
10
|
UI.debug("Updating your hosts file.")
|
11
11
|
DNS.update_hosts()
|
12
|
+
system('brew cask install virtualbox')
|
13
|
+
system('brew cask install vagrant')
|
14
|
+
system('brew cask install vagrant-manager')
|
15
|
+
system('brew install git')
|
16
|
+
system('xcode-select --install')
|
17
|
+
system('brew update')
|
18
|
+
system('brew install golang')
|
19
|
+
system('brew cask install chefdk')
|
12
20
|
UI.info("Your workstation is now ready for use. Please close this shell and open up a new one to start making use of your new environment.")
|
13
21
|
end
|
14
22
|
|
@@ -14,7 +14,12 @@ platforms:
|
|
14
14
|
- name: "centos-7.2"
|
15
15
|
<% end %>
|
16
16
|
<% if @platforms.include?('windows') %>
|
17
|
-
- name:
|
17
|
+
- name: windows-2012R2
|
18
|
+
driver_config:
|
19
|
+
box: mwrock/Windows2012R2
|
20
|
+
transport:
|
21
|
+
name: winrm
|
22
|
+
elevated: true
|
18
23
|
<% end %>
|
19
24
|
|
20
25
|
verifier:
|
data/lib/sambot/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sambot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.95
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Olivier Kouame
|
@@ -292,7 +292,6 @@ files:
|
|
292
292
|
- lib/sambot/chef/metadata.rb
|
293
293
|
- lib/sambot/cli.rb
|
294
294
|
- lib/sambot/commands/cookbook.rb
|
295
|
-
- lib/sambot/commands/packer.rb
|
296
295
|
- lib/sambot/commands/report.rb
|
297
296
|
- lib/sambot/commands/session.rb
|
298
297
|
- lib/sambot/commands/workstation.rb
|
@@ -304,7 +303,6 @@ files:
|
|
304
303
|
- lib/sambot/developer_workflow/workstation.rb
|
305
304
|
- lib/sambot/file_management/file_checker.rb
|
306
305
|
- lib/sambot/file_management/template_provider.rb
|
307
|
-
- lib/sambot/image_pipeline/packer.rb
|
308
306
|
- lib/sambot/reports/consistency_report.rb
|
309
307
|
- lib/sambot/runtime.rb
|
310
308
|
- lib/sambot/ssh/config_file.rb
|
@@ -318,8 +316,6 @@ files:
|
|
318
316
|
- lib/sambot/templates/Berksfile
|
319
317
|
- lib/sambot/templates/chefignore
|
320
318
|
- lib/sambot/templates/metadata.rb.erb
|
321
|
-
- lib/sambot/templates/packer.linux.json
|
322
|
-
- lib/sambot/templates/packer.windows.json
|
323
319
|
- lib/sambot/templates/pre-push
|
324
320
|
- lib/sambot/templates/startup-script.ps1
|
325
321
|
- lib/sambot/templates/teamcity.sh.erb
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Sambot
|
2
|
-
module Commands
|
3
|
-
|
4
|
-
class Packer < Thor
|
5
|
-
|
6
|
-
namespace 'packer'
|
7
|
-
|
8
|
-
desc "prepare", "Sets up a Packer configuration"
|
9
|
-
def prepare
|
10
|
-
Runtime.ensure_latest
|
11
|
-
config = Config.new.read
|
12
|
-
ImagePipeline::Packer.prepare(config)
|
13
|
-
rescue ApplicationError => e
|
14
|
-
error(e.message)
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
module Sambot
|
4
|
-
module ImagePipeline
|
5
|
-
class Packer
|
6
|
-
|
7
|
-
TemplateProvider = FileManagement::TemplateProvider
|
8
|
-
|
9
|
-
def self.prepare(config)
|
10
|
-
cookbook_name = config['name']
|
11
|
-
target_platform = ENV['TARGET_IMAGE_PLATFORM']
|
12
|
-
raise ApplicationError.new("No target image platform provided i.e. TARGET_IMAGE_PLATFORM environment variable.") unless target_platform
|
13
|
-
is_valid_platform = target_platform == 'windows' || target_platform == 'linux'
|
14
|
-
raise ApplicationError.new("The target image platform must be either 'windows' or 'linux'.") unless is_valid_platform
|
15
|
-
generate_config(cookbook_name, target_platform)
|
16
|
-
end
|
17
|
-
|
18
|
-
def self.generate_config(cookbook_name, target_platform)
|
19
|
-
filename = TemplateProvider.get_path("packer.#{target_platform}.json")
|
20
|
-
contents = File.read(filename).gsub(/@@cookbook_name@@/, cookbook_name)
|
21
|
-
File.write("packer.json", contents)
|
22
|
-
UI.debug("The configuration file for Packer has been added.")
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"variables": {
|
3
|
-
"as_project_id": "{{env `GCP_PROJECT`}}",
|
4
|
-
"as_source_image_family": "{{env `GCP_CENTOS_IMAGE_FAMILY`}}",
|
5
|
-
"as_zone": "{{env `GCP_REGION`}}",
|
6
|
-
"as_cookbook_name": "{{env `COOKBOOK_NAME`}}",
|
7
|
-
"as_account_file": "{{env `GOOGLE_APPLICATION_CREDENTIALS`}}",
|
8
|
-
"as_source_image_project_id": "{{env `GCP_CENTOS_IMAGE_PROJECT`}}",
|
9
|
-
},
|
10
|
-
"builders": [
|
11
|
-
{
|
12
|
-
"type": "googlecompute",
|
13
|
-
"account_file": "{{user `as_account_file`}}",
|
14
|
-
"image_family": "{{user `as_cookbook_name`}}",
|
15
|
-
"image_name": "{{env `COOKBOOK_NAME`}}-@@cookbook_name@@",
|
16
|
-
"project_id": "{{user `as_project_id`}}",
|
17
|
-
"source_image_family": "{{user `as_source_image_family`}}",
|
18
|
-
"source_image_project_id": "{{user `as_source_image_project_id`}}",
|
19
|
-
"zone": "{{user `as_zone`}}"
|
20
|
-
}
|
21
|
-
]
|
22
|
-
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"builders": [{
|
3
|
-
"type": "googlecompute",
|
4
|
-
"account_file": "account.json",
|
5
|
-
"project_id": "my project",
|
6
|
-
"source_image": "windows-server-2016-dc-v20170227",
|
7
|
-
"disk_size": "50",
|
8
|
-
"machine_type": "n1-standard-1",
|
9
|
-
"communicator": "winrm",
|
10
|
-
"winrm_username": "packer_user",
|
11
|
-
"winrm_insecure": true,
|
12
|
-
"winrm_use_ssl": true,
|
13
|
-
"metadata": {
|
14
|
-
"windows-startup-script-cmd": "winrm quickconfig -quiet & net user /add packer_user & net localgroup administrators packer_user /add & winrm set winrm/config/service/auth @{Basic=\"true\"}"
|
15
|
-
},
|
16
|
-
"zone": "us-central1-a"
|
17
|
-
}]
|
18
|
-
}
|