metasploitable3/chef/cookbooks/docker/libraries/docker_service_manager_sysvinit_rhel.rb
2017-07-12 18:15:48 -05:00

82 lines
2.1 KiB
Ruby

module DockerCookbook
class DockerServiceManagerSysvinitRhel < DockerServiceBase
resource_name :docker_service_manager_sysvinit_rhel
provides :docker_service_manager, platform: 'amazon'
provides :docker_service_manager, platform: 'suse'
provides :docker_service_manager, platform: %w(redhat centos scientific oracle) do |node| # ~FC005
node['platform_version'].to_f <= 7.0
end
provides :docker_service_manager_sysvinit, platform: 'amazon'
provides :docker_service_manager_sysvinit, platform: 'suse'
provides :docker_service_manager_sysvinit, platform: %w(redhat centos scientific oracle) do |node| # ~FC005
node['platform_version'].to_f <= 7.0
end
action :start do
create_docker_wait_ready
create_init
create_service
end
action :stop do
create_init
s = create_service
s.action :stop
end
action :restart do
action_stop
action_start
end
action_class.class_eval do
def create_init
execute 'groupadd docker' do
not_if 'getent group docker'
action :run
end
link dockerd_bin_link do
to dockerd_bin
link_type :hard
action :create
end
template "/etc/init.d/#{docker_name}" do
source 'sysvinit/docker-rhel.erb'
owner 'root'
group 'root'
mode '0755'
variables(
docker_name: docker_name,
dockerd_bin_link: dockerd_bin_link,
docker_daemon_cmd: docker_daemon_cmd,
docker_wait_ready: "#{libexec_dir}/#{docker_name}-wait-ready"
)
cookbook 'docker'
action :create
end
template "/etc/sysconfig/#{docker_name}" do
source 'sysconfig/docker.erb'
variables(
config: new_resource,
docker_daemon_opts: docker_daemon_opts.join(' ')
)
cookbook 'docker'
action :create
end
end
def create_service
service docker_name do
supports restart: true, status: true
action [:enable, :start]
end
end
end
end
end