jackal-stacks 0.1.0 → 0.1.2

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
  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
  - - ">="