Knife-Zero doesn't include Berkshelf support, so vendoring everything in the repo is convenient again
54 lines
2.0 KiB
Ruby
54 lines
2.0 KiB
Ruby
# Prepare Configuration File
|
|
audit_plugin_options = {}
|
|
|
|
audit_plugin_options['comment1'] = '#'
|
|
audit_plugin_options['comment2'] = '# * MariaDB Audit Plugin'
|
|
audit_plugin_options['comment3'] = '#'
|
|
|
|
audit_plugin_options['server_audit_events'] = \
|
|
node['mariadb']['audit_plugin']['server_audit_events']
|
|
audit_plugin_options['server_audit_output_type'] = \
|
|
node['mariadb']['audit_plugin']['server_audit_output_type']
|
|
audit_plugin_options['server_audit_syslog_facility'] = \
|
|
node['mariadb']['audit_plugin']['server_audit_syslog_facility']
|
|
audit_plugin_options['server_audit_syslog_priority'] = \
|
|
node['mariadb']['audit_plugin']['server_audit_syslog_priority']
|
|
|
|
audit_plugin_options['enable'] = '#server_audit_logging = ON'
|
|
|
|
# Install the MariaDB Audit Plugin
|
|
execute 'install_mariadb_audit_plugin' do
|
|
command '/usr/bin/mysql -e "INSTALL PLUGIN server_audit '\
|
|
'SONAME \'server_audit\';"'
|
|
notifies :run, 'execute[configure_mariadb_audit_plugin]', :immediately
|
|
not_if do
|
|
cmd = Mixlib::ShellOut.new('/usr/bin/mysql -u root -B -N -e "SELECT 1 '\
|
|
'FROM information_schema.plugins '\
|
|
'WHERE PLUGIN_NAME = \'SERVER_AUDIT\''\
|
|
'AND PLUGIN_STATUS = \'ACTIVE\';"')
|
|
cmd.run_command
|
|
cmd.stdout.to_i == 1
|
|
end
|
|
end
|
|
|
|
# Configure (Dynamic)
|
|
execute 'configure_mariadb_audit_plugin' do
|
|
command 'echo "SET GLOBAL server_audit_events=\'' + \
|
|
node['mariadb']['audit_plugin']['server_audit_events'] + '\';' \
|
|
'SET GLOBAL server_audit_output_type=\'' + \
|
|
node['mariadb']['audit_plugin']['server_audit_output_type'] + '\';' \
|
|
'SET GLOBAL server_audit_syslog_facility=\'' + \
|
|
node['mariadb']['audit_plugin']['server_audit_syslog_facility'] + '\';' \
|
|
'SET GLOBAL server_audit_syslog_priority=\'' + \
|
|
node['mariadb']['audit_plugin']['server_audit_syslog_priority'] + '\';"' \
|
|
'| /usr/bin/mysql'
|
|
action :nothing
|
|
end
|
|
|
|
# Create Configuration File
|
|
mariadb_configuration 'audit_plugin' do
|
|
section 'mysqld'
|
|
option audit_plugin_options
|
|
action :add
|
|
end
|