marathon_deploy 0.1.22 → 0.1.23

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDMxZGExZTk4MmJiZGM0OGNjZWQ1OGUwMjRhMDA1N2Y1YjZjMzE0ZA==
5
- data.tar.gz: !binary |-
6
- Njc3NDdkODRiMGI4NTdkNTY3ODA1MDY5YTczMzhjZmFhODEyYzE1Yw==
2
+ SHA1:
3
+ metadata.gz: b5424c19a4cb6ddf134183ae15e02747ceb555c1
4
+ data.tar.gz: 2b092d745a2704547a27eae28faef541436b3ee5
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MmY2M2ExODdkYjY4YTI5OGU3YjUxNjZiMmMxYTRmMjQwMGNkNzQ1ZTllNmQ1
10
- YzUxMGFiYWU1NDM1ZGRmYjdlNzhkOTlmZTE0ZTgwY2IyZTUzN2Q5MTI0MjFj
11
- ZjM4ZjVmMGIxNjI2ODY5MzFkZmI3YzhiYTU3ZGY5NTI4NGE3ZTk=
12
- data.tar.gz: !binary |-
13
- NTE5YzFlYWVlMmVhNTczNTc4YzBhZmIxMzM1NjczMDhlMGE5YmQ1NGYzNzdh
14
- OGNkNjlmOTg3YWFjNGI2NTgzN2VmNWM2YzQ0MWFkY2EyYWM5MjdlOTBhNzA2
15
- OTAyODQwMGZiNjg4ZWM5NjY4MGMyOGQ2N2MwNDJiNGI4ZDFkNDg=
6
+ metadata.gz: 5c1a1e98f5181b9bcc454b754d3d205ae58091ac258da50e4786b3e33d48fc5531955ffd73377cc819e03b69d4aefb530a629b59ff1ad93924c03a435acd87f5
7
+ data.tar.gz: aceceea60e09fe80aedbbd9d9c8fb0ff9ae7369062723741df973445284df2f35abb734f244dc0e0c30e38d7093304791ba59a49350726f6b8a34ee3b273cc01
@@ -33,6 +33,14 @@ module MarathonDeploy
33
33
  message = "File extension #{extension} is not supported for deployment file #{deployfile}"
34
34
  raise Error::UnsupportedFileExtension, message, caller
35
35
  end
36
+
37
+ # JSON fix for marathon
38
+ # marathon require ENV variables to be quoted
39
+ @json['env'].each do |key , value|
40
+ if (value.is_a? Integer)
41
+ @json['env'][key] = value.to_json
42
+ end
43
+ end
36
44
 
37
45
  missing_attributes = MarathonDefaults.missing_attributes(@json)
38
46
 
@@ -99,4 +107,4 @@ module MarathonDeploy
99
107
  end
100
108
 
101
109
  end
102
- end
110
+ end
@@ -56,7 +56,7 @@ module MarathonDeploy
56
56
 
57
57
  data.each do |line|
58
58
  macros.each do |m|
59
- env_value = ENV[strip(m)].to_json
59
+ env_value = ENV[strip(m)]
60
60
  line.gsub!(m, env_value)
61
61
  end
62
62
  processed += line
@@ -1,3 +1,3 @@
1
1
  module MarathonDeploy
2
- VERSION = "0.1.22"
2
+ VERSION = "0.1.23"
3
3
  end
