puma-daemon 0.1.1 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 181a06dc6b28bae8af85a9eaa03ad0e8eb5c0a147647b10907022db5d596b74e
4
- data.tar.gz: 21907cb861b6fb67538502fd70fa56d6c3038997869af268a8891de93f0f728c
3
+ metadata.gz: 354e2bfa89bfc2998f3b70ecd66a9854f0e6ae181f4d58646571afd50c8d85f9
4
+ data.tar.gz: e9c5d6f64616786ffb204e156546d320afe0cfbdf6a13045156d37b850436b21
5
5
  SHA512:
6
- metadata.gz: d1c287db4aaa4a4ec29abb422ed9800a31ecc32891a600ced60bf796c192d08eb7e75642a7b8137afcb283fbd1ae2872e4b02124f7ec3bbb09b8072ce72f867b
7
- data.tar.gz: c26fe226d00997d7432ef73fadaf44d70719a0c20dc5efdf6c55062dcc6df8e00b69b5794e1b94591c7625e255574135d5d36c2bc4747599e39f8c510bd3e3a7
6
+ metadata.gz: 478d5657a49012c23b2b215aaa172f2e56b81116570d98dc78c980da0cf58c6b886b334385f41c4eff3eb592534ae27c68b47e4c700137dde2d87927259ac7ab
7
+ data.tar.gz: 9d95ce3e1b76e153e2eee51e6d3f007aca208afd7ce907d2ee23d07bbc90f6f41e8943964d7800d848fda3c97e1cd400a3cee4f4af5fc646f65f51ef80c1999a
data/.envrc ADDED
@@ -0,0 +1,2 @@
1
+ alias be='bundle exec'
2
+ alias bep='bundle exec puma -C config/puma.rb --debug -v --redirect-stderr puma.stderr --redirect-stdout puma.stdout spec/rackup/bind.ru'
data/.gitignore CHANGED
@@ -1,14 +1,26 @@
1
+ !/log/.keep
2
+ !/tmp/.keep
3
+ !/tmp/pids/
4
+ !/tmp/pids/.keep
5
+ *.stderr
6
+ *.stdout
7
+ .byebug_history
8
+ .idea/
9
+ .rspec_status
10
+ .ruby-version
11
+ /.bundle
12
+ **/.bundle
1
13
  /.bundle/
2
14
  /.yardoc
15
+ /Gemfile.lock
3
16
  /_yardoc/
17
+ **/config/master.key
4
18
  /coverage/
5
19
  /doc/
20
+ /log/.keep
6
21
  /pkg/
22
+ /public/assets
7
23
  /spec/reports/
