test_server 0.3.2 → 0.3.4
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 -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
|