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
@@ -1,36 +0,0 @@
|
|
1
|
-
module Superhosting
|
2
|
-
module ScriptExecutor
|
3
|
-
class Container < Base
|
4
|
-
attr_accessor :container, :container_name, :container_lib, :registry_path, :on_reconfig_only
|
5
|
-
|
6
|
-
def initialize(container:, container_name:, container_lib:, registry_path:, on_reconfig_only: false, **kwargs)
|
7
|
-
self.container = container
|
8
|
-
self.container_name = container_name
|
9
|
-
self.container_lib = container_lib
|
10
|
-
self.registry_path = registry_path
|
11
|
-
self.on_reconfig_only = on_reconfig_only
|
12
|
-
super(**kwargs)
|
13
|
-
end
|
14
|
-
|
15
|
-
def config(save_to, script, **options)
|
16
|
-
unless self.on_reconfig_only
|
17
|
-
script_mapper = self.container.f(script, default: self.model.f(script))
|
18
|
-
raise NetStatus::Exception.new(error: :error, message: 'File does not exist') if script_mapper.nil?
|
19
|
-
opts = instance_variables_to_hash(self).merge(options)
|
20
|
-
FileUtils.mkdir_p File.dirname(save_to)
|
21
|
-
File.open(save_to, 'w') {|f| f.write(erb(script_mapper, **opts)) }
|
22
|
-
create_conf(self.registry_path, save_to)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# def container_config(save_to, script, **options)
|
27
|
-
# raise NetStatus::Exception.new(error: :error, message: "File '#{save_to}' has incorrect name format") if save_to.include? File::SEPARATOR
|
28
|
-
# config(File.join(self.lib_configs._path, save_to), script, options)
|
29
|
-
# end
|
30
|
-
|
31
|
-
def on_reconfig(cmd)
|
32
|
-
self.commands << cmd
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|