roro 0.3.6 → 0.3.13
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 +5 -5
- data/{lib/roro/cli/templates/dockerize/.env → .circleci}/.keep +0 -0
- data/.circleci/config.yml +55 -0
- data/{lib/roro/cli/templates/ruby_gem → .circleci}/setup-gem-credentials.sh +1 -1
- data/.gitignore +13 -3
- data/Guardfile +2 -12
- data/docker-compose.yml +15 -0
- data/lib/roro.rb +0 -1
- data/lib/roro/cli.rb +70 -4
- data/lib/roro/cli/cli.rb +99 -0
- data/lib/roro/cli/configuration.rb +1 -0
- data/lib/roro/cli/expose.rb +8 -7
- data/lib/roro/cli/generate/config.rb +5 -5
- data/lib/roro/cli/generate/generate_keys.rb +47 -79
- data/lib/roro/cli/greenfield.rb +11 -21
- data/lib/roro/cli/obfuscate.rb +10 -11
- data/lib/roro/cli/rollon.rb +2 -2
- data/lib/roro/cli/rollon/stories.rb +2 -3
- data/lib/roro/cli/{templates/dockerize/.env/development/.keep → rollon/stories/database.rb} +0 -0
- data/lib/roro/cli/rollon/stories/rails.rb +1 -0
- data/lib/roro/cli/{templates/dockerize → rollon/stories/rails}/.keep +0 -0
- data/lib/roro/cli/rollon/{database → stories/rails}/database.rb +2 -0
- data/lib/roro/cli/rollon/{database → stories/rails/database}/with_mysql.rb +0 -0
- data/lib/roro/cli/rollon/{database/with_postgres.rb → stories/rails/database/with_postgresql.rb} +0 -0
- data/lib/roro/cli/rollon/stories/ruby_gem.rb +77 -0
- data/lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb +45 -0
- data/lib/roro/cli/rollon/stories/stories.rb +3 -0
- data/lib/roro/cli/ruby_gem.rb +60 -47
- data/lib/roro/cli/templates/base/.dockerignore +2 -2
- data/lib/roro/cli/templates/base/.env/database.mysql.env.tt +0 -1
- data/lib/roro/cli/templates/base/.env/database.pg.env.tt +0 -1
- data/lib/roro/cli/templates/base/.env/web.env.tt +1 -0
- data/lib/roro/cli/templates/base/Dockerfile.tt +53 -15
- data/lib/roro/cli/templates/greenfield/Dockerfile.tt +1 -1
- data/lib/roro/cli/templates/ruby_gem/{docker/env_files → .circleci}/.keep +0 -0
- data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt +40 -0
- data/lib/roro/cli/templates/ruby_gem/.circleci/setup-gem-credentials.sh +3 -0
- data/lib/roro/cli/templates/ruby_gem/docker-compose.yml +10 -4
- data/lib/roro/cli/templates/ruby_gem/{docker/keys → roro/containers}/.keep +0 -0
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +16 -0
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +1 -0
- data/lib/roro/cli/templates/ruby_gem/roro/keys/.keep +0 -0
- data/lib/roro/cli/templates/stories/rails/database/with_mysql/_service.yml +10 -0
- data/lib/roro/cli/templates/stories/rails/database/with_postgresql/.keep +0 -0
- data/lib/roro/cli/templates/stories/rails/database/with_postgresql/_service.yml +7 -0
- data/lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml +11 -0
- data/lib/roro/version.rb +1 -1
- data/roro.gemspec +3 -3
- data/roro/containers/.keep +0 -0
- data/roro/containers/ruby_image/Dockerfile +16 -0
- data/roro/containers/ruby_image/ci.env.enc +2 -0
- data/roro/keys/.keep +0 -0
- data/sandbox/.keep +0 -0
- data/tmp/.keep +0 -0
- data/vendor/cache/concurrent-ruby-1.1.7.gem +0 -0
- data/vendor/cache/gem-release-2.1.1.gem +0 -0
- metadata +59 -35
- data/lib/roro/cli/generate_keys.rb +0 -79
- data/lib/roro/cli/templates/circleci/config.yml.tt +0 -70
- data/lib/roro/cli/templates/dockerize/.env/development/database +0 -3
- data/lib/roro/cli/templates/dockerize/.env/development/web +0 -1
- data/lib/roro/cli/templates/dockerize/Dockerfile.tt +0 -23
- data/lib/roro/cli/templates/dockerize/docker-compose.yml.tt +0 -60
- data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +0 -9
- data/lib/roro/cli/templates/quickstart/Dockerfile.tt +0 -20
- data/lib/roro/cli/templates/quickstart/database.yml +0 -85
- data/lib/roro/cli/templates/quickstart/docker-compose.yml +0 -17
- data/lib/roro/cli/templates/quickstart/entrypoint.sh +0 -8
- data/lib/roro/cli/templates/ruby_gem/.gitignore +0 -8
- data/lib/roro/cli/templates/ruby_gem/config.yml +0 -122
- data/lib/roro/cli/templates/ruby_gem/docker/containers/app/Dockerfile.tt +0 -10
- data/vendor/cache/concurrent-ruby-1.1.6.gem +0 -0
@@ -24,11 +24,11 @@ VOLUME /gems
|
|
24
24
|
RUN echo "source 'https://rubygems.org'\ngem 'rails'" > Gemfile
|
25
25
|
|
26
26
|
## Bundle to install rails:
|
27
|
-
RUN bundle install
|
28
27
|
|
29
28
|
## Switch to the the work directory from container root:
|
30
29
|
WORKDIR ${APP_HOME}
|
31
30
|
|
31
|
+
RUN bundle install
|
32
32
|
## Use Rails to generate a new app. We'll configure it later.
|
33
33
|
RUN bundle exec rails new . --skip-webpack-install --skip-bundle
|
34
34
|
|
File without changes
|
@@ -0,0 +1,40 @@
|
|
1
|
+
version: 2.1
|
2
|
+
|
3
|
+
jobs:
|
4
|
+
|
5
|
+
build:
|
6
|
+
machine: true
|
7
|
+
steps:
|
8
|
+
- checkout
|
9
|
+
|
10
|
+
test:
|
11
|
+
machine: true
|
12
|
+
steps:
|
13
|
+
- placeholder
|
14
|
+
|
15
|
+
release:
|
16
|
+
machine: true
|
17
|
+
steps:
|
18
|
+
- checkout
|
19
|
+
- run: gem install roro
|
20
|
+
- run: roro generate::exposed ci
|
21
|
+
- run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
|
22
|
+
- run: chmod +x ./.circleci/setup-gem-credentials.sh
|
23
|
+
- run: ./.circleci/setup-gem-credentials.sh
|
24
|
+
- run: cat ~/.gem/credentials
|
25
|
+
- run: git checkout .
|
26
|
+
- run: gem release
|
27
|
+
|
28
|
+
workflows:
|
29
|
+
version: 2
|
30
|
+
|
31
|
+
build-release:
|
32
|
+
jobs:
|
33
|
+
- build
|
34
|
+
- test
|
35
|
+
- release:
|
36
|
+
requires:
|
37
|
+
- build
|
38
|
+
filters:
|
39
|
+
branches:
|
40
|
+
only: release
|
@@ -1,9 +1,15 @@
|
|
1
|
-
version: '3.
|
1
|
+
version: '3.2'
|
2
2
|
|
3
3
|
services:
|
4
4
|
|
5
|
-
|
5
|
+
ruby_gem:
|
6
6
|
build:
|
7
7
|
context: .
|
8
|
-
dockerfile:
|
9
|
-
|
8
|
+
dockerfile: roro/containers/ruby_image/Dockerfile
|
9
|
+
environment:
|
10
|
+
- RUBY_VERSION=${RUBY_VERSION}
|
11
|
+
volumes:
|
12
|
+
- gem_cache:/gems
|
13
|
+
|
14
|
+
volumes:
|
15
|
+
gem_cache:
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
ARG RUBY_VERSION=<%= config['ruby_version'] %>
|
2
|
+
ARG RUBY_IMAGE=ruby:${RUBY_VERSION}-alpine
|
3
|
+
FROM $RUBY_IMAGE
|
4
|
+
|
5
|
+
RUN apk add --no-cache --update build-base linux-headers git
|
6
|
+
|
7
|
+
ENV APP_HOME /usr/src/app/
|
8
|
+
ENV BUNDLE_PATH /gems
|
9
|
+
ENV GEM_PATH ${BUNDLE_PATH}
|
10
|
+
ENV GEM_HOME ${BUNDLE_PATH}
|
11
|
+
|
12
|
+
RUN mkdir ${BUNDLE_PATH}
|
13
|
+
|
14
|
+
WORKDIR ${APP_HOME}
|
15
|
+
COPY . ${APP_HOME}
|
16
|
+
RUN bundle install
|
@@ -0,0 +1 @@
|
|
1
|
+
export RUBYGEMS_API_KEY=<%= config['rubygems_api_key'] %>
|
File without changes
|
File without changes
|
@@ -0,0 +1,11 @@
|
|
1
|
+
build:
|
2
|
+
machine: true
|
3
|
+
steps:
|
4
|
+
- checkout
|
5
|
+
|
6
|
+
<%= 'getsome' %>
|
7
|
+
- run: gem install roro
|
8
|
+
- run: roro generate::exposed ci
|
9
|
+
- run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
|
10
|
+
- run: gem install gem-release
|
11
|
+
# - run: gem release --key $RUBYGEMS_API_KEY
|
data/lib/roro/version.rb
CHANGED
data/roro.gemspec
CHANGED
@@ -37,11 +37,11 @@ Gem::Specification.new do |spec|
|
|
37
37
|
# spec.bindir = "exe"
|
38
38
|
# spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
39
39
|
spec.require_paths = ["lib"]
|
40
|
-
|
41
|
-
spec.add_dependency "thor"
|
40
|
+
spec.add_dependency "gem-release", "~> 2.1"
|
41
|
+
spec.add_dependency "thor", "~> 1.0"
|
42
42
|
spec.add_dependency "os", "1.0.0"
|
43
43
|
spec.add_dependency "sshkit", "1.18.2"
|
44
|
-
spec.add_dependency "handsome_fencer-crypto"
|
44
|
+
spec.add_dependency "handsome_fencer-crypto"
|
45
45
|
spec.add_development_dependency "bundler"
|
46
46
|
spec.add_development_dependency "rake", ">= 12.3"
|
47
47
|
spec.add_development_dependency "handsome_fencer-test", "0.1.1"
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
ARG RUBY_VERSION=2.7
|
2
|
+
ARG RUBY_IMAGE=ruby:${RUBY_VERSION}-alpine
|
3
|
+
FROM $RUBY_IMAGE
|
4
|
+
|
5
|
+
RUN apk add --no-cache --update build-base linux-headers git
|
6
|
+
|
7
|
+
ENV APP_HOME /usr/src/app/
|
8
|
+
ENV BUNDLE_PATH /gems
|
9
|
+
ENV GEM_PATH ${BUNDLE_PATH}
|
10
|
+
ENV GEM_HOME ${BUNDLE_PATH}
|
11
|
+
|
12
|
+
RUN mkdir ${BUNDLE_PATH}
|
13
|
+
|
14
|
+
WORKDIR ${APP_HOME}
|
15
|
+
COPY . ${APP_HOME}
|
16
|
+
RUN bundle install
|
data/roro/keys/.keep
ADDED
File without changes
|
data/sandbox/.keep
ADDED
File without changes
|
data/tmp/.keep
ADDED
File without changes
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- schadenfred
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: gem-release
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.1'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: thor
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - "
|
31
|
+
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
33
|
+
version: '1.0'
|
20
34
|
type: :runtime
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - "
|
38
|
+
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
40
|
+
version: '1.0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: os
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,16 +70,16 @@ dependencies:
|
|
56
70
|
name: handsome_fencer-crypto
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0
|
75
|
+
version: '0'
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: bundler
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,6 +160,9 @@ executables:
|
|
146
160
|
extensions: []
|
147
161
|
extra_rdoc_files: []
|
148
162
|
files:
|
163
|
+
- ".circleci/.keep"
|
164
|
+
- ".circleci/config.yml"
|
165
|
+
- ".circleci/setup-gem-credentials.sh"
|
149
166
|
- ".gitignore"
|
150
167
|
- ".ruby-gemset"
|
151
168
|
- ".travis.yml"
|
@@ -158,6 +175,7 @@ files:
|
|
158
175
|
- bin/console
|
159
176
|
- bin/roro
|
160
177
|
- bin/setup
|
178
|
+
- docker-compose.yml
|
161
179
|
- lib/roro.rb
|
162
180
|
- lib/roro/cli.rb
|
163
181
|
- lib/roro/cli/base/base.rb
|
@@ -167,20 +185,26 @@ files:
|
|
167
185
|
- lib/roro/cli/base/insert_gems.rb
|
168
186
|
- lib/roro/cli/base/insertions.rb
|
169
187
|
- lib/roro/cli/base/utilities.rb
|
188
|
+
- lib/roro/cli/cli.rb
|
170
189
|
- lib/roro/cli/configuration.rb
|
171
190
|
- lib/roro/cli/expose.rb
|
172
191
|
- lib/roro/cli/generate/config.rb
|
173
192
|
- lib/roro/cli/generate/config/rails.rb
|
174
193
|
- lib/roro/cli/generate/generate.rb
|
175
194
|
- lib/roro/cli/generate/generate_keys.rb
|
176
|
-
- lib/roro/cli/generate_keys.rb
|
177
195
|
- lib/roro/cli/greenfield.rb
|
178
196
|
- lib/roro/cli/obfuscate.rb
|
179
197
|
- lib/roro/cli/rollon.rb
|
180
|
-
- lib/roro/cli/rollon/database/database.rb
|
181
|
-
- lib/roro/cli/rollon/database/with_mysql.rb
|
182
|
-
- lib/roro/cli/rollon/database/with_postgres.rb
|
183
198
|
- lib/roro/cli/rollon/stories.rb
|
199
|
+
- lib/roro/cli/rollon/stories/database.rb
|
200
|
+
- lib/roro/cli/rollon/stories/rails.rb
|
201
|
+
- lib/roro/cli/rollon/stories/rails/.keep
|
202
|
+
- lib/roro/cli/rollon/stories/rails/database.rb
|
203
|
+
- lib/roro/cli/rollon/stories/rails/database/with_mysql.rb
|
204
|
+
- lib/roro/cli/rollon/stories/rails/database/with_postgresql.rb
|
205
|
+
- lib/roro/cli/rollon/stories/ruby_gem.rb
|
206
|
+
- lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb
|
207
|
+
- lib/roro/cli/rollon/stories/stories.rb
|
184
208
|
- lib/roro/cli/roro_configurator.yml
|
185
209
|
- lib/roro/cli/ruby_gem.rb
|
186
210
|
- lib/roro/cli/templates/base/.dockerignore
|
@@ -193,15 +217,6 @@ files:
|
|
193
217
|
- lib/roro/cli/templates/base/Dockerfile.tt
|
194
218
|
- lib/roro/cli/templates/base/config/database.mysql.yml
|
195
219
|
- lib/roro/cli/templates/base/config/database.pg.yml
|
196
|
-
- lib/roro/cli/templates/circleci/config.yml.tt
|
197
|
-
- lib/roro/cli/templates/dockerize/.env/.keep
|
198
|
-
- lib/roro/cli/templates/dockerize/.env/development/.keep
|
199
|
-
- lib/roro/cli/templates/dockerize/.env/development/database
|
200
|
-
- lib/roro/cli/templates/dockerize/.env/development/web
|
201
|
-
- lib/roro/cli/templates/dockerize/.keep
|
202
|
-
- lib/roro/cli/templates/dockerize/Dockerfile.tt
|
203
|
-
- lib/roro/cli/templates/dockerize/docker-compose.yml.tt
|
204
|
-
- lib/roro/cli/templates/dockerize/docker-entrypoint.sh
|
205
220
|
- lib/roro/cli/templates/greenfield/Dockerfile.tt
|
206
221
|
- lib/roro/cli/templates/jumpstart/.env/.keep
|
207
222
|
- lib/roro/cli/templates/jumpstart/.env/development/.keep
|
@@ -212,10 +227,6 @@ files:
|
|
212
227
|
- lib/roro/cli/templates/jumpstart/docker-compose.yml
|
213
228
|
- lib/roro/cli/templates/jumpstart/docker-entrypoint.sh
|
214
229
|
- lib/roro/cli/templates/livereload/hosts.example
|
215
|
-
- lib/roro/cli/templates/quickstart/Dockerfile.tt
|
216
|
-
- lib/roro/cli/templates/quickstart/database.yml
|
217
|
-
- lib/roro/cli/templates/quickstart/docker-compose.yml
|
218
|
-
- lib/roro/cli/templates/quickstart/entrypoint.sh
|
219
230
|
- lib/roro/cli/templates/roro/.keep
|
220
231
|
- lib/roro/cli/templates/roro/docker-compose.yml.tt
|
221
232
|
- lib/roro/cli/templates/roro/roro/.keep
|
@@ -223,20 +234,31 @@ files:
|
|
223
234
|
- lib/roro/cli/templates/roro/roro/containers/app/.keep
|
224
235
|
- lib/roro/cli/templates/roro/roro/containers/frontend/.keep
|
225
236
|
- lib/roro/cli/templates/roro/roro/docker-entrypoint.sh.tt
|
226
|
-
- lib/roro/cli/templates/ruby_gem/.
|
227
|
-
- lib/roro/cli/templates/ruby_gem/config.yml
|
237
|
+
- lib/roro/cli/templates/ruby_gem/.circleci/.keep
|
238
|
+
- lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt
|
239
|
+
- lib/roro/cli/templates/ruby_gem/.circleci/setup-gem-credentials.sh
|
228
240
|
- lib/roro/cli/templates/ruby_gem/docker-compose.yml
|
229
|
-
- lib/roro/cli/templates/ruby_gem/
|
230
|
-
- lib/roro/cli/templates/ruby_gem/
|
231
|
-
- lib/roro/cli/templates/ruby_gem/
|
232
|
-
- lib/roro/cli/templates/ruby_gem/
|
241
|
+
- lib/roro/cli/templates/ruby_gem/roro/containers/.keep
|
242
|
+
- lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt
|
243
|
+
- lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt
|
244
|
+
- lib/roro/cli/templates/ruby_gem/roro/keys/.keep
|
233
245
|
- lib/roro/cli/templates/stories/.keep
|
246
|
+
- lib/roro/cli/templates/stories/rails/database/with_mysql/_service.yml
|
247
|
+
- lib/roro/cli/templates/stories/rails/database/with_postgresql/.keep
|
248
|
+
- lib/roro/cli/templates/stories/rails/database/with_postgresql/_service.yml
|
249
|
+
- lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml
|
234
250
|
- lib/roro/cli/templates/stories/with_mysql/_service.yml
|
235
251
|
- lib/roro/cli/templates/stories/with_postgresql/.keep
|
236
252
|
- lib/roro/cli/templates/stories/with_postgresql/_service.yml
|
237
253
|
- lib/roro/version.rb
|
238
254
|
- lib/tasks/deploy.rake
|
239
255
|
- roro.gemspec
|
256
|
+
- roro/containers/.keep
|
257
|
+
- roro/containers/ruby_image/Dockerfile
|
258
|
+
- roro/containers/ruby_image/ci.env.enc
|
259
|
+
- roro/keys/.keep
|
260
|
+
- sandbox/.keep
|
261
|
+
- tmp/.keep
|
240
262
|
- vendor/bundle/.keep
|
241
263
|
- vendor/cache/actionpack-6.0.3.2.gem
|
242
264
|
- vendor/cache/actionview-6.0.3.2.gem
|
@@ -245,13 +267,14 @@ files:
|
|
245
267
|
- vendor/cache/builder-3.2.4.gem
|
246
268
|
- vendor/cache/byebug-11.1.3.gem
|
247
269
|
- vendor/cache/coderay-1.1.3.gem
|
248
|
-
- vendor/cache/concurrent-ruby-1.1.
|
270
|
+
- vendor/cache/concurrent-ruby-1.1.7.gem
|
249
271
|
- vendor/cache/crass-1.0.6.gem
|
250
272
|
- vendor/cache/em-websocket-0.5.1.gem
|
251
273
|
- vendor/cache/erubi-1.9.0.gem
|
252
274
|
- vendor/cache/eventmachine-1.2.7.gem
|
253
275
|
- vendor/cache/ffi-1.13.1.gem
|
254
276
|
- vendor/cache/formatador-0.2.5.gem
|
277
|
+
- vendor/cache/gem-release-2.1.1.gem
|
255
278
|
- vendor/cache/given_core-3.8.0.gem
|
256
279
|
- vendor/cache/guard-2.16.2.gem
|
257
280
|
- vendor/cache/guard-compat-1.2.1.gem
|
@@ -321,7 +344,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
321
344
|
- !ruby/object:Gem::Version
|
322
345
|
version: '0'
|
323
346
|
requirements: []
|
324
|
-
|
347
|
+
rubyforge_project:
|
348
|
+
rubygems_version: 2.6.13
|
325
349
|
signing_key:
|
326
350
|
specification_version: 4
|
327
351
|
summary: Containerization framwork for Ruby on Rails applications.
|
@@ -1,79 +0,0 @@
|
|
1
|
-
require 'openssl'
|
2
|
-
require 'base64'
|
3
|
-
require 'handsome_fencer/crypto'
|
4
|
-
|
5
|
-
module Roro
|
6
|
-
|
7
|
-
class CLI < Thor
|
8
|
-
|
9
|
-
include Thor::Actions
|
10
|
-
include HandsomeFencer::Crypto
|
11
|
-
|
12
|
-
desc "generate_keys", "Generates keys for all environments. If you have .env files like './**/production.env' and './**/staging.env' this command assumes you need keys for the production and staging environments, and will generate them for you."
|
13
|
-
|
14
|
-
def generate_keys
|
15
|
-
generate_key
|
16
|
-
end
|
17
|
-
|
18
|
-
desc "generate_key", "Generate a key for each environment"
|
19
|
-
method_option :environment, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
|
20
|
-
|
21
|
-
def generate_key(*args)
|
22
|
-
environments = args.first ? [args.first] : gather_environments
|
23
|
-
environments.each do |environment|
|
24
|
-
confirm_files_decrypted?(environment)
|
25
|
-
create_file "docker/keys/#{environment}.key", encoded_key
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
no_commands do
|
30
|
-
|
31
|
-
def encoded_key
|
32
|
-
@cipher = OpenSSL::Cipher.new 'AES-128-CBC'
|
33
|
-
@salt = '8 octets'
|
34
|
-
@new_key = @cipher.random_key
|
35
|
-
Base64.encode64(@new_key)
|
36
|
-
end
|
37
|
-
|
38
|
-
def gather_environments
|
39
|
-
environments = []
|
40
|
-
['.env', '.env.enc'].each do |extension|
|
41
|
-
|
42
|
-
HandsomeFencer::Crypto.source_files('.', extension).each do |env_file|
|
43
|
-
environments << env_file.split('/').last.split(extension).last
|
44
|
-
end
|
45
|
-
end
|
46
|
-
environments.uniq
|
47
|
-
end
|
48
|
-
|
49
|
-
def confirm_files_decrypted?(environment)
|
50
|
-
orphan_encrypted = []
|
51
|
-
HandsomeFencer::Crypto.source_files('.', '.env.enc').each do |file|
|
52
|
-
orphan_encrypted << file unless File.exist? file.split('.enc').first
|
53
|
-
end
|
54
|
-
|
55
|
-
if !orphan_encrypted.empty?
|
56
|
-
raise Roro::Error.new("You have an encrypted files (.env.enc) #{orphan_encrypted} that do not have corresponding decrypted files (.env). Please decrypt or remove these encrypted files before generating a new key for #{environment}.")
|
57
|
-
end
|
58
|
-
true
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# desc "generate keys", "Generate keys on a per-environment basis"
|
64
|
-
#
|
65
|
-
# method_option :environment, type: :string, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
|
66
|
-
#
|
67
|
-
|
68
|
-
# def generate_keys
|
69
|
-
# default_environments = %w[circleci development production]
|
70
|
-
# environments = args.first ? [args.first] : default_environments
|
71
|
-
# environments.each do |environment|
|
72
|
-
# @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
|
73
|
-
# @salt = '8 octets'
|
74
|
-
# @new_key = @cipher.random_key
|
75
|
-
#
|
76
|
-
# create_file "docker/keys/#{environment}.key", Base64.encode64(@new_key)
|
77
|
-
# end
|
78
|
-
# end
|
79
|
-
end
|