stack_car 0.7.1 → 0.13.0
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/README.md +64 -1
- data/lib/stack_car.rb +1 -0
- data/lib/stack_car/cli.rb +131 -38
- data/lib/stack_car/dot_rc.rb +25 -0
- data/lib/stack_car/version.rb +1 -1
- data/stack_car.gemspec +1 -0
- data/templates/.dockerignore.erb +2 -2
- data/templates/.env.development.erb +2 -0
- data/templates/.env.erb +15 -16
- data/templates/.gitlab-ci.yml.erb +95 -62
- data/templates/Dockerfile.erb +26 -7
- data/templates/chart-fcrepo/fcrepo-deploy.yaml +63 -0
- data/templates/chart-fcrepo/fcrepo-env-cm.yaml +8 -0
- data/templates/chart-fcrepo/fcrepo-env-secret.yaml.tt +10 -0
- data/templates/chart-fcrepo/fcrepo-pvc.yaml +20 -0
- data/templates/chart-fcrepo/fcrepo-svc.yaml +19 -0
- data/templates/chart-sidekiq/sidekiq-deploy.yaml +80 -0
- data/templates/chart/.gitignore +3 -0
- data/templates/chart/.helmignore +23 -0
- data/templates/chart/Chart.yaml.tt +29 -0
- data/templates/chart/README.md +223 -0
- data/templates/chart/bin/check_sidekiq.rb +0 -0
- data/templates/chart/bin/decrypt +17 -0
- data/templates/chart/bin/deploy +14 -0
- data/templates/chart/bin/encrypt +15 -0
- data/templates/chart/bin/remove +15 -0
- data/templates/chart/sample-values.yaml.tt +138 -0
- data/templates/chart/templates/_helpers.tpl.tt +85 -0
- data/templates/chart/templates/rails-env-cm.yaml.tt +47 -0
- data/templates/chart/templates/rails-env-secret.yaml +10 -0
- data/templates/chart/templates/rails-pvc-shared.yml +20 -0
- data/templates/chart/templates/setup-job.yaml +73 -0
- data/templates/chart/templates/web-deploy.yaml +67 -0
- data/templates/chart/templates/web-ing-wildcard.yaml +20 -0
- data/templates/chart/templates/web-ing.yaml +20 -0
- data/templates/chart/templates/web-svc.yaml +20 -0
- data/templates/database.yml.erb +10 -10
- data/templates/docker-compose.yml.erb +49 -17
- data/templates/env.conf.erb +11 -9
- data/templates/nginx.sh.erb +17 -0
- metadata +47 -11
- data/templates/Dockerfile.base.erb +0 -48
- data/templates/docker-compose.ci.yml.erb +0 -87
- data/templates/docker-compose.production.yml.erb +0 -26
data/templates/env.conf.erb
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
<% if options[:postgres] -%>
|
2
|
-
env
|
3
|
-
env
|
4
|
-
env
|
5
|
-
env
|
2
|
+
env DATABASE_ADAPTER;
|
3
|
+
env DATABASE_NAME;
|
4
|
+
env DATABASE_USER;
|
5
|
+
env DATABASE_PASSWORD;
|
6
|
+
env DATABASE_HOST;
|
6
7
|
env TEST_DB;
|
7
8
|
<% end -%>
|
8
9
|
<% if options[:mysql] -%>
|
9
|
-
env
|
10
|
-
env
|
11
|
-
env
|
12
|
-
env
|
13
|
-
env
|
10
|
+
env DATABASE_ADAPTER;
|
11
|
+
env DATABASE_NAME;
|
12
|
+
env DATABASE_USER;
|
13
|
+
env DATABASE_PASSWORD;
|
14
|
+
env DATABASE_ROOT_PASSWORD;
|
15
|
+
env DATABASE_HOST;
|
14
16
|
env TEST_DB;
|
15
17
|
<% end -%>
|
16
18
|
<% if options[:deploy] || options[:rancher] -%>
|
data/templates/nginx.sh.erb
CHANGED
@@ -12,9 +12,26 @@ then
|
|
12
12
|
export PASSENGER_APP_ENV=development
|
13
13
|
fi
|
14
14
|
|
15
|
+
rm -rf /home/app/webapp/.ruby*
|
16
|
+
|
17
|
+
declare -p | grep -Ev 'BASHOPTS|PWD|BASH_VERSINFO|EUID|PPID|SHELLOPTS|UID' > /container.env
|
18
|
+
|
19
|
+
if [[ $PASSENGER_APP_ENV == "development" ]] || [[ $PASSENGER_APP_ENV == "test" ]]
|
20
|
+
then
|
21
|
+
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && bundle exec rails db:create db:migrate db:test:prepare'
|
22
|
+
fi
|
23
|
+
|
15
24
|
if [[ $PASSENGER_APP_ENV == "production" ]] || [[ $PASSENGER_APP_ENV == "staging" ]]
|
16
25
|
then
|
26
|
+
/bin/bash -l -c 'chown -R app:app /home/app/webapp/tmp' # mounted volume may have wrong permissions
|
27
|
+
/bin/bash -l -c 'chown -R app:app /home/app/webapp/public' # mounted volume may have wrong permissions
|
17
28
|
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && bundle exec rake db:migrate'
|
29
|
+
if [ -d /home/app/webapp/public/assets-new ]; then
|
30
|
+
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && rsync -a public/assets-new/ public/assets/'
|
31
|
+
fi
|
32
|
+
if [ -d /home/app/webapp/public/packs-new ]; then
|
33
|
+
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && rsync -a public/packs-new/ public/packs/'
|
34
|
+
fi
|
18
35
|
fi
|
19
36
|
|
20
37
|
exec /usr/sbin/nginx
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stack_car
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Kaufman
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '2.2'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: json
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '2.3'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '2.3'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: thor
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,7 +136,7 @@ dependencies:
|
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0.19'
|
125
|
-
description:
|
139
|
+
description:
|
126
140
|
email:
|
127
141
|
- rob@notch8.com
|
128
142
|
executables:
|
@@ -144,6 +158,7 @@ files:
|
|
144
158
|
- exe/stack_car
|
145
159
|
- lib/stack_car.rb
|
146
160
|
- lib/stack_car/cli.rb
|
161
|
+
- lib/stack_car/dot_rc.rb
|
147
162
|
- lib/stack_car/version.rb
|
148
163
|
- logo.jpg
|
149
164
|
- public/.gitkeep
|
@@ -154,14 +169,36 @@ files:
|
|
154
169
|
- templates/.env.development.erb
|
155
170
|
- templates/.env.erb
|
156
171
|
- templates/.gitlab-ci.yml.erb
|
157
|
-
- templates/Dockerfile.base.erb
|
158
172
|
- templates/Dockerfile.builder.erb
|
159
173
|
- templates/Dockerfile.erb
|
160
174
|
- templates/README.md
|
175
|
+
- templates/chart-fcrepo/fcrepo-deploy.yaml
|
176
|
+
- templates/chart-fcrepo/fcrepo-env-cm.yaml
|
177
|
+
- templates/chart-fcrepo/fcrepo-env-secret.yaml.tt
|
178
|
+
- templates/chart-fcrepo/fcrepo-pvc.yaml
|
179
|
+
- templates/chart-fcrepo/fcrepo-svc.yaml
|
180
|
+
- templates/chart-sidekiq/sidekiq-deploy.yaml
|
181
|
+
- templates/chart/.gitignore
|
182
|
+
- templates/chart/.helmignore
|
183
|
+
- templates/chart/Chart.yaml.tt
|
184
|
+
- templates/chart/README.md
|
185
|
+
- templates/chart/bin/check_sidekiq.rb
|
186
|
+
- templates/chart/bin/decrypt
|
187
|
+
- templates/chart/bin/deploy
|
188
|
+
- templates/chart/bin/encrypt
|
189
|
+
- templates/chart/bin/remove
|
190
|
+
- templates/chart/sample-values.yaml.tt
|
191
|
+
- templates/chart/templates/_helpers.tpl.tt
|
192
|
+
- templates/chart/templates/rails-env-cm.yaml.tt
|
193
|
+
- templates/chart/templates/rails-env-secret.yaml
|
194
|
+
- templates/chart/templates/rails-pvc-shared.yml
|
195
|
+
- templates/chart/templates/setup-job.yaml
|
196
|
+
- templates/chart/templates/web-deploy.yaml
|
197
|
+
- templates/chart/templates/web-ing-wildcard.yaml
|
198
|
+
- templates/chart/templates/web-ing.yaml
|
199
|
+
- templates/chart/templates/web-svc.yaml
|
161
200
|
- templates/database.yml.erb
|
162
201
|
- templates/deploy.yml.erb
|
163
|
-
- templates/docker-compose.ci.yml.erb
|
164
|
-
- templates/docker-compose.production.yml.erb
|
165
202
|
- templates/docker-compose.yml.erb
|
166
203
|
- templates/env.conf.erb
|
167
204
|
- templates/hosts.erb
|
@@ -188,7 +225,7 @@ files:
|
|
188
225
|
homepage: https://gitlab.com/notch8/stack_car
|
189
226
|
licenses: []
|
190
227
|
metadata: {}
|
191
|
-
post_install_message:
|
228
|
+
post_install_message:
|
192
229
|
rdoc_options: []
|
193
230
|
require_paths:
|
194
231
|
- lib
|
@@ -203,9 +240,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
240
|
- !ruby/object:Gem::Version
|
204
241
|
version: '0'
|
205
242
|
requirements: []
|
206
|
-
|
207
|
-
|
208
|
-
signing_key:
|
243
|
+
rubygems_version: 3.0.8
|
244
|
+
signing_key:
|
209
245
|
specification_version: 4
|
210
246
|
summary: A tool to make rails + docker easy
|
211
247
|
test_files: []
|
@@ -1,48 +0,0 @@
|
|
1
|
-
FROM phusion/passenger-ruby23:0.9.28
|
2
|
-
|
3
|
-
RUN <%= pre_apt_string %> && \
|
4
|
-
curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
|
5
|
-
apt-get update -qq && \
|
6
|
-
apt-get install -y build-essential nodejs pv tzdata libsasl2-dev <%= apt_packages_string %> && \
|
7
|
-
apt-get clean && \
|
8
|
-
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
|
9
|
-
<%= post_apt_string %>
|
10
|
-
|
11
|
-
<% if options[:fcrepo] %>
|
12
|
-
RUN mkdir -p /opt/fits && \
|
13
|
-
curl -fSL -o /opt/fits-0.8.5.zip http://projects.iq.harvard.edu/files/fits/files/fits-0.8.5.zip && \
|
14
|
-
cd /opt && \
|
15
|
-
unzip fits-0.8.5.zip && \
|
16
|
-
chmod +x fits-0.8.5/fits.sh
|
17
|
-
|
18
|
-
<% end -%>
|
19
|
-
|
20
|
-
RUN rm /etc/nginx/sites-enabled/default
|
21
|
-
|
22
|
-
ENV APP_HOME /home/app/webapp
|
23
|
-
RUN mkdir $APP_HOME
|
24
|
-
WORKDIR $APP_HOME
|
25
|
-
|
26
|
-
ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \
|
27
|
-
BUNDLE_JOBS=4
|
28
|
-
|
29
|
-
ADD Gemfile* $APP_HOME/
|
30
|
-
RUN bundle check || bundle install
|
31
|
-
|
32
|
-
<% if options[:delayed_job] || options[:sidekiq] %>
|
33
|
-
RUN touch /var/log/worker.log && chmod 666 /var/log/worker.log
|
34
|
-
RUN mkdir /etc/service/worker
|
35
|
-
ADD ops/worker.sh /etc/service/worker/run
|
36
|
-
RUN chmod +x /etc/service/worker/run
|
37
|
-
<% end %>
|
38
|
-
|
39
|
-
ADD . $APP_HOME
|
40
|
-
RUN chown -R app $APP_HOME
|
41
|
-
|
42
|
-
# this is so that these items are cached and only have to be updated
|
43
|
-
RUN /sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && DB_ADAPTER=nulldb bundle exec rake assets:precompile'
|
44
|
-
# Asset complie and migrate if prod, otherwise just start nginx
|
45
|
-
ADD ops/nginx.sh /etc/service/nginx/run
|
46
|
-
RUN chmod +x /etc/service/nginx/run
|
47
|
-
RUN rm -f /etc/service/nginx/down
|
48
|
-
|
@@ -1,87 +0,0 @@
|
|
1
|
-
version: '2.1'
|
2
|
-
services:
|
3
|
-
<% if options[:postgres] -%>
|
4
|
-
postgres:
|
5
|
-
image: postgres
|
6
|
-
env_file:
|
7
|
-
- .env
|
8
|
-
ports:
|
9
|
-
- "5432"
|
10
|
-
<% end -%>
|
11
|
-
<% if options[:mysql] -%>
|
12
|
-
mysql:
|
13
|
-
image: mysql
|
14
|
-
env_file:
|
15
|
-
- .env
|
16
|
-
ports:
|
17
|
-
- '3306'
|
18
|
-
<% end -%>
|
19
|
-
<% if options[:elasticsearch] -%>
|
20
|
-
elasticsearch:
|
21
|
-
image: elasticsearch:1.7.1
|
22
|
-
env_file:
|
23
|
-
- .env
|
24
|
-
ports:
|
25
|
-
- "9200"
|
26
|
-
- "9300"
|
27
|
-
<% end -%>
|
28
|
-
<% if options[:solr] %>
|
29
|
-
solr:
|
30
|
-
image: solr:latest
|
31
|
-
env_file:
|
32
|
-
- .env
|
33
|
-
ports:
|
34
|
-
- "8983"
|
35
|
-
entrypoint:
|
36
|
-
- docker-entrypoint.sh
|
37
|
-
- solr-precreate
|
38
|
-
- mycore
|
39
|
-
# docker-compose exec --user=solr solr bin/solr create_core -c CORENAME
|
40
|
-
<% end -%>
|
41
|
-
<% if options[:redis] -%>
|
42
|
-
redis:
|
43
|
-
image: 'redis:3.2-alpine'
|
44
|
-
env_file:
|
45
|
-
- .env
|
46
|
-
command: redis-server
|
47
|
-
ports:
|
48
|
-
- '6379'
|
49
|
-
<% end -%>
|
50
|
-
<% if options[:mongodb] -%>
|
51
|
-
mongodb:
|
52
|
-
image: mongo:2.6.12
|
53
|
-
env_file:
|
54
|
-
- .env
|
55
|
-
ports:
|
56
|
-
- "27017"
|
57
|
-
<% end -%>
|
58
|
-
<% if options[:memcached] -%>
|
59
|
-
memcached:
|
60
|
-
image: memcached
|
61
|
-
env_file:
|
62
|
-
- .env
|
63
|
-
ports:
|
64
|
-
- "11211"
|
65
|
-
<% end -%>
|
66
|
-
<% if options[:fcrepo] -%>
|
67
|
-
fcrepo:
|
68
|
-
image: botimer/fcrepo:4.5.1
|
69
|
-
env_file:
|
70
|
-
- .env
|
71
|
-
volumes:
|
72
|
-
- 'fcrepo:/opt/data'
|
73
|
-
ports:
|
74
|
-
- "8080"
|
75
|
-
<% end -%>
|
76
|
-
web:
|
77
|
-
image: "${REGISTRY_HOST}${REGISTRY_URI}:${TAG:-master}"
|
78
|
-
env_file:
|
79
|
-
- .env
|
80
|
-
rap.host: ${SITE_URI}
|
81
|
-
rap.le_host: ${SITE_URI}
|
82
|
-
rap.le_test: true
|
83
|
-
io.rancher.container.pull_image: always
|
84
|
-
ports:
|
85
|
-
- "80"
|
86
|
-
depends_on:
|
87
|
-
<%= compose_depends %>
|
@@ -1,26 +0,0 @@
|
|
1
|
-
version: '2.1'
|
2
|
-
services:
|
3
|
-
web:
|
4
|
-
image: "${REGISTRY_HOST}${REGISTRY_URI}:${TAG:-master}"
|
5
|
-
environment:
|
6
|
-
- RAILS_ENV=production
|
7
|
-
- RACK_ENV=production
|
8
|
-
- PASSENGER_APP_ENV=production
|
9
|
-
restart: unless-stopped
|
10
|
-
ports:
|
11
|
-
- "80"
|
12
|
-
labels:
|
13
|
-
rap.host: ${SITE_URI}
|
14
|
-
rap.le_host: ${SITE_URI}
|
15
|
-
rap.le_test: true
|
16
|
-
io.rancher.container.pull_image: always
|
17
|
-
env_file:
|
18
|
-
- .env
|
19
|
-
- .env.production
|
20
|
-
|
21
|
-
<% if options[:rancher] -%>
|
22
|
-
volumes:
|
23
|
-
uploads:
|
24
|
-
driver: rancher-nfs
|
25
|
-
external: true
|
26
|
-
<% end -%>
|