module GreenHat::FileTypes

rubocop:disable Metrics/MethodLength, Metrics/ModuleLength

Public Instance Methods

types() click to toggle source
# File lib/greenhat/thing/file_types.rb, line 19
def types
  {
    'cpuinfo' => {
      format: :raw,
      pattern: [
        /cpuinfo/
      ]
    },
    'df_h' => {
      format: :table,
      pattern: [
        /df_h/
      ]
    },
    'df_inodes' => {
      format: :table,
      pattern: [
        /df_inodes/
      ]
    },
    'dmesg' => {
      format: :bracket_log,
      log: true,
      pattern: [
        /dmesg/
      ]
    },
    'repmgrd/current' => {
      format: :bracket_log,
      log: true,
      pattern: [
        %r{repmgrd/current}
      ]
    },
    'log/syslog' => {
      format: :syslog,
      log: true,
      pattern: [
        %r{log/syslog}
      ]
    },
    'etc/fstab' => {
      format: :clean_raw,
      pattern: [
        %r{etc/fstab}
      ]
    },
    'etc/os-release' => {
      format: :dotenv,
      pattern: [
        %r{etc/os-release}
      ]
    },
    'sysctl_a' => {
      format: :dotenv,
      pattern: [
        /sysctl_a/
      ]
    },
    'free_m' => {
      format: :free_m,
      pattern: [
        /free_m/
      ]
    },
    'getenforce' => {
      format: :raw,
      pattern: [
        /getenforce/
      ]
    },
    'gitaly/current' => {
      format: :json_shell,
      log: true,
      pattern: [
        %r{gitaly/current},
        %r{gitaly/@.*}
      ]
    },
    'consul/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{consul/current}
      ]
    },
    'sentinel/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{sentinel/current}
      ]
    },
    'consul/failover_pgbouncer.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{consul/failover_pgbouncer.log}
      ]
    },
    'pgbouncer/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{pgbouncer/current}
      ]
    },
    'mailroom/mail_room_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{mailroom/mail_room_json.log}
      ]
    },
    'gitlab-rails/git_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/git_json.log}
      ]
    },
    'gitaly/gitaly_ruby_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitaly/gitaly_ruby_json.log}
      ]
    },
    'gitaly/gitaly_lfs_smudge.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitaly/gitaly_lfs_smudge.log}
      ]
    },
    'gitlab_status' => {
      format: :gitlab_status,
      pattern: [
        /gitlab_status/
      ]
    },
    'postgresql/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{postgresql/current},
        %r{postgresql/@.*}
      ]
    },
    'gitlab-ctl/tail' => {
      format: :gitlab_tail,
      log: true,
      pattern: [
        /gitlab-ctl-tail.log/
      ]
    },
    'patroni/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{patroni/current}
      ]
    },
    'gitlab-exporter/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{gitlab-exporter/current}
      ]
    },
    'gitlab-monitor/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{gitlab-monitor/current}
      ]
    },
    'logrotate/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{logrotate/current}
      ]
    },
    'gitlab-rails/grpc.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{gitlab-rails/grpc.log}
      ]
    },
    'gitlab-rails/api_json.log' => {
      format: :api_json,
      log: true,
      pattern: [
        %r{gitlab-rails/api_json.log}
      ]
    },
    'gitlab-rails/application_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/application_json.log}
      ]
    },
    'gitlab-rails/audit_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/audit_json.log}
      ]
    },
    'gitlab-rails/auth.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/auth.log}
      ]
    },
    'gitlab-rails/exceptions_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/exceptions_json.log}
      ]
    },
    'gitlab-rails/graphql_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/graphql_json.log}
      ]
    },
    'gitlab-rails/importer.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/importer.log}
      ]
    },
    'gitlab-rails/integrations_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/integrations_json.log}
      ]
    },
    'gitlab-rails/production_json.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/production_json.log}
      ]
    },
    'gitlab-rails/sidekiq_client.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/sidekiq_client.log}
      ]
    },
    'gitlab-shell/gitlab-shell.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-shell/gitlab-shell.log}
      ]
    },
    'gitlab-workhorse/current' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-workhorse/current},
        %r{gitlab-workhorse/@.*}
      ]
    },
    'gitlab/version-manifest.json' => {
      format: :multiline_json,
      pattern: [
        %r{gitlab/version-manifest.json}
      ]
    },
    'gitlabsos.log' => {
      format: :bracket_log,
      log: true,
      pattern: [
        /gitlabsos.log/
      ]
    },
    'hostname' => {
      format: :raw,
      pattern: [
        /hostname/
      ]
    },
    'lscpu' => {
      format: :colon_split_strip,
      pattern: [
        /lscpu/
      ]
    },
    'meminfo' => {
      format: :colon_split_strip,
      pattern: [
        /meminfo/
      ]
    },
    'mount' => {
      format: :raw,
      pattern: [
        /mount/
      ]
    },
    'nginx/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{nginx/current}
      ]
    },
    'nginx/gitlab_pages_access.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{nginx/gitlab_pages_access.log}
      ]
    },
    'nginx/gitlab_access.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{nginx/gitlab_access.log}
      ]
    },
    'gitlab-rails/sidekiq_exporter.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{gitlab-rails/sidekiq_exporter.log}
      ]
    },
    'crond/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{crond/current}
      ]
    },
    'grafana/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{grafana/current}
      ]
    },
    'pgbouncer-exporter/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{pgbouncer-exporter/current}
      ]
    },
    'puma/current' => {
      format: :time_json,
      log: true,
      pattern: [
        %r{puma/current}
      ]
    },
    'reconfigure.log' => {
      format: :bracket_log,
      log: true,
      pattern: [
        %r{^reconfigure/.*log$}
      ]
    },
    'node-exporter/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{node-exporter/current}
      ]
    },
    'postgres-exporter/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{postgres-exporter/current}
      ]
    },
    'redis-exporter/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{redis-exporter/current},
        %r{redis-exporter/@.*}
      ]
    },
    'prometheus/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{prometheus/current}
      ]
    },
    'registry/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{registry/current},
        %r{registry/@.*}
      ]
    },
    'alertmanager/current' => {
      format: :time_shellwords,
      log: true,
      pattern: [
        %r{alertmanager/current}
      ]
    },
    'ps' => {
      format: :table,
      pattern: [
        /^ps/
      ]
    },
    'puma/puma_stderr.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{puma/puma_stderr.log}
      ]
    },
    'puma/puma_stdout.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{puma/puma_stdout.log}
      ]
    },
    'gitlab-pages/current' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-pages/current}
      ]
    },

    # General Purpose Raw
    'raw' => {
      format: :raw,
      pattern: [
        %r{alertmanager/config},
        %r{gitaly/config},
        %r{gitlab-exporter/config},
        %r{gitlab-pages/config},
        %r{gitlab-workhorse/config},
        %r{grafana/config},
        %r{logrotate/config},
        %r{nginx/config},
        %r{node-exporter/config},
        %r{postgres-exporter/config},
        %r{postgresql/config},
        %r{prometheus/config},
        %r{puma/config},
        %r{redis/config},
        %r{redis-exporter/config},
        %r{registry/config},
        %r{sidekiq/config},
        %r{pgbouncer/config},
        %r{pgbouncer-exporter/config},
        %r{repmgrd/config},
        %r{sentinel/config},
        %r{consul/config}
      ]
    },
    'redis/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{redis/current},
        %r{redis/@.*}
      ]
    },

    'nginx/gitlab_error.log' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{nginx/gitlab_error.log}
      ]
    },
    'nginx/gitlab_registry_error.log' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{nginx/gitlab_registry_error.log}
      ]
    },
    'unicorn/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{unicorn/current}
      ]
    },
    'running_swappiness' => {
      format: :raw,
      pattern: [
        /running_swappiness/
      ]
    },
    'nginx/gitlab_registry_access.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{nginx/gitlab_registry_access.log}
      ]
    },
    'security/limits.conf' => {
      format: :clean_raw,
      pattern: [
        %r{security/limits.conf}
      ]
    },
    'unicorn/unicorn_stderr.log' => {
      format: :raw,
      log: true,
      pattern: [
        %r{unicorn/unicorn_stderr.log}
      ]
    },
    'selinux/config' => {
      format: :dotenv,
      pattern: [
        %r{selinux/config}
      ]
    },
    'sidekiq/current' => {
      format: :json,
      log: true,
      pattern: [
        %r{sidekiq/current},
        %r{sidekiq/@.*}
      ]
    },
    'gitlab-rails/service_measurement.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/service_measurement.log}
      ]
    },
    # General Purpose JSON
    'json' => {
      format: :json,
      log: true,
      pattern: []
    },

    'gitlab-rails/elasticsearch.log' => {
      format: :json,
      log: true,
      pattern: [
        %r{gitlab-rails/elasticsearch.log}
      ]
    },
    'sshd/current' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{sshd/current}
      ]
    },
    'gitlab-rails/sidekiq.log' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{gitlab-rails/sidekiq.log}
      ]
    },
    'gitlab-rails/gitlab-rails-db-migrate' => {
      format: :time_space,
      log: true,
      pattern: [
        %r{gitlab-rails/gitlab-rails-db-migrate.*}
      ]
    },
    'tainted' => {
      format: :raw,
      pattern: [
        /tainted/
      ]
    },
    'ulimit' => {
      format: :raw,
      pattern: [
        /ulimit/
      ]
    },
    'uname' => {
      format: :raw,
      pattern: [
        /uname/
      ]
    },
    'uptime' => {
      format: :raw,
      pattern: [
        /uptime/
      ]
    },
    'mpstat' => {
      format: :raw,
      pattern: [
        /mpstat/
      ]
    },
    'isostat' => {
      format: :raw,
      pattern: [
        /isostat/
      ]
    },
    'netstat' => {
      format: :netstat,
      pattern: [
        /^netstat$/
      ]
    },
    'netstat_i' => {
      format: :netstat_i,
      pattern: [
        /^netstat_i$/
      ]
    },
    'iostat' => {
      format: :raw,
      pattern: [/^iostat/]
    },
    'nfsiostat' => {
      format: :raw,
      pattern: [
        /^nfsiostat/
      ]
    },
    'nfsstat' => {
      format: :raw,
      pattern: [
        /nfsstat/
      ]
    },
    'pidstat' => {
      format: :pidstat,
      pattern: [
        /pidstat/
      ]
    },
    'sar_dev' => {
      format: :sar_dev,
      pattern: [
        /sar_dev/
      ]
    },
    'sar_tcp' => {
      format: :sar_tcp,
      pattern: [
        /sar_tcp/
      ]
    },
    'sestatus' => {
      format: :colon_split_strip,
      pattern: [
        /sestatus/
      ]
    },
    'sockstat' => {
      format: :raw,
      pattern: [
        /sockstat/
      ]
    },
    'systemctl_unit_files' => {
      format: :table,
      pattern: [
        /systemctl_unit_files/
      ]
    },
    'timedatectl' => {
      format: :colon_split_strip,
      pattern: [
        /timedatectl/
      ]
    },
    'log/messages' => {
      format: :syslog,
      log: true,
      pattern: [
        %r{log/messages}
      ]
    },
    'vmstat' => {
      format: :raw,
      pattern: [
        /vmstat/
      ]
    },
    'iotop' => {
      format: :raw,
      pattern: [
        /iotop/
      ]
    },
    'ntpq' => {
      format: :raw,
      pattern: [
        /ntpq/
      ]
    },
    'gitlab-rails/application.log' => {
      format: :raw,
      pattern: [
        %r{gitlab-rails/application.log}
      ]
    },
    'gitlab-rails/production.log' => {
      format: :raw,
      pattern: [
        %r{gitlab-rails/production.log}
      ]
    },
    'gitlab/version-manifest.txt' => {
      format: :raw,
      pattern: [
        %r{gitlab/version-manifest.txt}
      ]
    },
    'ignore' => {
      format: :ignore,
      pattern: [
        %r{sidekiq/perf.data}
      ]
    }
  }
end