feat: Добавлена поддержка ansible-lint с настройками для пропуска ошибок

- Добавлена команда make lint для проверки всего проекта
- Обновлена команда make role lint для использования .ansible-lint
- Добавлен файл .ansible-lint с настройками для пропуска ошибок:
  - fqcn: позволяет использовать короткие имена модулей
  - yaml[new-line-at-end-of-file]: не требует новой строки в конце YAML
  - yaml[truthy]: позволяет использовать yes/no вместо true/false
  - yaml[line-length]: не ограничивает длину строк в YAML
  - var-naming[no-role-prefix]: не требует префиксов для переменных
  - ignore-errors: позволяет использовать ignore_errors: yes

Обновления в Makefile:
- make lint: проверяет весь проект (molecule, playbooks, roles)
- make role lint: использует --config-file /ansible/.ansible-lint
- Добавлена команда lint в справку make help

Обновления в документации:
- README.md: добавлена команда make lint
- docs/api.md: добавлены разделы Ansible-lint команды и настройки

Преимущества:
- Единообразная проверка всего проекта
- Гибкие настройки для пропуска нежелательных ошибок
- Автоматическое использование конфигурационного файла
- Подробная документация по настройкам

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-10-22 13:52:44 +03:00
parent 09ca55539f
commit df97e9d3d4
3 changed files with 51 additions and 2 deletions

View File

@@ -197,6 +197,42 @@ kubectl logs <pod-name>
kubectl exec -it <pod-name> -- /bin/sh
```
### Ansible-lint команды
```bash
# Проверить весь проект
make lint
# Проверить роли
make role lint
# Проверить конкретную роль
ansible-lint --config-file .ansible-lint roles/my-role/
# Проверить playbook
ansible-lint --config-file .ansible-lint files/playbooks/site.yml
```
### Настройки ansible-lint (.ansible-lint)
```yaml
skip_list:
- fqcn # Полные имена модулей
- yaml[new-line-at-end-of-file] # Новая строка в конце файла
- yaml[truthy] # Булевы значения
- yaml[line-length] # Длина строки
- var-naming[no-role-prefix] # Префиксы переменных
- 'ignore-errors' # Игнорирование ошибок
```
**Описание пропускаемых правил:**
- `fqcn` - позволяет использовать короткие имена модулей (например, `yum` вместо `ansible.builtin.yum`)
- `yaml[new-line-at-end-of-file]` - не требует новой строки в конце YAML файлов
- `yaml[truthy]` - позволяет использовать `yes/no` вместо `true/false`
- `yaml[line-length]` - не ограничивает длину строк в YAML
- `var-naming[no-role-prefix]` - не требует префиксов для переменных ролей
- `ignore-errors` - позволяет использовать `ignore_errors: yes`
### Port-forward команды
```bash