@@ -0,0 +1,33 @@
1
+ ---
2
+ id: python-example-stable
3
+ cmd: echo python stable `hostname` > index.html; python3 -m http.server 8080
4
+ mem: 16
5
+ cpus: 0.1
6
+ instances: 5
7
+ container:
8
+ type: DOCKER
9
+ docker:
10
+ image: %%DOCKER_IMAGE_NAME%%:%%DOCKER_IMAGE_VERSION%%
11
+ network: BRIDGE
12
+ portMappings:
13
+ - containerPort: 8080
14
+ hostPort: 0
15
+ protocol: tcp
16
+ env:
17
+ SERVICE_TAGS: python,webapp,http,weight=100
18
+ SERVICE_NAME: python
19
+ RELEASE_VERSION: %%RELEASE_VERSION%%
20
+ healthChecks:
21
+ - portIndex: 0
22
+ protocol: TCP
23
+ gracePeriodSeconds: 30
24
+ intervalSeconds: 10
25
+ timeoutSeconds: 30
26
+ maxConsecutiveFailures: 3
27
+ - path: "/"
28
+ portIndex: 0
29
+ protocol: HTTP
30
+ gracePeriodSeconds: 30
31
+ intervalSeconds: 10
32
+ timeoutSeconds: 30
33
+ maxConsecutiveFailures: 3
@@ -0,0 +1,22 @@
1
+ require 'test_helper'
2
+
3
+ class MacroTest < Minitest::Test
4
+
5
+ def setup
6
+ $LOG = Logger.new(STDOUT)
7
+ $LOG.level = Logger::INFO
8
+ @yml = File.expand_path('../fixtures/macros.yml',__FILE__)
9
+ @docker_image_name = 'ubuntu'
10
+ @docker_image_version = '14.04'
11
+ @release_version = "TEST_VERSION_#{Time.now.utc.iso8601}"
12
+ ENV['DOCKER_IMAGE_NAME'] = @docker_image_name
13
+ ENV['DOCKER_IMAGE_VERSION'] = @docker_image_version
14
+ ENV['RELEASE_VERSION'] = @release_version
15
+ end
16
+
17
+ def test_macro_processing
18
+ result = YAML.load(MarathonDeploy::Macro.process_macros(@yml))
19
+ assert_equal("#{@docker_image_name}:#{@docker_image_version}",result['container']['docker']['image'])
20
+ assert_equal("#{@release_version}",result['env']['RELEASE_VERSION'])
21
+ end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marathon_deploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.22
4
+ version: 0.1.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Colby
@@ -14,98 +14,98 @@ dependencies:
14
14
  name: logger
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.7'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.7'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '10.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '5.7'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '5.7'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: yard
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ! '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ! '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: travis
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ! '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: Pushes a yaml or json file to the Marathon API.
@@ -118,8 +118,8 @@ executables:
118
118
  extensions: []
119
119
  extra_rdoc_files: []
120
120
  files:
121
- - .gitignore
122
- - .travis.yml
121
+ - ".gitignore"
122
+ - ".travis.yml"
123
123
  - Gemfile
124
124
  - LICENSE.txt
125
125
  - NOTES
@@ -190,6 +190,8 @@ files:
190
190
  - test/environment_test.rb
191
191
  - test/fixtures/deploy.json
192
192
  - test/fixtures/deploy.yml
193
+ - test/fixtures/macros.yml
194
+ - test/macro_test.rb
193
195
  - test/test_helper.rb
194
196
  homepage: https://github.com/joncolby/marathon_deploy
195
197
  licenses:
@@ -201,17 +203,17 @@ require_paths:
201
203
  - lib
202
204
  required_ruby_version: !ruby/object:Gem::Requirement
203
205
  requirements:
204
- - - ! '>='
206
+ - - ">="
205
207
  - !ruby/object:Gem::Version
206
208
  version: '0'
207
209
  required_rubygems_version: !ruby/object:Gem::Requirement
208
210
  requirements:
209
- - - ! '>='
211
+ - - ">="
210
212
  - !ruby/object:Gem::Version
211
213
  version: '0'
212
214
  requirements: []
213
215
  rubyforge_project:
214
- rubygems_version: 2.4.5
216
+ rubygems_version: 2.4.6
215
217
  signing_key:
216
218
  specification_version: 4
217
219
  summary: Mesos/Marathon deployment tool.
@@ -220,5 +222,7 @@ test_files:
220
222
  - test/environment_test.rb
221
223
  - test/fixtures/deploy.json
222
224
  - test/fixtures/deploy.yml
225
+ - test/fixtures/macros.yml
226
+ - test/macro_test.rb
223
227
  - test/test_helper.rb
224
228
  has_rdoc: