test_server 0.3.2 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.gitignore +3 -2
- data/Gemfile +8 -12
- data/README.md +2 -2
- data/Rakefile +27 -10
- data/Rakefile.rails +4 -0
- data/app/assets/stylesheets/application.scss +2 -2
- data/config/application.rb +21 -3
- data/config/environments/production.rb +0 -8
- data/files/secrets.yml.erb +20 -0
- data/lib/test_server/actions/initialize_application.rb +6 -0
- data/lib/test_server/cli/main.rb +3 -1
- data/lib/test_server/config.rb +5 -2
- data/lib/test_server/version.rb +1 -1
- data/public/assets/ajax-loader-8deebb46e9598adab64ca18a097090f2.gif +0 -0
- data/public/assets/application-b8f8c1a2dda0ed76ca05e01be6fef6be.js +13451 -0
- data/public/assets/application-b8f8c1a2dda0ed76ca05e01be6fef6be.js.gz +0 -0
- data/public/assets/application-c2d56ef291192c32403d07556c36de26.css +8222 -0
- data/public/assets/application-c2d56ef291192c32403d07556c36de26.css.gz +0 -0
- data/public/assets/bootstrap-sass/dist/fonts/glyphicons-halflings-regular-3e35c7e527383fc6fc479c17111469de.ttf +0 -0
- data/public/assets/bootstrap-sass/dist/fonts/glyphicons-halflings-regular-483c8aa83c1cae07664b1c959523d062.woff +0 -0
- data/public/assets/bootstrap-sass/dist/fonts/glyphicons-halflings-regular-f61f75238afd91ceeef4a5e4c639ead4.svg +229 -0
- data/public/assets/bootstrap-sass/dist/fonts/glyphicons-halflings-regular-fe255aca45c0f6e7c8b2a1ed7c7a5274.eot +0 -0
- data/public/assets/bootstrap-sass/docs-assets/ico/apple-touch-icon-144-precomposed-dc1944e21bfdedf37f0626c17fe4761b.png +0 -0
- data/public/assets/bootstrap-sass/docs-assets/ico/favicon-5ee6a35987b7feae485871297a51e474.png +0 -0
- data/public/assets/bootstrap-sass/docs-assets/js/application-0981da122477809b03e6316775fba8ce.js +105 -0
- data/public/assets/bootstrap-sass/docs-assets/js/application-0981da122477809b03e6316775fba8ce.js.gz +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/carousel-4fc912866ec1da66bf3ca268dedf2fd0.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/grid-65fc56df081af8c364a3e43baa48a7f9.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/jumbotron-05e53fe8b84407cac9996bb8a7617d1f.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/jumbotron-narrow-c1456e53d5471cb59fd56efa0630407a.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/justified-nav-28adff9e12d21bc716cb8b4b45a5170a.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/navbar-9e619f72d4430e54820d5cf959899782.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/navbar-fixed-58ee4e4e189f9d59408c5be13638eae6.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/navbar-static-2be1617daecba84fc924b05da62ab618.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/non-responsive-4dbd6b23b283fc02cba682873bd715f4.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/offcanvas-bc3fe2949cd853c2a8900307956c8a97.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/sign-in-f70aa602b9439d930e0153262e70c935.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/starter-template-244e96ea0834aaf68ac2d51b4779ea02.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/sticky-footer-3709ae2872cf73ad6eadb9cf1e471ee3.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/sticky-footer-navbar-5587044c445c613c499c94987c3655b4.jpg +0 -0
- data/public/assets/bootstrap-sass/examples/screenshots/theme-21ab06bfc9b7f21b4fc8e803da11f13d.jpg +0 -0
- data/public/assets/bootstrap-sass/fonts/glyphicons-halflings-regular-3e35c7e527383fc6fc479c17111469de.ttf +0 -0
- data/public/assets/bootstrap-sass/fonts/glyphicons-halflings-regular-483c8aa83c1cae07664b1c959523d062.woff +0 -0
- data/public/assets/bootstrap-sass/fonts/glyphicons-halflings-regular-f61f75238afd91ceeef4a5e4c639ead4.svg +229 -0
- data/public/assets/bootstrap-sass/fonts/glyphicons-halflings-regular-fe255aca45c0f6e7c8b2a1ed7c7a5274.eot +0 -0
- data/public/assets/manifest-399d632024eeab469766a0adcd038b49.json +1 -0
- data/public/assets/open-sans/fonts/bold/opensans-bold-webfont-5ab08b90fbb2b65c7fa85b6257ab7c75.eot +0 -0
- data/public/assets/open-sans/fonts/bold/opensans-bold-webfont-750a875c4f25392d79776eb913ce7a2a.svg +958 -0
- data/public/assets/open-sans/fonts/bold/opensans-bold-webfont-d245c81584bc209186b92046a460e46a.woff +0 -0
- data/public/assets/open-sans/fonts/bold/opensans-bold-webfont-e7a6debf8f091e4503e044cfd5be0c41.ttf +0 -0
- data/public/assets/open-sans/fonts/bold-italic/opensans-bold-italic-webfont-3343098c02ad5c9255acc597f6d0865a.woff +0 -0
- data/public/assets/open-sans/fonts/bold-italic/opensans-bold-italic-webfont-4de1e5ddb76bb4bc65ecd0bf26d18052.ttf +0 -0
- data/public/assets/open-sans/fonts/bold-italic/opensans-bold-italic-webfont-90994dcc0d06a4e813fe6789ec46409d.eot +0 -0
- data/public/assets/open-sans/fonts/bold-italic/opensans-bold-italic-webfont-d125b28836bb8f399ae1a996b933792f.svg +958 -0
- data/public/assets/open-sans/fonts/extrabold/opensans-extrabold-webfont-4390d91f0b15889beaad27555d1a73ed.eot +0 -0
- data/public/assets/open-sans/fonts/extrabold/opensans-extrabold-webfont-5afffe461cab895cdb1b2915173f9c40.ttf +0 -0
- data/public/assets/open-sans/fonts/extrabold/opensans-extrabold-webfont-97541ae028af017f8c73e5c193001d42.svg +958 -0
- data/public/assets/open-sans/fonts/extrabold/opensans-extrabold-webfont-b41639c02d95cce9a3afabec40966e87.woff +0 -0
- data/public/assets/open-sans/fonts/extrabold-italic/opensans-extrabold-italic-webfont-4688d243519b0043c628699427e33d08.ttf +0 -0
- data/public/assets/open-sans/fonts/extrabold-italic/opensans-extrabold-italic-webfont-6124b23773362839bbb9fe59c5c42669.eot +0 -0
- data/public/assets/open-sans/fonts/extrabold-italic/opensans-extrabold-italic-webfont-b288b8bb2c0456f513c66e5f3d1a8e86.woff +0 -0
- data/public/assets/open-sans/fonts/extrabold-italic/opensans-extrabold-italic-webfont-da60ccbb572a495f477b2175c04d1960.svg +958 -0
- data/public/assets/open-sans/fonts/italic/opensans-italic-webfont-a3e912390ca29982acbe95e8bf31c679.ttf +0 -0
- data/public/assets/open-sans/fonts/italic/opensans-italic-webfont-b4669a561cdae44f45b60a0ee2e7e8cd.woff +0 -0
- data/public/assets/open-sans/fonts/italic/opensans-italic-webfont-d8a07c962e6a9bebab24506c7b0e53a5.svg +958 -0
- data/public/assets/open-sans/fonts/italic/opensans-italic-webfont-ef65d5a7ec248309b3d39185eab4de46.eot +0 -0
- data/public/assets/open-sans/fonts/light/opensans-light-webfont-0f32077bd4cbff507ff8ffc7e9f207f0.ttf +0 -0
- data/public/assets/open-sans/fonts/light/opensans-light-webfont-1337f63e97d6102f2a3a241fac129c7a.woff +0 -0
- data/public/assets/open-sans/fonts/light/opensans-light-webfont-6d641cac3cbf66342fe91dfc29723d34.eot +0 -0
- data/public/assets/open-sans/fonts/light/opensans-light-webfont-8273be5ff945da30906b8fd7fac767aa.svg +958 -0
- data/public/assets/open-sans/fonts/light-italic/opensans-light-italic-webfont-31f3f5d1f66d7ebbdd3d6f462707bee6.ttf +0 -0
- data/public/assets/open-sans/fonts/light-italic/opensans-light-italic-webfont-a5ef1006892c0a391e29f7c839982463.woff +0 -0
- data/public/assets/open-sans/fonts/light-italic/opensans-light-italic-webfont-b8b819ed29a82b0be6c0de1e8246b1dd.eot +0 -0
- data/public/assets/open-sans/fonts/light-italic/opensans-light-italic-webfont-f239c2432833ae460c2294be532f9ea7.svg +958 -0
- data/public/assets/open-sans/fonts/regular/opensans-regular-webfont-001b7e40367093d95c1d5e47f32c0830.ttf +0 -0
- data/public/assets/open-sans/fonts/regular/opensans-regular-webfont-356deed95e2b29ee22d793842fe14c14.eot +0 -0
- data/public/assets/open-sans/fonts/regular/opensans-regular-webfont-8d971e991a2e1b8c6bfb18e879c8a024.woff +0 -0
- data/public/assets/open-sans/fonts/regular/opensans-regular-webfont-c89373b333fa6e878d2e54da360d60d1.svg +958 -0
- data/public/assets/open-sans/fonts/semibold/opensans-semibold-webfont-3e3ce2430855173bdb61b444afd27798.svg +958 -0
- data/public/assets/open-sans/fonts/semibold/opensans-semibold-webfont-66d0e5df946a12d08438dd7c935ae3c1.eot +0 -0
- data/public/assets/open-sans/fonts/semibold/opensans-semibold-webfont-92eb41279d9e4bb36db7d798f4a3ce53.woff +0 -0
- data/public/assets/open-sans/fonts/semibold/opensans-semibold-webfont-a351567fbcf31a8a7ff8cf20b88da14f.ttf +0 -0
- data/public/assets/open-sans/fonts/semibold-italic/opensans-semibold-italic-webfont-096e5044aeb4a52cd9e943054c0d1916.svg +958 -0
- data/public/assets/open-sans/fonts/semibold-italic/opensans-semibold-italic-webfont-175ec3bae342e25dd251f86e8f5584b2.eot +0 -0
- data/public/assets/open-sans/fonts/semibold-italic/opensans-semibold-italic-webfont-450906046944eae72690caf27a30bec1.woff +0 -0
- data/public/assets/open-sans/fonts/semibold-italic/opensans-semibold-italic-webfont-f9131100953e2ee6bb7ea636bef99935.ttf +0 -0
- data/script/precompile +4 -0
- data/share/archlinux/Gemfile.rb.erb +9 -2
- data/share/archlinux/PKGBUILD.sh.erb +117 -30
- data/share/archlinux/bundle_config.yaml.erb +3 -0
- data/share/archlinux/config.yaml.erb +2 -0
- data/share/archlinux/database.yml.erb +25 -0
- data/share/archlinux/secrets.yml.erb +20 -0
- data/share/archlinux/startup.sh.erb +5 -0
- data/share/archlinux/test_server.install +22 -3
- data/share/{archlinux → systemd}/tmpfiles.conf.erb +0 -0
- data/spec/controllers/errors_controller_spec.rb +12 -12
- data/test_server.gemspec +13 -2
- data/tmp/.keep +0 -0
- metadata +218 -54
- data/share/systemd/test_server.service +0 -9
Binary file
|
Binary file
|
Binary file
|
data/script/precompile
ADDED
@@ -1,5 +1,12 @@
|
|
1
|
+
# Used to speed up package building if
|
2
|
+
# using https://github.com/dg-vrnetze/gem_server
|
3
|
+
source 'http://localhost:8082'
|
4
|
+
|
5
|
+
# Fallback
|
1
6
|
source 'https://rubygems.org'
|
2
7
|
|
3
|
-
|
4
|
-
|
8
|
+
gem '<%= lookup('SOFTWARE_NAME') %>', '<%= lookup('SOFTWARE_VERSION') %>'
|
9
|
+
|
10
|
+
<% eval(File.read(lookup('GEMSPEC'))).dependencies.each do |r| -%>
|
11
|
+
gem '<%= r.name %>', '<%= r.requirement %>'
|
5
12
|
<% end -%>
|
@@ -6,24 +6,30 @@ pkgdesc="test server for proxy testing"
|
|
6
6
|
arch=(i686 x86_64)
|
7
7
|
url="https://github.com/dg-vrnetze/${pkgname}"
|
8
8
|
license=('MIT')
|
9
|
-
depends=('ruby'
|
9
|
+
depends=('ruby')
|
10
10
|
install=${pkgname}.install
|
11
|
-
makedepends=(rubygems filegen phantomjs)
|
12
|
-
source=(
|
11
|
+
makedepends=('rubygems' 'filegen' 'phantomjs' 'ruby-bundler' 'libatomic_ops')
|
12
|
+
source=(<%= lookup('source') %>)
|
13
13
|
backup=etc/${pkgname}/config.yaml
|
14
|
-
|
14
|
+
backup=etc/${pkgname}/database.yml
|
15
|
+
backup=etc/${pkgname}/secrets.yml
|
15
16
|
noextract=($pkgname-$pkgver.gem)
|
16
17
|
<%= lookup('sha') %>
|
17
18
|
|
18
19
|
package() {
|
19
|
-
cd "$
|
20
|
+
cd "$pkgdir"
|
20
21
|
|
21
|
-
|
22
|
+
_ruby_api_version=$(ruby -e "puts Gem.ruby_api_version")
|
23
|
+
_bundle_library_dir=/usr/lib/${pkgname}
|
24
|
+
|
25
|
+
_library_dir=${_bundle_library_dir}/ruby/${_ruby_api_version}
|
22
26
|
_gem_directory="${_library_dir}/gems/${pkgname}-${pkgver}"
|
23
27
|
_share_dir="${_gem_directory}/share"
|
24
28
|
_systemd_dir=/usr/lib/systemd/system
|
25
29
|
_bin_dir=/usr/bin
|
26
30
|
_data_dir=/var/${pkgname}/data
|
31
|
+
_database_dir=${_data_dir}/db
|
32
|
+
_files_dir=${_data_dir}/files
|
27
33
|
_log_dir=/var/log/${pkgname}
|
28
34
|
_config_dir=/etc/${pkgname}
|
29
35
|
_examples_dir=/usr/share/${pkgname}/examples
|
@@ -37,60 +43,121 @@ package() {
|
|
37
43
|
_service_group=$pkgname
|
38
44
|
_service_environment_file=${_defaults_dir}/${pkgname}
|
39
45
|
_access_log_file=${_log_dir}/access.log
|
46
|
+
_error_log_file=${_log_dir}/error.log
|
40
47
|
_debug_mode=false
|
41
48
|
_log_level=warn
|
42
49
|
_environment=production
|
43
50
|
_listen_statement=tcp://127.0.0.1:8000
|
44
51
|
_reload_config_signal=USR1
|
45
|
-
_sass_cache_dir=$_cache_dir
|
52
|
+
_sass_cache_dir=${_cache_dir}/sass
|
46
53
|
_pid_file=${_run_dir}/pid
|
47
|
-
_executable_file=${
|
54
|
+
_executable_file=${_bin_dir}/${pkgname}
|
48
55
|
_gem_file="${_gem_directory}/Gemfile"
|
56
|
+
_bundle_config_directory=${_gem_directory}/.bundle
|
57
|
+
_bundle_config_file=${_bundle_config_directory}/config
|
58
|
+
_systemd_service_file=${_systemd_dir}/${pkgname}.service
|
59
|
+
_bundle_without_groups="test:development:doc:profile"
|
60
|
+
_database_configuration_file=${_config_dir}/database.yml
|
61
|
+
_database_configuration_link=${_gem_directory}/config/database.yml
|
62
|
+
_secrets_file=${_config_dir}/secrets.yml
|
63
|
+
_secrets_link=${_gem_directory}/config/secrets.yml
|
49
64
|
|
50
65
|
install -d ${pkgdir}$_library_dir
|
51
66
|
install -d ${pkgdir}$_bin_dir
|
52
67
|
install -d ${pkgdir}$_systemd_dir
|
53
68
|
install -d -m 770 ${pkgdir}$_data_dir
|
69
|
+
install -d -m 770 ${pkgdir}$_database_dir
|
70
|
+
install -d -m 770 ${pkgdir}$_files_dir
|
54
71
|
install -d ${pkgdir}$_log_dir
|
55
72
|
install -d ${pkgdir}$_config_dir
|
56
|
-
#install -d ${pkgdir}$_run_dir
|
57
73
|
install -d ${pkgdir}$_tmp_files_dir
|
58
74
|
install -d ${pkgdir}$_sass_cache_dir
|
59
75
|
install -d ${pkgdir}$_defaults_dir
|
76
|
+
install -d ${pkgdir}$_bundle_config_directory
|
60
77
|
|
61
|
-
|
62
|
-
msg "Starting download of gems. Don't get alert if the download takes a lot of time. Since rubygems 2.2.0 a new algorithm to resolve dependencies is used. Upgrade to > 2.2.0 via sudo /usr/bin/gem update --system to improve performance."
|
78
|
+
msg "Starting download of gems. Don't get alert if the download takes a lot of time. Since rubygems 2.2.0 a new algorithm to resolve dependencies is used. Upgrade to > 2.2.0 via \"sudo /usr/bin/gem update --system\" to improve performance."
|
63
79
|
|
64
80
|
set -x
|
65
81
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
82
|
+
# Gem includes all files needed to build package
|
83
|
+
/usr/bin/gem install \
|
84
|
+
--env-shebang \
|
85
|
+
--no-ri \
|
86
|
+
--no-rdoc \
|
87
|
+
--no-prerelease \
|
88
|
+
--install-dir ${pkgdir}${_library_dir} \
|
89
|
+
<%= lookup('package') %>
|
90
|
+
|
91
|
+
# Installation of gems is done by using bundler because `test_server` is a
|
92
|
+
# rails-application which requires a valid Gemfile.lock which can be
|
93
|
+
# generated by bundler
|
94
|
+
SOFTWARE_NAME=$pkgname \
|
95
|
+
SOFTWARE_VERSION=$pkgver \
|
96
|
+
RUBYLIB="${pkgdir}${_gem_directory}/lib" \
|
97
|
+
GEMSPEC="${pkgdir}${_gem_directory}/${pkgname}.gemspec" \
|
98
|
+
filegen ${pkgdir}${_share_dir}/archlinux/Gemfile.rb.erb > ${pkgdir}${_gem_file}
|
99
|
+
|
100
|
+
# Remove old lock
|
101
|
+
rm -f ${pkgdir}${_gem_file}.lock
|
102
|
+
|
103
|
+
# Install gems
|
104
|
+
no_proxy='localhost' \
|
105
|
+
/usr/bin/bundle install \
|
106
|
+
--gemfile ${pkgdir}${_gem_file} \
|
107
|
+
--without $_bundle_without_groups \
|
108
|
+
--path "${pkgdir}${_bundle_library_dir}" \
|
109
|
+
--no-binstubs
|
110
|
+
|
111
|
+
## Generate assets for production environment
|
112
|
+
#RAILS_ENV=production \
|
113
|
+
# BUNDLE_GEMFILE=${pkgdir}${_gem_file} \
|
114
|
+
# BUNDLE_PATH=${pkgdir}${_library_dir} \
|
115
|
+
# BUNDLE_WITHOUT=$_bundle_without_groups \
|
116
|
+
# BUNDLE_FROZEN=1 \
|
117
|
+
# /usr/bin/bundle exec rake \
|
118
|
+
# -f ${pkgdir}${_gem_directory}/Rakefile.rails \
|
119
|
+
# assets:precompile
|
120
|
+
|
121
|
+
# some files did not get a read bit while precompiling
|
122
|
+
find ${pkgdir}${_gem_directory}/public/assets -type f -exec chmod a+r {} \;
|
123
|
+
|
124
|
+
## Overwrite bundler-config because it uses absolutes path written during
|
125
|
+
## package building
|
126
|
+
#SOFTWARE_LIB=${_library_dir} \
|
127
|
+
# filegen ${pkgdir}${_share_dir}/archlinux/bundle_config.yaml.erb > ${pkgdir}${_bundle_config_file}
|
128
|
+
# Delete bundler config otherwise the environment variables (BUNDLE_*) in
|
129
|
+
# starter do not have an effect
|
130
|
+
rm ${pkgdir}${_bundle_config_file}
|
131
|
+
|
132
|
+
# A temp directory under /run is needed to run `test_server`
|
75
133
|
RUN_DIR=$_run_dir \
|
76
134
|
SERVICE_USER=$_service_user \
|
77
135
|
SERVICE_GROUP=$_service_group \
|
78
|
-
filegen ${pkgdir}${_share_dir}/
|
136
|
+
filegen ${pkgdir}${_share_dir}/systemd/tmpfiles.conf.erb > ${pkgdir}${_tmp_files_file}
|
137
|
+
|
138
|
+
chmod 644 ${pkgdir}${_tmp_files_file}
|
79
139
|
|
140
|
+
# Generate `test_server`-service file for systemd
|
80
141
|
COMMAND="${_executable_file} serve" \
|
81
|
-
DESCRIPTION='Server to proxy tests'
|
142
|
+
DESCRIPTION='Server to proxy tests' \
|
82
143
|
SERVICE_USER=$_service_user \
|
83
144
|
SERVICE_GROUP=$_service_group \
|
84
145
|
DEFAULTS_FILE=$_service_environment_file \
|
85
|
-
filegen ${pkgdir}${_share_dir}/systemd/${pkgname}.service.erb > ${pkgdir}$
|
146
|
+
filegen ${pkgdir}${_share_dir}/systemd/${pkgname}.service.erb > ${pkgdir}${_systemd_service_file}
|
147
|
+
|
148
|
+
chmod 644 ${pkgdir}${_systemd_service_file}
|
86
149
|
|
150
|
+
# Generate /etc/default/test_server-file
|
87
151
|
VARIABLES="HOME=/home/$_service_user" \
|
88
152
|
filegen ${pkgdir}${_share_dir}/archlinux/defaults.sh.erb > ${pkgdir}${_service_environment_file}
|
89
153
|
|
90
|
-
chmod 644 ${pkgdir}${
|
154
|
+
chmod 644 ${pkgdir}${_service_environment_file}
|
91
155
|
|
156
|
+
# Generate default configuration for `test_server`
|
92
157
|
ACCESS_LOG=$_access_log_file \
|
158
|
+
ERROR_LOG=$_error_log_file \
|
93
159
|
CONFIG_FILE=$_config_file \
|
160
|
+
SECRETS_FILE=$_secrets_file \
|
94
161
|
DEBUG_MODE=$_debug_mode \
|
95
162
|
ENVIRONMENT=$_environment \
|
96
163
|
LISTEN=$_listen_statement \
|
@@ -102,19 +169,39 @@ package() {
|
|
102
169
|
|
103
170
|
chmod 644 ${pkgdir}${_config_file}
|
104
171
|
|
105
|
-
|
106
|
-
|
107
|
-
filegen ${pkgdir}${_share_dir}/archlinux/
|
172
|
+
# Generate Database configuration
|
173
|
+
DATABASE_DIRECTORY=$_database_dir \
|
174
|
+
filegen ${pkgdir}${_share_dir}/archlinux/database.yml.erb > ${pkgdir}${_database_configuration_file}
|
175
|
+
|
176
|
+
ln -fs ${_database_configuration_file} ${pkgdir}${_database_configuration_link}
|
177
|
+
|
178
|
+
chmod 640 ${pkgdir}${_database_configuration_file}
|
179
|
+
|
180
|
+
# Generate Secrets for your application
|
181
|
+
filegen ${pkgdir}${_share_dir}/archlinux/secrets.yml.erb > ${pkgdir}${_secrets_file}
|
182
|
+
|
183
|
+
ln -fs ${_secrets_file} ${pkgdir}${_secrets_link}
|
184
|
+
|
185
|
+
chmod 640 ${pkgdir}${_secrets_file}
|
186
|
+
|
187
|
+
# Generate wrapper to set all environment variables correctly to make
|
188
|
+
# bundler find installed ruby gems
|
189
|
+
SOFTWARE_BINARY=${_gem_directory}/bin/${pkgname} \
|
190
|
+
SOFTWARE_LIB=${_library_dir} \
|
191
|
+
BUNDLE_WITHOUT_GROUPS=$_bundle_without_groups \
|
192
|
+
GEMFILE=${_gem_file} \
|
193
|
+
filegen ${pkgdir}${_share_dir}/archlinux/startup.sh.erb > ${pkgdir}${_executable_file}
|
108
194
|
|
109
195
|
chmod a+x ${pkgdir}/${_bin_dir}/${pkgname}
|
110
196
|
|
197
|
+
# Delete tempfiles
|
111
198
|
rm -rf ${pkgdir}/${_library_dir}/cache
|
112
199
|
rm -rf ${pkgdir}/${_library_dir}/{build_info,doc}
|
113
200
|
|
114
|
-
|
115
|
-
#install -D -m644 ${pkgdir}/$_share_dir/systemd/${pkgname}.socket ${pkgdir}/$_systemd_dir
|
116
|
-
|
201
|
+
# Install license
|
117
202
|
install -D -m644 ${pkgdir}${_share_dir}/../LICENSE.md "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
|
203
|
+
|
204
|
+
set +x
|
118
205
|
}
|
119
206
|
|
120
207
|
# vim:set ts=2 sw=2 et:
|
@@ -1,6 +1,8 @@
|
|
1
1
|
---
|
2
2
|
:access_log: <%= lookup('ACCESS_LOG') %>
|
3
|
+
:error_log: <%= lookup('ERROR_LOG') %>
|
3
4
|
:config_file: <%= lookup('CONFIG_FILE') %>
|
5
|
+
:secrets_file: <%= lookup('SECRETS_FILE') %>
|
4
6
|
:debug_mode: <%= lookup('DEBUG_MODE') %>
|
5
7
|
:environment: <%= lookup('ENVIRONMENT') %>
|
6
8
|
:listen: <%= lookup('LISTEN') %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# SQLite version 3.x
|
2
|
+
# gem install sqlite3
|
3
|
+
#
|
4
|
+
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
+
# gem 'sqlite3'
|
6
|
+
#
|
7
|
+
default: &default
|
8
|
+
adapter: sqlite3
|
9
|
+
pool: 5
|
10
|
+
timeout: 5000
|
11
|
+
|
12
|
+
development:
|
13
|
+
<<: *default
|
14
|
+
database: <%= lookup('DATABASE_DIRECTORY') %>/development.sqlite3
|
15
|
+
|
16
|
+
# Warning: The database defined as "test" will be erased and
|
17
|
+
# re-generated from your development database when you run "rake".
|
18
|
+
# Do not set this db to the same as development or production.
|
19
|
+
test:
|
20
|
+
<<: *default
|
21
|
+
database: <%= lookup('DATABASE_DIRECTORY') %>/test.sqlite3
|
22
|
+
|
23
|
+
production:
|
24
|
+
<<: *default
|
25
|
+
database: <%= lookup('DATABASE_DIRECTORY') %>/production.sqlite3
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Your secret key is used for verifying the integrity of signed cookies.
|
4
|
+
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
|
6
|
+
# Make sure the secret is at least 30 characters and all random,
|
7
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
8
|
+
# You can use `rake secret` to generate a secure secret key.
|
9
|
+
|
10
|
+
# Make sure the secrets in this file are kept private
|
11
|
+
# if you're sharing your code publicly.
|
12
|
+
<%- require 'securerandom' -%>
|
13
|
+
development:
|
14
|
+
secret_key_base: <%= SecureRandom.hex(128) %>
|
15
|
+
|
16
|
+
test:
|
17
|
+
secret_key_base: <%= SecureRandom.hex(128) %>
|
18
|
+
|
19
|
+
production:
|
20
|
+
secret_key_base: <%= SecureRandom.hex(128) %>
|
@@ -4,6 +4,11 @@ export GEM_ROOT='<%= lookup('SOFTWARE_LIB') %>'
|
|
4
4
|
export GEM_PATH='<%= lookup('SOFTWARE_LIB') %>'
|
5
5
|
export GEM_HOME='<%= lookup('SOFTWARE_LIB') %>'
|
6
6
|
|
7
|
+
export BUNDLE_PATH='<%= lookup('SOFTWARE_LIB') %>'
|
8
|
+
export BUNDLE_WITHOUT='<%= lookup('BUNDLE_WITHOUT_GROUPS') %>'
|
9
|
+
export BUNDLE_FROZEN=1
|
10
|
+
export BUNDLE_GEMFILE='<%= lookup('GEMFILE') %>'
|
11
|
+
|
7
12
|
export PATH="<%= lookup('SOFTWARE_LIB') %>/bin:$PATH"
|
8
13
|
|
9
14
|
exec <%= lookup('SOFTWARE_BINARY') %> $*
|
@@ -8,6 +8,11 @@ _data_dir=/var/${pkgname}/data
|
|
8
8
|
_log_dir=/var/log/${pkgname}
|
9
9
|
_cache_dir=/var/cache/${pkgname}
|
10
10
|
_sass_cache_directory=$_cache_dir
|
11
|
+
_database_dir=${_data_dir}/db
|
12
|
+
_files_dir=${_data_dir}/files
|
13
|
+
_config_dir=/etc/${pkgname}
|
14
|
+
_database_configuration_file=${_config_dir}/database.yml
|
15
|
+
_secrets_file=${_config_dir}/secrets.yml
|
11
16
|
|
12
17
|
post_install() {
|
13
18
|
if ! getent group $_admin_group >/dev/null; then
|
@@ -18,13 +23,22 @@ post_install() {
|
|
18
23
|
useradd -m $_service_user
|
19
24
|
fi
|
20
25
|
|
21
|
-
for path in $_log_dir $_sass_cache_directory; do
|
26
|
+
for path in $_log_dir $_sass_cache_directory $_data_dir $_database_dir $_files_dir; do
|
22
27
|
chown -R $_service_user:$_service_group $path
|
23
28
|
done
|
24
29
|
|
25
30
|
# Admins are allowed to write, service is allowd to read, others can do nothing
|
26
|
-
chown :$_admin_group $
|
27
|
-
setfacl -m g:$_service_group:rx $
|
31
|
+
chown :$_admin_group $_files_dir
|
32
|
+
setfacl -m g:$_service_group:rx $_files_dir
|
33
|
+
|
34
|
+
# Allow the web application to read database configuration file
|
35
|
+
chown :$_service_group $_database_configuration_file
|
36
|
+
|
37
|
+
# Allow the web application to read secrets file
|
38
|
+
chown :$_service_group $_secrets_file
|
39
|
+
|
40
|
+
# Create run directories
|
41
|
+
systemd-tmpfiles --create
|
28
42
|
|
29
43
|
echo ""
|
30
44
|
echo "Please place a config file at one of the following places:"
|
@@ -35,6 +49,8 @@ post_install() {
|
|
35
49
|
echo ""
|
36
50
|
echo "The package contains a \"config.yaml\" which has been placed at /etc/test_server/config.yaml during package install. Feel free to modify it."
|
37
51
|
echo ""
|
52
|
+
echo "Make sure you add your admins to the admin group \"$_admin_group\" to enable those to upload files used for testing via scp."
|
53
|
+
echo ""
|
38
54
|
}
|
39
55
|
|
40
56
|
post_upgrade() {
|
@@ -62,4 +78,7 @@ post_remove() {
|
|
62
78
|
if ! getent passwd $_service_user >/dev/null; then
|
63
79
|
userdel $_service_user
|
64
80
|
fi
|
81
|
+
|
82
|
+
# Delete run directories
|
83
|
+
systemd-tmpfiles --clean
|
65
84
|
}
|
File without changes
|
@@ -1,12 +1,12 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe TestServer::ErrorsController do
|
4
|
-
|
5
|
-
describe "GET 'not_found'" do
|
6
|
-
it "returns http success" do
|
7
|
-
get 'not_found'
|
8
|
-
response.should be_success
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
1
|
+
#require 'spec_helper'
|
2
|
+
#
|
3
|
+
#describe TestServer::ErrorsController do
|
4
|
+
#
|
5
|
+
# describe "GET 'not_found'" do
|
6
|
+
# it "returns http success" do
|
7
|
+
# get 'not_found'
|
8
|
+
# response.should be_success
|
9
|
+
# end
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
#end
|
data/test_server.gemspec
CHANGED
@@ -3,6 +3,7 @@ lib = File.expand_path('../lib', __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
|
5
5
|
require 'test_server/version'
|
6
|
+
require 'pathname'
|
6
7
|
|
7
8
|
Gem::Specification.new do |spec|
|
8
9
|
spec.name = 'test_server'
|
@@ -11,9 +12,13 @@ Gem::Specification.new do |spec|
|
|
11
12
|
spec.email = ['dg1@vrnetze.de']
|
12
13
|
spec.summary = %q{Test server for proxies}
|
13
14
|
spec.description = %q{Test server for proxies}
|
14
|
-
|
15
|
+
spec.license = 'MIT'
|
15
16
|
|
16
|
-
|
17
|
+
base_path = File.expand_path('..', __FILE__)
|
18
|
+
git_files = `git ls-files -z`.split("\x0")
|
19
|
+
asset_files = Dir.glob(File.join(base_path, 'public', 'assets', '**', '*')).keep_if { |f| File.file? f }.collect { |f| Pathname.new(f).relative_path_from(Pathname.new(base_path)).to_s }
|
20
|
+
|
21
|
+
spec.files = git_files + asset_files
|
17
22
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
23
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
24
|
spec.require_paths = ['lib']
|
@@ -37,8 +42,14 @@ Gem::Specification.new do |spec|
|
|
37
42
|
spec.add_runtime_dependency 'sass-rails', '~> 4.0.3'
|
38
43
|
spec.add_runtime_dependency 'sqlite3'
|
39
44
|
spec.add_runtime_dependency 'therubyracer'
|
45
|
+
spec.add_runtime_dependency 'sprockets-rails', '~> 2.1.3'
|
40
46
|
spec.add_runtime_dependency 'thor'
|
41
47
|
spec.add_runtime_dependency 'turbolinks'
|
42
48
|
spec.add_runtime_dependency 'breadcrumbs_on_rails'
|
43
49
|
spec.add_runtime_dependency 'uglifier', '>= 1.3.0'
|
50
|
+
spec.add_runtime_dependency 'bundler', '~> 1.6.2'
|
51
|
+
spec.add_runtime_dependency 'puma', '~> 2.8.2'
|
52
|
+
spec.add_runtime_dependency 'pry'
|
53
|
+
spec.add_runtime_dependency 'pry-rails'
|
54
|
+
spec.add_runtime_dependency 'pry-debugger'
|
44
55
|
end
|
data/tmp/.keep
ADDED
File without changes
|