mirror of
https://github.com/rapid7/metasploitable3.git
synced 2024-07-02 17:55:46 +02:00
Tweaks to the recipes to avoid repetition of work, and ub1404 dev, * let apt cookbook handle apt-update globally * do not download, configure, make, make install if the package is already installed * add guards for file deletion to first check whether file is present * use docker cookbook for image building and running, to only build if not alrady built and only run if not already running * drop mysql table and recreate each time Also, * bump Docker cookbook to 4.9.3 * bump mysql cookbook to 8.5.1 * add apt cookbook for better apt-update management * bump depends versions and add apt * modify readme with customization instructions * modify all chef runlists to call apt first in the runlist * add a vagrantfile for dev of ub1404
57 lines
1.7 KiB
Ruby
57 lines
1.7 KiB
Ruby
module MysqlCookbook
|
|
class MysqlConfig < MysqlBase
|
|
resource_name :mysql_config
|
|
|
|
property :config_name, String, name_property: true, desired_state: false
|
|
property :cookbook, String, desired_state: false
|
|
property :group, String, default: 'mysql', desired_state: false
|
|
property :instance, String, default: 'default', desired_state: false
|
|
property :owner, String, default: 'mysql', desired_state: false
|
|
property :source, String, desired_state: false
|
|
property :variables, [Hash], desired_state: false
|
|
property :version, String, default: lazy { default_major_version }, desired_state: false
|
|
|
|
require_relative 'helpers'
|
|
include MysqlCookbook::HelpersBase
|
|
|
|
provides :mysql_config
|
|
|
|
action :create do
|
|
# hax because group property
|
|
g = Chef::Resource::Group.new(new_resource.group, run_context)
|
|
g.system true if new_resource.name == 'mysql'
|
|
resource_collection.insert g
|
|
|
|
user new_resource.owner do
|
|
gid new_resource.owner
|
|
system true if new_resource.name == 'mysql'
|
|
action :create
|
|
end
|
|
|
|
directory new_resource.include_dir do
|
|
owner new_resource.owner
|
|
group new_resource.group
|
|
mode '0750'
|
|
recursive true
|
|
action :create
|
|
end
|
|
|
|
template "#{new_resource.include_dir}/#{new_resource.config_name}.cnf" do
|
|
owner new_resource.owner
|
|
group new_resource.group
|
|
mode '0640'
|
|
variables(new_resource.variables)
|
|
source new_resource.source
|
|
cookbook new_resource.cookbook
|
|
action :create
|
|
end
|
|
end
|
|
|
|
action :delete do
|
|
file "#{new_resource.include_dir}/#{new_resource.config_name}.cnf" do
|
|
action :delete
|
|
end
|
|
end
|
|
end
|
|
end
|