Sha256: 33094391c977e7266bcb5a14d2e579c2619802523c2dbe7e64c24f87689a3d21

Contents?: true

Size: 1.93 KB

Versions: 30

Compression:

Stored size: 1.93 KB

Contents

# encoding: utf-8
# copyright: 2015, Vulcano Security GmbH
# author: Dominik Richter
# author: Christoph Hartmann

module Inspec::Resources
  class Mysql < Inspec.resource(1)
    name 'mysql'

    attr_reader :package, :service, :conf_dir, :conf_path, :data_dir, :log_dir, :log_path, :log_group, :log_dir_group
    def initialize
      # set OS-dependent filenames and paths
      case inspec.os[:family]
      when 'debian'
        init_ubuntu
      when 'redhat', 'fedora'
        init_redhat
      when 'arch'
        init_arch
      else
        # TODO: could not detect
        init_default
      end
    end

    def init_ubuntu
      @package = 'mysql-server'
      @service = 'mysql'
      @conf_path = '/etc/mysql/my.cnf'
      @conf_dir = '/etc/mysql/'
      @data_dir = '/var/lib/mysql/'
      @log_dir = '/var/log/'
      @log_path = '/var/log/mysql.log'
      @log_group = 'adm'
      case inspec.os[:release]
      when '14.04'
        @log_dir_group = 'syslog'
      else
        @log_dir_group = 'root'
      end
    end

    def init_redhat
      @package = 'mysql-server'
      @service = 'mysqld'
      @conf_path = '/etc/my.cnf'
      @conf_dir = '/etc/'
      @data_dir = '/var/lib/mysql/'
      @log_dir = '/var/log/'
      @log_path = '/var/log/mysqld.log'
      @log_group = 'mysql'
      @log_dir_group = 'root'
    end

    def init_arch
      @package = 'mariadb'
      @service = 'mysql'
      @conf_path = '/etc/mysql/my.cnf'
      @conf_dir = '/etc/mysql/'
      @data_dir = '/var/lib/mysql/'
      @log_dir = '/var/log/'
      @log_path = '/var/log/mysql.log'
      @log_group = 'mysql'
      @log_dir_group = 'root'
    end

    def init_default
      @service = 'mysqld'
      @conf_path = '/etc/my.cnf'
      @conf_dir = '/etc/'
      @data_dir = '/var/lib/mysql/'
      @log_dir = '/var/log/'
      @log_path = '/var/log/mysqld.log'
      @log_group = 'mysql'
      @log_dir_group = 'root'
    end

    def to_s
      'MySQL'
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
inspec-1.51.25 lib/resources/mysql.rb
inspec-1.51.21 lib/resources/mysql.rb
inspec-1.51.18 lib/resources/mysql.rb
inspec-1.51.6 lib/resources/mysql.rb
inspec-1.51.0 lib/resources/mysql.rb
inspec-1.50.1 lib/resources/mysql.rb
inspec-1.49.2 lib/resources/mysql.rb
inspec-1.48.0 lib/resources/mysql.rb
inspec-1.47.0 lib/resources/mysql.rb
inspec-1.46.2 lib/resources/mysql.rb
inspec-1.45.13 lib/resources/mysql.rb
inspec-1.45.9 lib/resources/mysql.rb
inspec-1.44.8 lib/resources/mysql.rb
inspec-1.43.8 lib/resources/mysql.rb
inspec-1.43.5 lib/resources/mysql.rb
inspec-1.42.3 lib/resources/mysql.rb
inspec-1.41.0 lib/resources/mysql.rb
inspec-1.40.0 lib/resources/mysql.rb
inspec-1.39.1 lib/resources/mysql.rb
inspec-1.38.8 lib/resources/mysql.rb