Skip to content

jbkkkkk/selectel-loglint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание на Selectel Career Wave 2026

Позиция: Backend-разработка. Golang

Архипенков Владимир

Контакты:

Реализация

  • Реализованы все правила для линтера лог-записей
  • Соблюдены технические требования
  • Проект покрыт тестами
  • Возможность конфигурировать правила через .golangci.yml
  • SuggestedFixes для правил, где это возможно
  • Возможность изменять список чувствительных слов в .golangci.yml
  • CI в Github Actions

Установка

golangci-lint плагин

  1. Собрать плагин:

    go build -buildmode=plugin -o bin/loglint.so ./plugin/
  2. Задайте конфигурацию в .golangci.yml:

    Пример конфига:

     linters-settings:
       custom:
         loglint:
           path: ./bin/loglint.so
           description: Validates log entries for style and security rules
           original-url: github.com/jbkkkkk/selectel-loglint
           settings:
             enabled_rules:
               lowercase_start: true
               no_specials: true
               sensitive_data: true
               english_only: true
             sensitive_keywords:
               - "password"
               - "token"
               - "secret"
               - "custom_keyword"
               - "api_key"
               - "private_key"
    
     linters:
       enable:
         - loglint
    
     issues:
       exclude-use-default: false
  3. Запустите golangci-lint как обычно:

    golangci-lint run

Разработка

Запуск тестов:

go test ./pkg/analyzer/...

Структура проекта

  • pkg/analyzer - анализатор и правила
  • plugin/ модульный плагин для golangci-lint

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages