superhosting 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.gitignore +1 -0
- data/.travis.yml +13 -0
- data/Gemfile.lock +43 -7
- data/LICENSE.txt +4 -1
- data/Vagrantfile +6 -3
- data/bin/sx +6 -2
- data/bootstrap/etc/sx/default_model +1 -0
- data/bootstrap/etc/sx/models/base/container/docker/command +1 -0
- data/bootstrap/etc/sx/models/base/container/docker/user.erb +1 -0
- data/bootstrap/etc/sx/models/base/container/docker/volume.erb +2 -0
- data/bootstrap/etc/sx/models/bitrix_l/inherit +3 -0
- data/bootstrap/etc/sx/models/bitrix_m/inherit +3 -0
- data/bootstrap/etc/sx/models/bitrix_xl/inherit +3 -0
- data/bootstrap/etc/sx/models/common_bitrix/abstract +1 -0
- data/bootstrap/etc/sx/models/common_bitrix/container/mux +1 -0
- data/bootstrap/etc/sx/models/common_bitrix/inherit +1 -0
- data/bootstrap/etc/sx/models/common_bitrix/site/php/admin_value +2 -0
- data/bootstrap/etc/sx/models/common_bitrix/site/php/flag +1 -0
- data/bootstrap/etc/sx/models/common_bitrix/site/php/value +6 -0
- data/bootstrap/etc/sx/models/common_fcgi/abstract +1 -0
- data/bootstrap/etc/sx/models/common_fcgi/container/config.rb +6 -0
- data/bootstrap/etc/sx/models/common_fcgi/container/config_templates/supervisord.conf.erb +16 -0
- data/bootstrap/etc/sx/models/common_fcgi/container/docker/image +1 -0
- data/bootstrap/etc/sx/models/common_fcgi/container/docker/user.erb +1 -0
- data/bootstrap/etc/sx/models/common_fcgi/container/system_users +1 -0
- data/bootstrap/etc/sx/models/common_fcgi/site/config.rb +4 -0
- data/bootstrap/etc/sx/models/common_fcgi/site/config_templates/nginx_vhost.erb +21 -0
- data/bootstrap/etc/sx/models/common_joomla/abstract +1 -0
- data/bootstrap/etc/sx/models/common_joomla/site/php/flag +1 -0
- data/bootstrap/etc/sx/models/common_joomla/site/php/value +2 -0
- data/bootstrap/etc/sx/models/common_joomla_v2/abstract +1 -0
- data/bootstrap/etc/sx/models/common_joomla_v2/container/mux +1 -0
- data/bootstrap/etc/sx/models/common_joomla_v2/inherit +2 -0
- data/bootstrap/etc/sx/models/common_joomla_v3/abstract +1 -0
- data/bootstrap/etc/sx/models/common_joomla_v3/container/mux +1 -0
- data/bootstrap/etc/sx/models/common_joomla_v3/inherit +2 -0
- data/bootstrap/etc/sx/models/common_l/abstract +1 -0
- data/bootstrap/etc/sx/models/common_l/container/docker/blkio_weight +1 -0
- data/bootstrap/etc/sx/models/common_l/container/docker/cpu_period +1 -0
- data/bootstrap/etc/sx/models/common_l/container/docker/cpu_quota +1 -0
- data/bootstrap/etc/sx/models/common_l/container/docker/cpu_shares +1 -0
- data/bootstrap/etc/sx/models/common_l/container/docker/memory +1 -0
- data/bootstrap/etc/sx/models/common_l/container/docker/memory_swap +1 -0
- data/bootstrap/etc/sx/models/common_m/abstract +1 -0
- data/bootstrap/etc/sx/models/common_m/container/docker/blkio_weight +1 -0
- data/bootstrap/etc/sx/models/common_m/container/docker/cpu_period +1 -0
- data/bootstrap/etc/sx/models/common_m/container/docker/cpu_quota +1 -0
- data/bootstrap/etc/sx/models/common_m/container/docker/cpu_shares +1 -0
- data/bootstrap/etc/sx/models/common_m/container/docker/memory +1 -0
- data/bootstrap/etc/sx/models/common_m/container/docker/memory_swap +1 -0
- data/bootstrap/etc/sx/models/common_mail/abstract +1 -0
- data/bootstrap/etc/sx/models/common_mail/container/config.rb +12 -0
- data/bootstrap/etc/sx/models/common_mail/container/config_templates/postfwd_rules.erb +12 -0
- data/bootstrap/etc/sx/models/common_mail/container/config_templates/ssmtp.conf.erb +6 -0
- data/bootstrap/etc/sx/models/common_mail/container/mail/daily_limit +1 -0
- data/bootstrap/etc/sx/models/common_mail/container/mail/enabled +1 -0
- data/bootstrap/etc/sx/models/common_mail/container/mail/hourly_limit +1 -0
- data/bootstrap/etc/sx/models/common_php_l/abstract +1 -0
- data/bootstrap/etc/sx/models/common_php_l/container/mail/daily_limit +1 -0
- data/bootstrap/etc/sx/models/common_php_l/container/mail/hourly_limit +1 -0
- data/bootstrap/etc/sx/models/common_php_l/inherit +1 -0
- data/bootstrap/etc/sx/models/common_php_l/site/php/pm +1 -0
- data/bootstrap/etc/sx/models/common_php_l/site/php/pm_max_children +1 -0
- data/bootstrap/etc/sx/models/common_php_l/site/php/pm_max_spare_servers +1 -0
- data/bootstrap/etc/sx/models/common_php_l/site/php/pm_min_spare_servers +1 -0
- data/bootstrap/etc/sx/models/common_php_l/site/php/pm_start_servers +1 -0
- data/bootstrap/etc/sx/models/common_php_m/abstract +1 -0
- data/bootstrap/etc/sx/models/common_php_m/inherit +1 -0
- data/bootstrap/etc/sx/models/common_php_m/site/php/pm_max_children +1 -0
- data/bootstrap/etc/sx/models/common_php_s/abstract +1 -0
- data/bootstrap/etc/sx/models/common_php_s/inherit +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/abstract +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/container/mail/daily_limit +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/container/mail/hourly_limit +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/inherit +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/site/php/pm +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_max_children +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_max_spare_servers +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_min_spare_servers +1 -0
- data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_start_servers +1 -0
- data/bootstrap/etc/sx/models/common_php_xs/abstract +1 -0
- data/bootstrap/etc/sx/models/common_php_xs/container/mail/daily_limit +1 -0
- data/bootstrap/etc/sx/models/common_php_xs/container/mail/hourly_limit +1 -0
- data/bootstrap/etc/sx/models/common_php_xs/inherit +1 -0
- data/bootstrap/etc/sx/models/common_php_xs/site/php/pm_max_children +1 -0
- data/bootstrap/etc/sx/models/common_s/abstract +1 -0
- data/bootstrap/etc/sx/models/common_s/container/docker/blkio_weight +1 -0
- data/bootstrap/etc/sx/models/common_s/container/docker/cpu_period +1 -0
- data/bootstrap/etc/sx/models/common_s/container/docker/cpu_quota +1 -0
- data/bootstrap/etc/sx/models/common_s/container/docker/cpu_shares +1 -0
- data/bootstrap/etc/sx/models/common_s/container/docker/memory +1 -0
- data/bootstrap/etc/sx/models/common_s/container/docker/memory_swap +1 -0
- data/bootstrap/etc/sx/models/common_symfony/abstract +1 -0
- data/bootstrap/etc/sx/models/common_symfony/container/mux +1 -0
- data/bootstrap/etc/sx/models/common_symfony/container/system_users +1 -0
- data/bootstrap/etc/sx/models/common_symfony/inherit +1 -0
- data/bootstrap/etc/sx/models/common_symfony/site/php/flag +3 -0
- data/bootstrap/etc/sx/models/common_symfony/site/php/user +1 -0
- data/bootstrap/etc/sx/models/common_symfony/site/use_apache +1 -0
- data/bootstrap/etc/sx/models/common_xl/abstract +1 -0
- data/bootstrap/etc/sx/models/common_xl/container/docker/blkio_weight +1 -0
- data/bootstrap/etc/sx/models/common_xl/container/docker/cpu_shares +1 -0
- data/bootstrap/etc/sx/models/common_xl/container/docker/memory +1 -0
- data/bootstrap/etc/sx/models/common_xl/container/docker/memory_swap +1 -0
- data/bootstrap/etc/sx/models/common_xs/abstract +1 -0
- data/bootstrap/etc/sx/models/common_xs/container/docker/blkio_weight +1 -0
- data/bootstrap/etc/sx/models/common_xs/container/docker/cpu_period +1 -0
- data/bootstrap/etc/sx/models/common_xs/container/docker/cpu_quota +1 -0
- data/bootstrap/etc/sx/models/common_xs/container/docker/cpu_shares +1 -0
- data/bootstrap/etc/sx/models/common_xs/container/docker/memory +1 -0
- data/bootstrap/etc/sx/models/common_xs/container/docker/memory_swap +1 -0
- data/bootstrap/etc/sx/models/fcgi_l/inherit +3 -0
- data/bootstrap/etc/sx/models/fcgi_m/inherit +3 -0
- data/bootstrap/etc/sx/models/fcgi_s/inherit +3 -0
- data/bootstrap/etc/sx/models/fcgi_xl/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v2_l/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v2_m/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v2_s/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v2_xs/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v3_l/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v3_m/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v3_s/inherit +3 -0
- data/bootstrap/etc/sx/models/joomla_v3_xs/inherit +3 -0
- data/bootstrap/etc/sx/models/symfony_l/inherit +3 -0
- data/bootstrap/etc/sx/models/symfony_m/inherit +3 -0
- data/bootstrap/etc/sx/models/symfony_xl/inherit +3 -0
- data/bootstrap/etc/sx/models/test/container/config.rb +4 -0
- data/bootstrap/etc/sx/models/test/container/config_templates/supervisord.conf.erb +16 -0
- data/bootstrap/etc/sx/models/test/container/docker/blkio_weight +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/command +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/cpu_period +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/cpu_quota +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/cpu_shares +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/image +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/memory +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/memory_swap +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/user.erb +1 -0
- data/bootstrap/etc/sx/models/test/container/docker/volume.erb +2 -0
- data/bootstrap/etc/sx/models/test/container/system_users +1 -0
- data/bootstrap/etc/sx/models/test/site/config.rb +4 -0
- data/bootstrap/etc/sx/models/test/site/config_templates/nginx_vhost.erb +21 -0
- data/bootstrap/etc/sx/models/test_with_mux/container/mux +1 -0
- data/bootstrap/etc/sx/models/test_with_mux/inherit +1 -0
- data/bootstrap/etc/sx/muxs/base/docker/command +1 -0
- data/bootstrap/etc/sx/muxs/php-5.3/container/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/php-5.3/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/php-5.3/inherit +2 -0
- data/bootstrap/etc/sx/muxs/php-5.5/container/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/php-5.5/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/php-5.5/inherit +2 -0
- data/bootstrap/etc/sx/muxs/php-5.6/container/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/php-5.6/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/php-5.6/inherit +2 -0
- data/bootstrap/etc/sx/muxs/php/abstract +1 -0
- data/bootstrap/etc/sx/muxs/php/docker/pid +1 -0
- data/bootstrap/etc/sx/muxs/php/docker/privileged +1 -0
- data/bootstrap/etc/sx/muxs/php/docker/volume +3 -0
- data/bootstrap/etc/sx/muxs/php/site/config.rb +10 -0
- data/bootstrap/etc/sx/muxs/php/site/config_templates/apache_vhost.erb +26 -0
- data/bootstrap/etc/sx/muxs/php/site/config_templates/nginx_vhost.erb +39 -0
- data/bootstrap/etc/sx/muxs/php/site/config_templates/php_fpm_pool.erb +22 -0
- data/bootstrap/etc/sx/muxs/php/site/php/pm +1 -0
- data/bootstrap/etc/sx/muxs/php/site/php/pm_max_children +1 -0
- data/bootstrap/etc/sx/muxs/php/site/use_apache +1 -0
- data/bootstrap/etc/sx/muxs/test/container/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/test/docker/command +1 -0
- data/bootstrap/etc/sx/muxs/test/docker/image +1 -0
- data/bootstrap/etc/sx/muxs/test/inherit +1 -0
- data/bootstrap/etc/sx/password_strength +1 -0
- data/bootstrap/etc/sx/smtp_hostname +1 -0
- data/dockerfile/almost_base +19 -0
- data/dockerfile/base +18 -0
- data/dockerfile/mux +6 -0
- data/lib/superhosting.rb +39 -5
- data/lib/superhosting/base.rb +15 -21
- data/lib/superhosting/cli/base.rb +56 -40
- data/lib/superhosting/cli/cmd/admin_add.rb +5 -0
- data/lib/superhosting/cli/cmd/admin_container_list.rb +4 -0
- data/lib/superhosting/cli/cmd/admin_list.rb +11 -0
- data/lib/superhosting/cli/cmd/admin_passwd.rb +4 -0
- data/lib/superhosting/cli/cmd/container_admin_list.rb +4 -0
- data/lib/superhosting/cli/cmd/container_inspect.rb +11 -0
- data/lib/superhosting/cli/cmd/container_list.rb +18 -0
- data/lib/superhosting/cli/cmd/container_reconfigure.rb +11 -0
- data/lib/superhosting/cli/cmd/container_rename.rb +16 -0
- data/lib/superhosting/cli/cmd/model_list.rb +11 -0
- data/lib/superhosting/cli/cmd/{container_reconfig.rb → model_reconfigure.rb} +1 -1
- data/lib/superhosting/cli/cmd/model_tree.rb +30 -0
- data/lib/superhosting/cli/cmd/model_update.rb +11 -0
- data/lib/superhosting/cli/cmd/mux_reconfigure.rb +11 -0
- data/lib/superhosting/cli/cmd/repair.rb +8 -0
- data/lib/superhosting/cli/cmd/site_container.rb +15 -0
- data/lib/superhosting/cli/cmd/site_inspect.rb +11 -0
- data/lib/superhosting/cli/cmd/site_list.rb +35 -0
- data/lib/superhosting/cli/cmd/site_name.rb +15 -0
- data/lib/superhosting/cli/cmd/site_reconfigure.rb +11 -0
- data/lib/superhosting/cli/cmd/site_rename.rb +4 -0
- data/lib/superhosting/cli/cmd/user_add.rb +11 -5
- data/lib/superhosting/cli/cmd/user_change.rb +12 -6
- data/lib/superhosting/cli/cmd/user_list.rb +7 -0
- data/lib/superhosting/cli/cmd/user_passwd.rb +9 -0
- data/lib/superhosting/composite_mapper.rb +12 -0
- data/lib/superhosting/composite_mapper/base.rb +17 -0
- data/lib/superhosting/composite_mapper/container.rb +9 -0
- data/lib/superhosting/composite_mapper/site.rb +13 -0
- data/lib/superhosting/config/net_status.yml +122 -0
- data/lib/superhosting/config_executor.rb +12 -0
- data/lib/superhosting/{script_executor → config_executor}/base.rb +6 -5
- data/lib/superhosting/config_executor/container.rb +69 -0
- data/lib/superhosting/config_executor/site.rb +18 -0
- data/lib/superhosting/controller/admin.rb +84 -4
- data/lib/superhosting/controller/admin/container.rb +62 -2
- data/lib/superhosting/controller/base.rb +18 -0
- data/lib/superhosting/controller/container.rb +185 -122
- data/lib/superhosting/controller/container/admin.rb +25 -3
- data/lib/superhosting/controller/container/states.rb +296 -0
- data/lib/superhosting/controller/model.rb +62 -0
- data/lib/superhosting/controller/mux.rb +88 -0
- data/lib/superhosting/controller/mysql.rb +2 -2
- data/lib/superhosting/controller/site.rb +217 -72
- data/lib/superhosting/controller/site/alias.rb +32 -6
- data/lib/superhosting/controller/site/states.rb +41 -0
- data/lib/superhosting/controller/user.rb +233 -4
- data/lib/superhosting/docker_api.rb +170 -6
- data/lib/superhosting/helper/cmd.rb +40 -0
- data/lib/superhosting/helper/config.rb +80 -0
- data/lib/superhosting/helper/file.rb +56 -0
- data/lib/superhosting/helper/i18n.rb +13 -0
- data/lib/superhosting/helper/logger.rb +136 -0
- data/lib/superhosting/helper/states.rb +69 -0
- data/lib/superhosting/helpers.rb +5 -21
- data/lib/superhosting/mapper_inheritance/base.rb +16 -0
- data/lib/superhosting/mapper_inheritance/model.rb +96 -0
- data/lib/superhosting/mapper_inheritance/mux.rb +49 -0
- data/lib/superhosting/patches/path_mapper/dir_node.rb +23 -0
- data/lib/superhosting/patches/path_mapper/file_node.rb +47 -0
- data/lib/superhosting/patches/path_mapper/null_node.rb +35 -0
- data/lib/superhosting/patches/string/punycode.rb +21 -0
- data/lib/superhosting/version.rb +1 -1
- data/provision/bootstrap.sh +11 -0
- data/provision/docker.sh +25 -0
- data/provision/pam_docker.sh +5 -0
- data/{bootstrap.sh → provision/vagrant.sh} +5 -8
- data/superhosting.gemspec +14 -3
- metadata +368 -12
- data/lib/superhosting/script_executor/container.rb +0 -36
- data/lib/superhosting/script_executor/site.rb +0 -13
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZGMyNGQ5ODc3NTdhMGFjMGM4MzFjYjA2YjJiNGRmZjFlODg0NzBiNg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjQwNDM5NzRjOWQzMTY2OGJiNGE2MWVkODI5NzlhOTJjMGYyYzg2OA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MWM1NGU5N2NlNWViNzEyZmNkZTQ0YTNlNDA2YTg4MTkxNGYwZDFlNTcxYWUy
|
10
|
+
NDI5NjIzODIzNDI1ODFmMGZiOGQxYTUxZGIwNGJkYzc0MjY5Y2YwZjRiNDMw
|
11
|
+
MjU1YzI2NWM4MTJhZDFjODQxYTQ1MDExYjg2NGQ3Mzk3MzA2NDM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YWVlZGVlODE1ZjZjNjZkNjNkYTA2MTAxYTFkOTE0ZDk3Y2MyY2M5YjlkNzcy
|
14
|
+
NDA2Nzk1MzJiMzQ4OTMzZmZkZjljNDk0ZTgwN2Y0ZWQwY2Y0OTY1ZWZmZGMy
|
15
|
+
NDgyYTAxYjg4NGQ5NjczNTEwYjg4ZGQxMjdhNjQ5ZjE4ZTljZGQ=
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,6 +1,19 @@
|
|
1
|
+
dist: trusty
|
2
|
+
sudo: required
|
3
|
+
cache: apt
|
1
4
|
language: ruby
|
2
5
|
rvm:
|
3
6
|
- 2.2.1
|
7
|
+
services:
|
8
|
+
- docker
|
9
|
+
|
10
|
+
before_script:
|
11
|
+
- sudo -s source provision/docker.sh
|
12
|
+
- sudo -s source provision/pam_docker.sh
|
13
|
+
- sudo -s source provision/bootstrap.sh
|
14
|
+
script:
|
15
|
+
- sudo -E su --preserve-environment -lc 'bundle exec rake spec'
|
16
|
+
|
4
17
|
deploy:
|
5
18
|
provider: rubygems
|
6
19
|
api_key:
|
data/Gemfile.lock
CHANGED
@@ -1,38 +1,58 @@
|
|
1
1
|
GIT
|
2
2
|
remote: https://github.com/flant/net_status.git
|
3
|
-
revision:
|
3
|
+
revision: 5a91caf2daaa74985699ede3bc5a9f8ac60a71d8
|
4
4
|
specs:
|
5
5
|
net_status (0.0.2)
|
6
|
+
i18n (~> 0.7)
|
6
7
|
|
7
8
|
GIT
|
8
9
|
remote: https://github.com/flant/path_mapper.git
|
9
|
-
revision:
|
10
|
+
revision: c307e19264f814041d6f00b0732c51d11708791a
|
10
11
|
specs:
|
11
12
|
path_mapper (0.0.2)
|
13
|
+
diffy (~> 3.1)
|
12
14
|
|
13
15
|
PATH
|
14
16
|
remote: .
|
15
17
|
specs:
|
16
|
-
superhosting (0.0.
|
18
|
+
superhosting (0.0.2)
|
19
|
+
activesupport (~> 4.2, >= 4.2.5.2)
|
20
|
+
highline (~> 1.7, >= 1.7.8)
|
21
|
+
i18n (~> 0.7)
|
17
22
|
mixlib-cli (>= 1.5.0, < 2.0)
|
18
23
|
mixlib-shellout (>= 2.2.6, < 3.0)
|
19
24
|
net_status (>= 0.0.1, < 1.0)
|
20
25
|
path_mapper (>= 0.0.1, < 1.0)
|
26
|
+
polling (~> 0.1.5)
|
27
|
+
punycode4r (~> 0.2)
|
28
|
+
strong_password (~> 0.0.5)
|
29
|
+
unicode (~> 0.4)
|
30
|
+
unix-crypt (~> 1.3)
|
21
31
|
|
22
32
|
GEM
|
23
33
|
remote: https://rubygems.org/
|
24
34
|
specs:
|
35
|
+
activesupport (4.2.6)
|
36
|
+
i18n (~> 0.7)
|
37
|
+
json (~> 1.7, >= 1.7.7)
|
38
|
+
minitest (~> 5.1)
|
39
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
40
|
+
tzinfo (~> 1.1)
|
25
41
|
addressable (2.4.0)
|
26
42
|
backports (3.6.8)
|
27
43
|
binding_of_caller (0.7.2)
|
28
44
|
debug_inspector (>= 0.0.1)
|
29
|
-
byebug (8.2.
|
45
|
+
byebug (8.2.4)
|
46
|
+
codeclimate-test-reporter (0.5.0)
|
47
|
+
simplecov (>= 0.7.1, < 1.0.0)
|
30
48
|
coderay (1.1.1)
|
31
49
|
debug_inspector (0.0.2)
|
32
50
|
diff-lcs (1.2.5)
|
51
|
+
diffy (3.1.0)
|
52
|
+
docile (1.1.5)
|
33
53
|
ethon (0.8.1)
|
34
54
|
ffi (>= 1.3.0)
|
35
|
-
excon (0.
|
55
|
+
excon (0.49.0)
|
36
56
|
faraday (0.9.2)
|
37
57
|
multipart-post (>= 1.2, < 3)
|
38
58
|
faraday_middleware (0.10.0)
|
@@ -46,16 +66,19 @@ GEM
|
|
46
66
|
net-http-persistent (>= 2.7)
|
47
67
|
net-http-pipeline
|
48
68
|
highline (1.7.8)
|
69
|
+
i18n (0.7.0)
|
49
70
|
json (1.8.3)
|
50
71
|
launchy (2.4.3)
|
51
72
|
addressable (~> 2.3)
|
52
73
|
method_source (0.8.2)
|
74
|
+
minitest (5.8.4)
|
53
75
|
mixlib-cli (1.5.0)
|
54
76
|
mixlib-shellout (2.2.6)
|
55
77
|
multi_json (1.11.2)
|
56
78
|
multipart-post (2.0.0)
|
57
79
|
net-http-persistent (2.9.4)
|
58
80
|
net-http-pipeline (1.0.1)
|
81
|
+
polling (0.1.5)
|
59
82
|
pry (0.10.3)
|
60
83
|
coderay (~> 1.1.0)
|
61
84
|
method_source (~> 0.8.1)
|
@@ -66,6 +89,7 @@ GEM
|
|
66
89
|
pry-stack_explorer (0.4.9.2)
|
67
90
|
binding_of_caller (>= 0.7)
|
68
91
|
pry (>= 0.9.11)
|
92
|
+
punycode4r (0.2.0)
|
69
93
|
pusher-client (0.6.2)
|
70
94
|
json
|
71
95
|
websocket (~> 1.0)
|
@@ -74,7 +98,7 @@ GEM
|
|
74
98
|
rspec-core (~> 3.4.0)
|
75
99
|
rspec-expectations (~> 3.4.0)
|
76
100
|
rspec-mocks (~> 3.4.0)
|
77
|
-
rspec-core (3.4.
|
101
|
+
rspec-core (3.4.4)
|
78
102
|
rspec-support (~> 3.4.0)
|
79
103
|
rspec-expectations (3.4.0)
|
80
104
|
diff-lcs (>= 1.2.0, < 2.0)
|
@@ -83,7 +107,14 @@ GEM
|
|
83
107
|
diff-lcs (>= 1.2.0, < 2.0)
|
84
108
|
rspec-support (~> 3.4.0)
|
85
109
|
rspec-support (3.4.1)
|
110
|
+
simplecov (0.11.2)
|
111
|
+
docile (~> 1.1.0)
|
112
|
+
json (~> 1.8)
|
113
|
+
simplecov-html (~> 0.10.0)
|
114
|
+
simplecov-html (0.10.0)
|
86
115
|
slop (3.6.0)
|
116
|
+
strong_password (0.0.5)
|
117
|
+
thread_safe (0.3.5)
|
87
118
|
travis (1.8.2)
|
88
119
|
backports
|
89
120
|
faraday (~> 0.9)
|
@@ -95,13 +126,18 @@ GEM
|
|
95
126
|
typhoeus (~> 0.6, >= 0.6.8)
|
96
127
|
typhoeus (0.8.0)
|
97
128
|
ethon (>= 0.8.0)
|
98
|
-
|
129
|
+
tzinfo (1.2.2)
|
130
|
+
thread_safe (~> 0.1)
|
131
|
+
unicode (0.4.4.2)
|
132
|
+
unix-crypt (1.3.0)
|
133
|
+
websocket (1.2.3)
|
99
134
|
|
100
135
|
PLATFORMS
|
101
136
|
ruby
|
102
137
|
|
103
138
|
DEPENDENCIES
|
104
139
|
bundler (~> 1.7)
|
140
|
+
codeclimate-test-reporter (>= 0.5.0, < 1.0)
|
105
141
|
excon (>= 0.45.4, < 1.0)
|
106
142
|
net_status!
|
107
143
|
path_mapper!
|
data/LICENSE.txt
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
Copyright (c) 2016
|
1
|
+
Copyright (c) 2016 Dmitry Stolyarov <dmitry.stolyarov@flant.com>
|
2
|
+
Copyright (c) 2016 Alexey Igrychev <alexey.igrychev@flant.com>
|
3
|
+
Copyright (c) 2016 Timofey Kirillov <timofey.kirillov@flant.com>
|
4
|
+
Copyright (c) 2016 Flant CJSC
|
2
5
|
|
3
6
|
MIT License
|
4
7
|
|
data/Vagrantfile
CHANGED
@@ -2,9 +2,12 @@
|
|
2
2
|
# vi: set ft=ruby :
|
3
3
|
# vi: set sts=2 ts=2 sw=2 :
|
4
4
|
|
5
|
-
VAGRANTFILE_API_VERSION =
|
5
|
+
VAGRANTFILE_API_VERSION = '2'
|
6
6
|
|
7
7
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
8
|
-
config.vm.box =
|
9
|
-
config.vm.provision :shell, path:
|
8
|
+
config.vm.box = 'ubuntu/trusty64'
|
9
|
+
config.vm.provision :shell, path: 'provision/vagrant.sh'
|
10
|
+
config.vm.provision :shell, path: 'provision/docker.sh', args: '/vagrant'
|
11
|
+
config.vm.provision :shell, path: 'provision/pam_docker.sh'
|
12
|
+
config.vm.provision :shell, path: 'provision/bootstrap.sh', args: '/vagrant'
|
10
13
|
end
|
data/bin/sx
CHANGED
@@ -4,7 +4,11 @@ require 'superhosting'
|
|
4
4
|
|
5
5
|
begin
|
6
6
|
Superhosting::Cli::Base.start(ARGV)
|
7
|
-
rescue
|
8
|
-
|
7
|
+
rescue NetStatus::Exception => e
|
8
|
+
net_status = e.net_status.net_status_normalize
|
9
|
+
$stderr.puts(net_status[:message] || [net_status[:error], net_status[:code]].compact.join(": "))
|
10
|
+
exit 1
|
11
|
+
rescue Interrupt => e
|
12
|
+
$stderr.puts('Interrupted')
|
9
13
|
exit 1
|
10
14
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
fcgi_m
|
@@ -0,0 +1 @@
|
|
1
|
+
/bin/bash -lec 'while true ; do date ; sleep 1; done'
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= container.name %>:<%= container.name %>
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1 @@
|
|
1
|
+
php-5.5
|
@@ -0,0 +1 @@
|
|
1
|
+
common_mail
|
@@ -0,0 +1 @@
|
|
1
|
+
display_errors = On
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
[unix_http_server]
|
2
|
+
file=/web/<%= container.name %>/supervisor.sock
|
3
|
+
chmod=0770
|
4
|
+
|
5
|
+
[supervisord]
|
6
|
+
logfile=/web/<%= container.name %>/logs/supervisord.log
|
7
|
+
childlogdir=/web/<%= container.name %>/supervisor
|
8
|
+
|
9
|
+
[rpcinterface:supervisor]
|
10
|
+
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
11
|
+
|
12
|
+
[supervisorctl]
|
13
|
+
serverurl=unix:///web/<%= container.name %>/supervisor.sock
|
14
|
+
|
15
|
+
[include]
|
16
|
+
files = /etc/supervisor/conf.d/*.conf /web/<%= container.name %>/supervisor/*.conf
|
@@ -0,0 +1 @@
|
|
1
|
+
superhosting/fcgi
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= container.name %>_fcgi
|
@@ -0,0 +1 @@
|
|
1
|
+
fcgi
|
@@ -0,0 +1,21 @@
|
|
1
|
+
server {
|
2
|
+
listen 0.0.0.0:80;
|
3
|
+
|
4
|
+
server_name <%= ([site.name] + site.aliases).compact.map(&:punycode).join ' ' %>;
|
5
|
+
set $sx_container "<%= container.name %>";
|
6
|
+
access_log /web/<%= container.name %>/logs/<%= site.name %>_access_nginx.log main;
|
7
|
+
error_log /web/<%= container.name %>/logs/<%= site.name %>_error_nginx.log error;
|
8
|
+
|
9
|
+
location ~* ^\/.+\.(jpg|jpeg|gif|png|svg|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm|ttf|eot|woff)$ {
|
10
|
+
root <%= site.web.path.join(site.document_root) %>/;
|
11
|
+
try_files $uri @backend;
|
12
|
+
}
|
13
|
+
|
14
|
+
location / {
|
15
|
+
fastcgi_pass unix:<%= site.web.path %>.sock;
|
16
|
+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
17
|
+
include fastcgi_params;
|
18
|
+
}
|
19
|
+
|
20
|
+
include /etc/nginx/server.conf.d/*.conf;
|
21
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1 @@
|
|
1
|
+
display_errors = On
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1 @@
|
|
1
|
+
php-5.3
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1 @@
|
|
1
|
+
php-5.5
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1 @@
|
|
1
|
+
4096
|
@@ -0,0 +1 @@
|
|
1
|
+
50000
|
@@ -0,0 +1 @@
|
|
1
|
+
25000
|
@@ -0,0 +1 @@
|
|
1
|
+
4096
|
@@ -0,0 +1 @@
|
|
1
|
+
256M
|
@@ -0,0 +1 @@
|
|
1
|
+
-1
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1 @@
|
|
1
|
+
2048
|
@@ -0,0 +1 @@
|
|
1
|
+
50000
|
@@ -0,0 +1 @@
|
|
1
|
+
12500
|
@@ -0,0 +1 @@
|
|
1
|
+
2048
|
@@ -0,0 +1 @@
|
|
1
|
+
128M
|
@@ -0,0 +1 @@
|
|
1
|
+
-1
|
@@ -0,0 +1 @@
|
|
1
|
+
yes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
if container.mail.enabled?
|
2
|
+
container.mail.password.safe_put!(['a'..'z', 'A'..'Z', 0..9].map(&:to_a).flatten.sample(30).join)
|
3
|
+
|
4
|
+
config "#{container.config.path}/ssmtp/ssmtp.conf"
|
5
|
+
config "/etc/postfix/postfwd.cf.d/#{container.name}.cf", source: 'postfwd_rules'
|
6
|
+
|
7
|
+
on_reconfig "echo '#{container.mail.password}' | /usr/sbin/saslpasswd2 -u #{etc.smtp_hostname} -a smtpauth #{container.name} -p"
|
8
|
+
else
|
9
|
+
on_reconfig "/usr/sbin/saslpasswd2 -u #{etc.smtp_hostname} -a smtpauth #{container.name} -d"
|
10
|
+
end
|
11
|
+
|
12
|
+
# TODO: on_reconfig 'cat $(ls -1 /etc/postfix/postfwd.cf.d/ | sort) > /etc/postfix/postfwd.cf && service postfwd reload'
|
@@ -0,0 +1,12 @@
|
|
1
|
+
id=<%= %>_0001
|
2
|
+
sasl_username=<%= "#{container.name}@#{etc.smtp_hostname}" %>
|
3
|
+
action=rate(sasl_username/<%= container.mail.limit_hourly %>/3600/REJECT only <%= container.mail.limit_hourly %> messages per hour for $$sasl_username)
|
4
|
+
id=<%= %>_0002
|
5
|
+
sasl_username=<%= "#{container.name}@#{etc.smtp_hostname}" %>
|
6
|
+
action=rcpt(sasl_username/<%= container.mail.limit_hourly %>/3600/REJECT only <%= container.mail.limit_hourly %> recipients per hour for $$sasl_username)
|
7
|
+
id=<%= %>_0003
|
8
|
+
sasl_username=<%= "#{container.name}@#{etc.smtp_hostname}" %>
|
9
|
+
action=rate(sasl_username/<%= container.mail.limit_daily %>/86400/REJECT only <%= container.mail.limit_daily %> messages per day for $$sasl_username)
|
10
|
+
id=<%= %>_0004
|
11
|
+
sasl_username=<%= "#{container.name}@#{etc.smtp_hostname}" %>
|
12
|
+
action=rcpt(sasl_username/<%= container.mail.limit_daily %>/86400/REJECT only <%= container.mail.limit_daily %> recipients per day for $$sasl_username)
|