smartcloud 0.0.206 → 0.1.0.beta5

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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6c62081c62d76faea905c0502e283247123f433d020ae50d47f50dfb1416c293
4
- data.tar.gz: 91bc5b352f3f2c87c23aa7e6d65fdde68acb7994f7fad982374456556bf09689
3
+ metadata.gz: 62498c1f68025b362a0887fe07ff16f8f43eeae99955e9ff60b2098c10d7b0da
4
+ data.tar.gz: a85f8a5ac34a078ab695a6ca91db41c5aa06692b2ab45b951cd7e81f31a741a3
5
5
  SHA512:
6
- metadata.gz: 6ec10636c50c3aa415047521e5e1e4712a21c4497f565d65f55cc3a9a34cb14990cf29067c0994dd3d51e67b32a01b48f4c60c96eaa2fa2f6c34536817c24282
7
- data.tar.gz: a140bbac432112aaf0e33020612238ff2f11a24242ecf22a17bb28930934af23eea383d15b5c88e9cce1d08d1fa3de5c4cf6d5a5dded857e7f1c66b63bcfe183
6
+ metadata.gz: 2bc01a890b6cefe16b7aab7f6fce7901a73de54a22ff2eceb05999be9cfd31218a9e4e02670470f09992e513c6036ccb365b9563dfe22761e76fa7c1d03a5fc3
7
+ data.tar.gz: 502d8097742296cbc37ad72114904123d7d8f4bbcbf8d66fc8d5bc010e016aea0905bd6abb1d41c99f5e037f01c58cbd98c0db25088df8984e6e9c1873d4a7fc
@@ -71,10 +71,10 @@ module Smartcloud
71
71
  # Remove server.pid if it exists
72
72
  FileUtils.rm("tmp/pids/server.pid") if File.exist? "tmp/pids/server.pid"
73
73
 
74
- # if system("god -c Godfile -D")
74
+ if system("bundle", "exec", "puma", "-C", "config/puma.rb")
75
75
  return true
76
- # end
77
- # return false
76
+ end
77
+ return false
78
78
  end
79
79
 
80
80
  def set_logger_formatter_arrow
@@ -1,5 +1,5 @@
1
1
  FROM ruby:2.6.4-alpine3.10
2
- MAINTAINER Timeboard <hello@timeboard.me>
2
+ LABEL maintainer="Timeboard <hello@timeboard.me>"
3
3
 
4
4
  # User
5
5
  # --- Fix to change gid of 999 to 99 so that addgroup is free to create a group with 999 as gid
@@ -30,6 +30,6 @@ USER "$USER_NAME"
30
30
  WORKDIR "/home/$USER_NAME/.smartcloud/grids/grid-runner/apps"
31
31
 
32
32
  # Gems
33
- RUN gem install smartcloud
33
+ RUN gem install smartcloud --pre
34
34
 
35
35
  CMD ["spawn-fcgi", "-n", "-p", "9000", "/usr/bin/fcgiwrap", "-f"]
@@ -23,8 +23,7 @@ USER "$USER_NAME"
23
23
  WORKDIR "/app"
24
24
 
25
25
  # Gems
26
- RUN gem install smartcloud && \
27
- gem install bundler && \
28
- gem install god
26
+ RUN gem install smartcloud --pre && \
27
+ gem install bundler
29
28
 
30
29
  CMD ["buildpacker", "start"]
@@ -113,7 +113,7 @@ module Smartcloud
113
113
  --build-arg USER_NAME=`id -un` \
114
114
  --build-arg USER_UID=`id -u` \
115
115
  --build-arg DOCKER_GID=`getent group docker | cut -d: -f3` \
116
- #{Smartcloud.config.root_path}/lib/smartcloud/grids/grid-runner")
116
+ #{Smartcloud.config.root_path}/lib/smartcloud/grids/grid-runner", out: File::NULL)
117
117
  puts "done"
118
118
  end
119
119
  end
