procfile-upstart-exporter 0.0.1 → 0.0.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 +7 -0
- data/.travis.yml +5 -0
- data/README.md +22 -1
- data/lib/procfile_upstart_exporter/environment_parser.rb +5 -3
- data/lib/procfile_upstart_exporter/procfile_parser.rb +10 -4
- data/lib/procfile_upstart_exporter/version.rb +1 -1
- data/procfile-upstart-exporter.gemspec +1 -0
- data/spec/fixtures/environment-with-spaces-and-comments +8 -0
- data/spec/fixtures/sample-application/{.env → environment} +0 -0
- data/spec/procfile_upstart_exporter/creator_spec.rb +2 -2
- data/spec/procfile_upstart_exporter/environment_parser_spec.rb +12 -1
- data/spec/procfile_upstart_exporter/procfile_parser_spec.rb +8 -0
- data/spec/spec_helper.rb +3 -0
- metadata +113 -118
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2d2d1e53d73c1d9c485b125698e2e0ab41528de6
|
4
|
+
data.tar.gz: 4f13e9cb6eee0144dfb49ea5a000606b2403533d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9ea702b920af27f119b7266aabc033b72ea4f809621fc2fc57c1f7aae53b6a806ab4b5fdd191bf1925ab19787e3878bab6d8056f823c969ce2c5082feb3afcc9
|
7
|
+
data.tar.gz: 343a676082a37552fee0982068e24233ac63dd64c8560b19e5ceddda96bc269e4e70c198e978e1c2c7f79f8221695d1c1807a73e299ae81275f5dcacc1fbbbff
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -50,7 +50,7 @@ Usage
|
|
50
50
|
### Create [Upstart][upstart] jobs configuration
|
51
51
|
|
52
52
|
```console
|
53
|
-
# procfile-upstart-exporter
|
53
|
+
# procfile-upstart-exporter create \
|
54
54
|
--application <application> \
|
55
55
|
--procfile <path-to-procfile> \
|
56
56
|
--log <path-to-log> \
|
@@ -69,6 +69,27 @@ Usage
|
|
69
69
|
--verbose
|
70
70
|
```
|
71
71
|
|
72
|
+
Changelog
|
73
|
+
---------
|
74
|
+
|
75
|
+
### `v0.0.2`
|
76
|
+
|
77
|
+
- Warn if `Procfile` or `.env` don't exist.
|
78
|
+
- Treat properly spaces and comment lines in `.env`.
|
79
|
+
|
80
|
+
### `v0.0.1`
|
81
|
+
|
82
|
+
- First implementation of `craete` and `destroy` commands with basic
|
83
|
+
functionality.
|
84
|
+
|
85
|
+
New release procedure
|
86
|
+
---------------------
|
87
|
+
|
88
|
+
1. Update changelog.
|
89
|
+
2. Bump version.
|
90
|
+
3. Push tag with version. For example, `v1.2.3`.
|
91
|
+
4. Publish in [RubyGems][ruby-gem].
|
92
|
+
|
72
93
|
License
|
73
94
|
-------
|
74
95
|
|
@@ -3,10 +3,12 @@ class ProcfileUpstartExporter::EnvironmentParser
|
|
3
3
|
ProcfileUpstartExporter.logger.debug "Start parsing environment file " \
|
4
4
|
"`#{ environment }'"
|
5
5
|
if File.exists? environment
|
6
|
-
File.read(environment).split("\n")
|
6
|
+
File.read(environment).split("\n").reject { |line|
|
7
|
+
line =~ /\A\s*(?:#.*)?\z/
|
8
|
+
}
|
7
9
|
else
|
8
|
-
ProcfileUpstartExporter.logger.
|
9
|
-
|
10
|
+
ProcfileUpstartExporter.logger.warn "Environment file " \
|
11
|
+
"`#{ environment }' does not exist"
|
10
12
|
[]
|
11
13
|
end
|
12
14
|
end
|
@@ -2,10 +2,16 @@ class ProcfileUpstartExporter::ProcfileParser
|
|
2
2
|
def parse procfile
|
3
3
|
ProcfileUpstartExporter.logger.debug 'Start parsing Procfile ' \
|
4
4
|
"`#{ procfile }'"
|
5
|
-
File.
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
if File.exists? procfile
|
6
|
+
File.read(procfile).split("\n").map do |process_line|
|
7
|
+
ProcfileUpstartExporter::Process.new(
|
8
|
+
*process_line.scan(/\A([^:]+):(.*)\z/).first.map(&:strip)
|
9
|
+
)
|
10
|
+
end
|
11
|
+
else
|
12
|
+
ProcfileUpstartExporter.logger.warn "Procfile file " \
|
13
|
+
"`#{ procfile }' does not exist"
|
14
|
+
[]
|
9
15
|
end
|
10
16
|
end
|
11
17
|
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# This is a comment, it should not be treated as environment variable.
|
2
|
+
# The following line is empty, it should also be ignored:
|
3
|
+
|
4
|
+
# The following line contains only spaces, thus should be ignored as well:
|
5
|
+
|
6
|
+
# This is a comment that starts after a few spaces
|
7
|
+
|
8
|
+
AN_ENVIRONMENT_VARIABLE=at_least
|
File without changes
|
@@ -15,7 +15,7 @@ describe ProcfileUpstartExporter::Creator do
|
|
15
15
|
let(:procfile) { 'Procfile' }
|
16
16
|
let(:log) { "#{ temp_dir }/log" }
|
17
17
|
let(:application_log) { "#{ log }/#{ application}" }
|
18
|
-
let(:environment) { '
|
18
|
+
let(:environment) { 'environment' }
|
19
19
|
let(:user) { 'bin' }
|
20
20
|
let(:upstart_jobs_path) { temp_dir }
|
21
21
|
let(:application_root) {
|
@@ -95,7 +95,7 @@ JOB_CONFIGURATION
|
|
95
95
|
expect(File.directory? application_log).to be_true
|
96
96
|
end
|
97
97
|
|
98
|
-
it "places environment variables from
|
98
|
+
it "places environment variables from environment file in Upstart job" do
|
99
99
|
act
|
100
100
|
expect(
|
101
101
|
File.read("#{ upstart_jobs_path }/#{ application }/background.conf")
|
@@ -8,7 +8,7 @@ describe ProcfileUpstartExporter::EnvironmentParser do
|
|
8
8
|
describe '#parse' do
|
9
9
|
subject(:environment_variables) { environment_parser.parse environment }
|
10
10
|
|
11
|
-
let(:environment) { 'spec/fixtures/sample-application
|
11
|
+
let(:environment) { 'spec/fixtures/sample-application/environment' }
|
12
12
|
|
13
13
|
it 'reads the environment file' do
|
14
14
|
expect(File).to receive(:read).with(environment).and_call_original
|
@@ -28,5 +28,16 @@ describe ProcfileUpstartExporter::EnvironmentParser do
|
|
28
28
|
expect(environment_variables).to eq([])
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
context 'environment file has empty lines and comments' do
|
33
|
+
let(:environment) {
|
34
|
+
'spec/fixtures/environment-with-spaces-and-comments'
|
35
|
+
}
|
36
|
+
it 'removes the empty lines and comments' do
|
37
|
+
expect(environment_variables).to eq(
|
38
|
+
['AN_ENVIRONMENT_VARIABLE=at_least']
|
39
|
+
)
|
40
|
+
end
|
41
|
+
end
|
31
42
|
end
|
32
43
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,121 +1,124 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: procfile-upstart-exporter
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Das Dad
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2013-10-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: thor
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
33
20
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: values
|
37
21
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: values
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
47
34
|
type: :runtime
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: bundler
|
51
35
|
prerelease: false
|
52
|
-
|
53
|
-
|
54
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
55
45
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
segments:
|
59
|
-
- 1
|
60
|
-
- 3
|
61
|
-
version: "1.3"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
62
48
|
type: :development
|
63
|
-
version_requirements: *id003
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
|
-
name: rake
|
66
49
|
prerelease: false
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
76
62
|
type: :development
|
77
|
-
version_requirements: *id004
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rspec
|
80
63
|
prerelease: false
|
81
|
-
|
82
|
-
|
83
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
84
73
|
- - ~>
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
segments:
|
88
|
-
- 2
|
89
|
-
- 14
|
90
|
-
version: "2.14"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.14'
|
91
76
|
type: :development
|
92
|
-
|
93
|
-
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.14'
|
83
|
+
- !ruby/object:Gem::Dependency
|
94
84
|
name: pry-nav
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
95
91
|
prerelease: false
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
105
104
|
type: :development
|
106
|
-
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
107
111
|
description: Export Procfile entries to Upstart jobs.
|
108
|
-
email:
|
112
|
+
email:
|
109
113
|
- dev@dasdad.com.br
|
110
|
-
executables:
|
114
|
+
executables:
|
111
115
|
- procfile-upstart-exporter
|
112
116
|
extensions: []
|
113
|
-
|
114
117
|
extra_rdoc_files: []
|
115
|
-
|
116
|
-
files:
|
118
|
+
files:
|
117
119
|
- .gitignore
|
118
120
|
- .rspec
|
121
|
+
- .travis.yml
|
119
122
|
- Gemfile
|
120
123
|
- README.md
|
121
124
|
- Rakefile
|
@@ -131,8 +134,9 @@ files:
|
|
131
134
|
- lib/procfile_upstart_exporter/procfile_parser.rb
|
132
135
|
- lib/procfile_upstart_exporter/version.rb
|
133
136
|
- procfile-upstart-exporter.gemspec
|
134
|
-
- spec/fixtures/
|
137
|
+
- spec/fixtures/environment-with-spaces-and-comments
|
135
138
|
- spec/fixtures/sample-application/Procfile
|
139
|
+
- spec/fixtures/sample-application/environment
|
136
140
|
- spec/procfile_upstart_exporter/creator_spec.rb
|
137
141
|
- spec/procfile_upstart_exporter/destroyer_spec.rb
|
138
142
|
- spec/procfile_upstart_exporter/environment_parser_spec.rb
|
@@ -142,43 +146,34 @@ files:
|
|
142
146
|
- spec/support/temp_dir.rb
|
143
147
|
- templates/application.conf
|
144
148
|
- templates/process.conf.erb
|
145
|
-
has_rdoc: true
|
146
149
|
homepage: https://github.com/dasdad/procfile-upstart-exporter
|
147
|
-
licenses:
|
150
|
+
licenses:
|
148
151
|
- MIT
|
152
|
+
metadata: {}
|
149
153
|
post_install_message:
|
150
154
|
rdoc_options: []
|
151
|
-
|
152
|
-
require_paths:
|
155
|
+
require_paths:
|
153
156
|
- lib
|
154
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
none: false
|
165
|
-
requirements:
|
166
|
-
- - ">="
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
hash: 3
|
169
|
-
segments:
|
170
|
-
- 0
|
171
|
-
version: "0"
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - '>='
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
172
167
|
requirements: []
|
173
|
-
|
174
168
|
rubyforge_project:
|
175
|
-
rubygems_version:
|
169
|
+
rubygems_version: 2.0.3
|
176
170
|
signing_key:
|
177
|
-
specification_version:
|
171
|
+
specification_version: 4
|
178
172
|
summary: Solve common problems with `foreman export`
|
179
|
-
test_files:
|
180
|
-
- spec/fixtures/
|
173
|
+
test_files:
|
174
|
+
- spec/fixtures/environment-with-spaces-and-comments
|
181
175
|
- spec/fixtures/sample-application/Procfile
|
176
|
+
- spec/fixtures/sample-application/environment
|
182
177
|
- spec/procfile_upstart_exporter/creator_spec.rb
|
183
178
|
- spec/procfile_upstart_exporter/destroyer_spec.rb
|
184
179
|
- spec/procfile_upstart_exporter/environment_parser_spec.rb
|