8
- /tmp/
9
- .idea/
10
- # rspec failure tracking
11
- .rspec_status
12
- .ruby-version
13
- /Gemfile.lock
14
-
24
+ **/tmp/
25
+ /tmp/*
26
+ /tmp/pids/*
data/.rubocop.yml CHANGED
@@ -19,3 +19,7 @@ Style/StringLiteralsInInterpolation:
19
19
 
20
20
  Layout/LineLength:
21
21
  Max: 120
22
+
23
+ Naming/FileName:
24
+ Exclude:
25
+ - 'lib/puma-daemon.rb'
data/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ ## [v0.1.1](https://github.com/kigster/puma-daemon/tree/v0.1.1) (2021-01-24)
4
+
5
+ [Full Changelog](https://github.com/kigster/puma-daemon/compare/v0.1.0...v0.1.1)
6
+
7
+ ## [v0.1.0](https://github.com/kigster/puma-daemon/tree/v0.1.0) (2021-01-18)
8
+
9
+ [Full Changelog](https://github.com/kigster/puma-daemon/compare/647f057123f45aecdb5da1d0567b92c72114cd8f...v0.1.0)
10
+
11
+
12
+
13
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Dockerfile.build ADDED
@@ -0,0 +1,85 @@
1
+ # Thi Dockerfile is provided so that we can eventually build
2
+ # Linux support for the bin/setup script.
3
+ #
4
+ # vim: ft=Dockerfile
5
+ #
6
+ # © 2021 Konstantin Gredeskoul, All rights reserved, MIT License.
7
+ #
8
+ # docker build . -t puma-daemon:latest
9
+ # docker run -it puma-daemon:latest
10
+ #
11
+ # Once in the container:
12
+ #
13
+ # # Run specs in Linux:
14
+ # $ specs
15
+ #
16
+ # # Test encryption:
17
+ # $ encrypt word
18
+ #
19
+
20
+ FROM ubuntu:latest
21
+
22
+ RUN apt-get update -y && \
23
+ apt-get install -yqq \
24
+ build-essential \
25
+ git \
26
+ python3-pip \
27
+ libssl-dev
28
+
29
+ ENV TERM=xterm-256color \
30
+ LC_ALL=en_US.UTF-8 \
31
+ LANG=en_US.UTF-8 \
32
+ LANGUAGE=en_US.UTF-8 \
33
+ USER=root \
34
+ HOME=/root \
35
+ DEBIAN_FRONTEND=noninteractive \
36
+ DEBCONF_NONINTERACTIVE_SEEN=true \
37
+ TZ=Pacific/Los_Angeles
38
+ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
39
+
40
+ RUN apt-get update -y && \
41
+ apt-get install -yqq locales
42
+
43
+ RUN locale-gen en_US.UTF-8
44
+
45
+ RUN apt-get update -y && \
46
+ apt-get install -yqq \
47
+ silversearcher-ag \
48
+ curl \
49
+ vim \
50
+ htop \
51
+ direnv \
52
+ sudo
53
+
54
+
55
+ ENV PATH="/root/.rbenv/bin:/root/.rbenv/shims:$PATH"
56
+
57
+ # Install rbenv in ~/.rbenv
58
+ # https://github.com/rbenv/rbenv-installer#rbenv-installer
59
+ RUN /bin/bash -c 'curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash || true'
60
+ RUN /bin/bash -c 'eval "$(rbenv init -)"; rbenv install -sv 3.0.0 && rbenv global 3.0.0'
61
+
62
+ ENV SHELL_INIT="${HOME}/.bashrc"
63
+
64
+ RUN set -e && \
65
+ cd ${HOME} && \
66
+ git clone https://github.com/kigster/bash-it .bash_it && \
67
+ cd .bash_it && \
68
+ ./install.sh -s && \
69
+ sed -i'' -E 's/bobby/powerline-multiline/g' ${SHELL_INIT} && \
70
+ echo 'eval "$(direnv hook bash)"' >>${SHELL_INIT} && \
71
+ gem install sym --no-document >/dev/null
72
+
73
+ RUN echo 'powerline.prompt.set-right-to ruby go user_info ssh clock' >>${SHELL_INIT} && \
74
+ echo 'export POWERLINE_PROMPT_CHAR="#"' >>${SHELL_INIT}
75
+
76
+ ENV PUMAD_HOME=/app/puma-daemon
77
+ RUN mkdir -p ${PUMAD_HOME}
78
+ COPY . ${PUMAD_HOME}
79
+ WORKDIR ${PUMAD_HOME}
80
+ RUN bundle install
81
+ RUN echo "source ${PUMAD_HOME}/.envrc" >>${SHELL_INIT}
82
+ RUN bash -c "cd ${PUMAD_HOME}; direnv allow . "
83
+ ENTRYPOINT /bin/bash -l
84
+
85
+
@@ -0,0 +1,71 @@
1
+ # Linux support for the bin/setup script.
2
+ #
3
+ # vim: ft=Dockerfile
4
+ #
5
+ # © 2021 Konstantin Gredeskoul, All rights reserved, MIT License.
6
+ #
7
+ # docker build . -t ruby-puma-daemon:latest
8
+ # docker run -it ruby-puma-daemon:latest
9
+ #
10
+ # Once in the container:
11
+ #
12
+ # # Run specs in Linux:
13
+ # $ bundle exec rspec
14
+ # $ bundle exec puma -C config/puma.rb spec/fixtures/lobster.ru
15
+ #
16
+ FROM ruby:3.0.0
17
+
18
+ RUN apt-get update -y && \
19
+ apt-get install -yqq \
20
+ build-essential \
21
+ git
22
+
23
+ ENV TERM=xterm-256color \
24
+ LC_ALL=en_US.UTF-8 \
25
+ LANG=en_US.UTF-8 \
26
+ LANGUAGE=en_US.UTF-8 \
27
+ USER=root \
28
+ HOME=/root \
29
+ DEBIAN_FRONTEND=noninteractive \
30
+ DEBCONF_NONINTERACTIVE_SEEN=true \
31
+ TZ=Pacific/Los_Angeles
32
+
33
+ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
34
+
35
+ RUN apt-get update -y && \
36
+ apt-get install -yqq locales
37
+
38
+ RUN locale-gen en_US.UTF-8
39
+
40
+ RUN apt-get update -y && \
41
+ apt-get install -yqq \
42
+ silversearcher-ag \
43
+ curl \
44
+ vim \
45
+ htop \
46
+ direnv \
47
+ sudo
48
+
49
+ ENV SHELL_INIT="${HOME}/.bashrc"
50
+
51
+ RUN set -e && \
52
+ cd ${HOME} && \
53
+ git clone https://github.com/kigster/bash-it .bash_it && \
54
+ cd .bash_it && \
55
+ ./install.sh -s && \
56
+ sed -i'' -E 's/bobby/powerline-multiline/g' ${SHELL_INIT} && \
57
+ echo 'eval "$(direnv hook bash)"' >>${SHELL_INIT} && \
58
+ gem install sym --no-document >/dev/null
59
+
60
+ RUN echo 'powerline.prompt.set-right-to ruby go user_info ssh clock' >>${SHELL_INIT} && \
61
+ echo 'export POWERLINE_PROMPT_CHAR="#"' >>${SHELL_INIT}
62
+
63
+ ENV PUMAD_HOME=/app/puma-daemon
64
+ RUN mkdir -p ${PUMAD_HOME}
65
+ WORKDIR ${PUMAD_HOME}
66
+ COPY . ${PUMAD_HOME}
67
+ RUN test -f .envrc && direnv allow . || true
68
+ RUN bundle install
69
+
70
+ ENTRYPOINT /bin/bash -l
71
+
data/Gemfile CHANGED
@@ -6,7 +6,6 @@ source 'https://rubygems.org'
6
6
  gemspec
7
7
 
8
8
  gem 'rake', '~> 13.0'
9
-
10
9
  group :test do
11
10
  gem 'codecov', require: false
12
11
  gem 'rspec', '~> 3.0'
data/Makefile ADDED
@@ -0,0 +1,31 @@
1
+ # vim: tabstop=8
2
+ # vim: shiftwidth=8
3
+ # vim: noexpandtab
4
+
5
+ # grep '^[a-z\-]*:' Makefile | cut -d: -f 1 | tr '\n' ' '
6
+ .PHONY: help docker-build docker-bash
7
+
8
+ RUBY_VERSION := $(cat .ruby-version)
9
+ OS := $(shell uname -s | tr '[:upper:]' '[:lower:]')
10
+
11
+ # see: https://stackoverflow.com/questions/18136918/how-to-get-current-relative-directory-of-your-makefile/18137056#18137056
12
+ MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
13
+ CURRENT_DIR := $(notdir $(patsubst %/,%,$(dir $(MAKEFILE_PATH))))
14
+ PUMAD_HOME := $(shell dirname $(MAKEFILE_PATH))
15
+
16
+ help: ## Prints help message auto-generated from the comments.
17
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
18
+
19
+ docker-build-ruby: ## Builds the Docker image by compiling ruby 3.0.0
20
+ @docker build -f Dockerfile.build -t puma-daemon:latest .
21
+
22
+ docker-download-ruby: ## Builds the Docker image by downloading ruby 3.0.0 image
23
+ @docker build -f Dockerfile.download -t puma-daemon:latest .
24
+
25
+ docker-build-run: docker-build-ruby ## Drops you into a BASH session on ubuntu with ruby 3.0.0
26
+ @docker run -it puma-daemon:latest
27
+
28
+ docker-download-run: docker-download-ruby ## Drops you into a BASH session on ubuntu with ruby 3.0.0
29
+ @docker run -it puma-daemon:latest
30
+
31
+
File without changes
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'puma/daemon'
4
+
5
+ # workers 3
6
+ threads 2, 8
7
+ port 3000
8
+ environment ENV['RAILS_ENV'] || 'production'
9
+ daemonize ENV['NO_DAEMON'] ? false : true
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'puma/daemon'
data/lib/puma/daemon.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'puma'
3
4
  require 'puma/runner'
4
5
  require 'puma/single'
5
6
  require 'puma/cluster'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Puma
4
4
  module Daemon
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puma-daemon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Gredeskoul
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-24 00:00:00.000000000 Z
11
+ date: 2021-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puma
@@ -153,19 +153,26 @@ executables:
153
153
  extensions: []
154
154
  extra_rdoc_files: []
155
155
  files:
156
+ - ".envrc"
156
157
  - ".github/workflows/main.yml"
157
158
  - ".gitignore"
158
159
  - ".rspec"
159
160
  - ".rubocop.yml"
160
161
  - ".rubocop_todo.yml"
162
+ - CHANGELOG.md
163
+ - Dockerfile.build
164
+ - Dockerfile.download
161
165
  - Gemfile
162
166
  - LICENSE.txt
167
+ - Makefile
163
168
  - README.adoc
164
169
  - Rakefile
165
170
  - bin/console
166
171
  - bin/setup
167
- - config/puma.rb
172
+ - config/puma_cluster.rb
173
+ - config/puma_single.rb
168
174
  - exe/pumad
175
+ - lib/puma-daemon.rb
169
176
  - lib/puma/daemon.rb
170
177
  - lib/puma/daemon/cli.rb
171
178
  - lib/puma/daemon/configuration.rb
@@ -195,7 +202,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
202
  - !ruby/object:Gem::Version
196
203
  version: '0'
197
204
  requirements: []
198
- rubygems_version: 3.1.4
205
+ rubygems_version: 3.2.13
199
206
  signing_key:
200
207
  specification_version: 4
201
208
  summary: Restore somewhat Puma's ability to self-daemonize, since Puma 5.0 dropped