jackal-stacks 0.1.0 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4b71b344dfac97c00282df6e96bde5f3d413a74e
4
- data.tar.gz: 9b787df9e775186d5333de90f3eacfd9076a1135
3
+ metadata.gz: f2f2bb49756a2b5a691cdbe964490bab58435cbe
4
+ data.tar.gz: 018332f8074dc3e57cc0c0e281ec5c81a8114015
5
5
  SHA512:
6
- metadata.gz: 55393fe0bb6bfd1b26e6841eac37a4674b384560a90688bfa8094c7fc3ec01a13841cbd0ed8e265136ba90c811bd4c4c4a1cbba1ebcc4a141e88c875ede9609d
7
- data.tar.gz: dadc256d8c3b29ec838e608141f4a088577ff593790c3aad5d9b22e3526136d893dc990b78f5c2e9ab897f842cd44b9ab4edfd9e41c5dbbb495f0d1101fd1df8
6
+ metadata.gz: 8b4ae976e2deb9347efbd8804cda61c0a01da9cadf5f6870b6fb0e6efa2fa7cff7168061bf6b96afb431747547d3ec17d3e8e72e50f3bdffdfb069cafac191c0
7
+ data.tar.gz: 946fec7a69dee6ab400ff6541abb345125c574c5650efde36a607659fd3aeb53372419d662fa7ac3feaffb9e768c9a323e96d1be98c298e98200e1c2ec00c760
data/CHANGELOG.md CHANGED
@@ -1,2 +1,7 @@
1
+ # v0.1.2
2
+ * Replace librarian usage with batali
3
+ * Perform resolution within running process
4
+ * Include project name within stack name generated
5
+
1
6
  # v0.1.0
2
7
  * Initial release
@@ -10,8 +10,8 @@ Gem::Specification.new do |s|
10
10
  s.description = 'Build stuff!'
11
11
  s.require_path = 'lib'
12
12
  s.license = 'Apache 2.0'
13
- s.add_dependency 'jackal'
14
- s.add_dependency 'librarian-chef'
15
- s.add_dependency 'sfn'
13
+ s.add_runtime_dependency 'jackal'
14
+ s.add_runtime_dependency 'batali'
15
+ s.add_runtime_dependency 'sfn'
16
16
  s.files = Dir['lib/**/*'] + %w(jackal-stacks.gemspec README.md CHANGELOG.md CONTRIBUTING.md LICENSE)
17
17
  end
@@ -13,6 +13,8 @@ module Jackal
13
13
  require 'bogo-ui'
14
14
  require 'stringio'
15
15
  require 'openssl'
16
+ require 'fileutils'
17
+ require 'batali'
16
18
  # Ensure we can build the API at startup
17
19
  stacks_api
18
20
  end
@@ -202,18 +204,18 @@ module Jackal
202
204
  # @param payload [Smash]
203
205
  def store_stable_asset(payload, directory)
204
206
  if(config.get(:init, :stable))
205
- ['rm -rf .librarian Gemfile Gemfile.lock', 'librarian-chef install', 'rm -rf tmp'].each do |cmd|
206
- info "Starting stable store pre-pack command: #{cmd}"
207
- process_manager.process(payload[:id], cmd) do |process|
208
- process.cwd = directory
209
- process.io.inherit!
210
- process.start
211
- process.wait
212
- unless(process.exit_code == 0)
213
- raise 'Cookbook install failed!'
214
- end
207
+ ['.batali', 'Gemfile', 'Gemfile.lock'].each do |file|
208
+ file_path = File.join(directory, file)
209
+ if(File.exists?(file_path))
210
+ debug "Removing file from infra directory: #{file}"
211
+ FileUtils.rm(file_path)
212
+ end
213
+ end
214
+ if(File.exists?(File.join(directory, 'batali.manifest')))
215
+ debug 'Installing cookbooks from Batali manifest'
216
+ Dir.chdir(directory) do
217
+ Batali::Command::Install.new({}, []).execute!
215
218
  end
216
- info "Completed stable store pre-pack command: #{cmd}"
217
219
  end
218
220
  debug "Starting stable asset upload for #{payload[:id]}"
219
221
  bucket = stacks_api.api_for(:storage).buckets.get(config.get(:orchestration, :bucket_name))
@@ -221,6 +223,7 @@ module Jackal
221
223
  file = bucket.files.get(stable_name) || bucket.files.build(:name => stable_name)
222
224
  file.body = asset_store.pack(directory)
223
225
  file.save
226
+ debug "Completed stable asset upload for #{payload[:id]}"
224
227
  end
225
228
  end
226
229
 
@@ -20,6 +20,10 @@ module Jackal
20
20
  payload.set(:data, :stacks, :reference,
21
21
  payload.get(:data, :code_fetcher, :info, :reference)
22
22
  )
23
+ payload.set(:data, :stacks, :project,
24
+ [payload.get(:data, :code_fetcher, :info, :owner),
25
+ payload.get(:data, :code_fetcher, :info, :name)].join('_')
26
+ )
23
27
  end
24
28
  end
25
29
 
@@ -34,7 +34,12 @@ module Jackal
34
34
  # @return [String] stack name
35
35
  def stack_name(payload)
36
36
  s_namespace = determine_namespace(payload)
37
- "#{s_namespace}-#{payload.get(:data, :stacks, :template).sub(/\.[a-z]+$/, '').gsub(/[^A-Za-z0-9\-]/, '-')}"
37
+ s_project = payload.fetch(:data, :stacks, :project, SecureRandom.urlsafe_base64)
38
+ [
39
+ s_namespace,
40
+ s_project,
41
+ payload.get(:data, :stacks, :template).sub(/\.[a-z]+$/, '')
42
+ ].join('-').gsub(/[^A-Za-z0-9\-]/, '-')
38
43
  end
39
44
 
40
45
  end
@@ -1,6 +1,6 @@
1
1
  module Jackal
2
2
  module Stacks
3
3
  # Current library version
4
- VERSION = Gem::Version.new('0.1.0')
4
+ VERSION = Gem::Version.new('0.1.2')
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jackal-stacks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Roberts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-06 00:00:00.000000000 Z
11
+ date: 2015-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jackal
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: librarian-chef
28
+ name: batali
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="