@@ -123,7 +123,7 @@ module Smartcloud
123
123
  if system("docker image build -t smartcloud/buildpacks/rails \
124
124
  --build-arg USER_UID=`id -u` \
125
125
  --build-arg USER_NAME=`id -un` \
126
- #{Smartcloud.config.root_path}/lib/smartcloud/grids/grid-runner/buildpacks/rails")
126
+ #{Smartcloud.config.root_path}/lib/smartcloud/grids/grid-runner/buildpacks/rails", out: File::NULL)
127
127
  puts "done"
128
128
  end
129
129
  end
@@ -307,26 +307,16 @@ module Smartcloud
307
307
  FileUtils.mkdir_p("#{container_path}/app/public")
308
308
  FileUtils.mkdir_p("#{container_path}/app/node_modules")
309
309
 
310
- # Setup Godfile
311
- unless File.exist? "#{container_path_with_version}/Godfile"
312
- logger.warn "Godfile not detected. Adding a default Godfile. It is recommended to add your own Godfile."
313
- page = <<~"HEREDOC"
314
- God.watch do |w|
315
- w.name = "web"
316
- w.start = "bundle exec puma -C config/puma.rb"
317
- w.behavior(:clean_pid_file)
318
- w.keepalive
319
- end
320
- HEREDOC
321
- system("echo '#{page}' > #{container_path_with_version}/Godfile")
322
- end
323
-
324
310
  # Creating & Starting container
325
- self.stop_app("#{appname}_new")
311
+ container_id = `docker ps -a -q --filter='name=^#{appname}_1$' --filter='status=running'`.chomp
312
+ new_container = container_id.empty? ? "#{appname}_1" : "#{appname}_2"
313
+ old_container = container_id.empty? ? "#{appname}_2" : "#{appname}_1"
314
+
315
+ self.stop_app("#{new_container}")
326
316
  if system("docker create \
327
- --name='#{appname}_new' \
317
+ --name='#{new_container}' \
328
318
  --env-file='#{container_path}/env' \
329
- --expose='5000' \
319
+ --expose='3000' \
330
320
  --volume='#{Smartcloud.config.user_home_path}/.smartcloud/config:#{Smartcloud.config.user_home_path}/.smartcloud/config' \
331
321
  --volume='#{container_path_with_version}:/app' \
332
322
  --volume='#{container_path}/app/vendor/bundle:/app/vendor/bundle' \
@@ -336,17 +326,16 @@ module Smartcloud
336
326
  --network='nginx-network' \
337
327
  smartcloud/buildpacks/rails", out: File::NULL)
338
328
 
339
- system("docker network connect solr-network #{appname}_new")
340
- system("docker network connect mysql-network #{appname}_new")
329
+ system("docker network connect solr-network #{new_container}")
330
+ system("docker network connect mysql-network #{new_container}")
341
331
 
342
- if system("docker start --attach #{appname}_new")
343
- if self.hot_reloaded_app?(appname)
344
- self.clean_up(container_path)
345
- logger.info "Launched Application ... Success."
346
- exit 0
347
- end
332
+ if system("docker start --attach #{new_container}")
333
+ self.stop_app(old_container)
334
+ self.clean_up(container_path)
335
+ logger.info "Launched Application ... Success."
336
+ exit 10
348
337
  else
349
- self.stop_app("#{appname}_new")
338
+ self.stop_app("#{new_container}")
350
339
  end
351
340
  end
352
341
  end
@@ -367,29 +356,6 @@ module Smartcloud
367
356
  end
368
357
  end
369
358
 
370
- # Hot reloading app containers and removing old app container
371
- def self.hot_reloaded_app?(appname)
372
- logger.debug "Hot reloading '#{appname}' containers ..."
373
-
374
- container_id = `docker ps -a -q --filter='name=^#{appname}$'`.chomp
375
- unless container_id.empty?
376
- if system("docker container rename #{appname} #{appname}_old", [:out, :err] => File::NULL)
377
- logger.debug "Container renamed from #{appname} #{appname}_old"
378
- if system("docker container rename #{appname}_new #{appname}", [:out, :err] => File::NULL)
379
- logger.debug "Container renamed from #{appname}_new #{appname}"
380
- self.stop_app("#{appname}_old")
381
- return true
382
- end
383
- end
384
- else
385
- if system("docker container rename #{appname}_new #{appname}", [:out, :err] => File::NULL)
386
- logger.debug "Container renamed from #{appname}_new #{appname}"
387
- return true
388
- end
389
- end
390
- return false
391
- end
392
-
393
359
  def self.load_container_env_vars(container_path)
394
360
  unless File.exist? "#{container_path}/env"
395
361
  logger.fatal "Environment could not be loaded ... Failed."
@@ -406,6 +372,7 @@ module Smartcloud
406
372
  true
407
373
  end
408
374
 
375
+ # Stop Container
409
376
  def self.stop_container(container_name)
410
377
  if Smartcloud::Docker.running?
411
378
  container_id = `docker ps -a -q --filter='name=^#{container_name}$'`.chomp
@@ -10,7 +10,7 @@ while read oldrev newrev refname; do
10
10
  REPOSITORY_BASENAME=$(basename $(readlink -nf "$PWD"/..))
11
11
  fi
12
12
  script --quiet --return --flush --command "runner prereceive $REPOSITORY_BASENAME $REMOTE_USER $oldrev $newrev $refname" /home/$(whoami)/.smartcloud/grids/grid-runner/apps/containers/$REPOSITORY_BASENAME/typescript
13
- if [ "$?" -eq 0 ]; then
13
+ if [ "$?" -eq 10 ]; then
14
14
  exit 0
15
15
  fi
16
16
  exit 1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.206
4
+ version: 0.1.0.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timeboard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-04 00:00:00.000000000 Z
11
+ date: 2019-09-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh