diff --git a/.ansible-lint b/.ansible-lint index 95e5f2b..7257a5d 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -9,3 +9,5 @@ skip_list: exclude_paths: - ansible/roles/haproxy_static_pods/files/haproxy.yaml - ansible/roles/haproxy_static_pods/files/keepalived.yaml + - talos/ + - .markdownlint.yml diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000..81a9a2b --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,2 @@ +MD013: + line_length: 150 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5eddef8..a4d4c0a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,9 +22,17 @@ repos: rev: v24.9.2 hooks: - id: ansible-lint + exclude: ^talos/ - repo: https://github.com/tofuutils/pre-commit-opentofu rev: v2.1.0 hooks: - id: tofu_fmt - id: tofu_validate + + - repo: https://github.com/igorshubovych/markdownlint-cli + rev: v0.42.0 + hooks: + - id: markdownlint + args: ["--fix"] + files: \.md$ diff --git a/README.md b/README.md index 333ff34..1e66c0d 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,10 @@ ## Мы стремимся подходу **Инфраструктура как код** -Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания. IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API. +Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания. +IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. +Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, +а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API. ## Структура проекта @@ -15,19 +18,28 @@ 2. [kubeadm](./kubeadm/) - это инструмент для простого и быстрого развёртывания кластера Kubernetes. -3. [OpenTofu](./opentofu/) — программное обеспечение с **открытым исходным кодом**, используемое для **управления внешними ресурсами** (например, в рамках модели **инфраструктура как код**). Проект Linux Foundation. Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью **декларативного языка конфигурации**, известного как HashiCorp Configuration Language (HCL) или JSON. +3. [OpenTofu](./opentofu/) — программное обеспечение с **открытым исходным кодом**, +используемое для **управления внешними ресурсами** (например, в рамках модели **инфраструктура как код**). Проект Linux Foundation. +Пользователи определяют и предоставляют инфраструктуру центра обработки данных с помощью **декларативного языка конфигурации**, +известного как HashiCorp Configuration Language (HCL) или JSON. -4. [Ansible](./ansible/) — система управления конфигурациями, написанная на языке программирования **Python**, с использованием **декларативного языка разметки** для **описания конфигураций**. Применяется для **автоматизации настройки и развёртывания программного обеспечения**. +4. [Ansible](./ansible/) — система управления конфигурациями, написанная на языке программирования **Python**, +с использованием **декларативного языка разметки** для **описания конфигураций**. +Применяется для **автоматизации настройки и развёртывания программного обеспечения**. + +5. [Talos](./talos/) — **Talos Linux** — это **Linux**, разработанный для **Kubernetes**: безопасный, неизменяемый и минимальный. ## Pre-commit hook **Pre-commit hook** — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git. -Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий. +Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, +статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий. Преимущества использования **pre-commit hook**-ов: - **Автоматизация проверки кода**: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде. -- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, что снижает количество багов и повышает качество кода. +- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, +что снижает количество багов и повышает качество кода. - **Повышение производительности**: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки. Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте. diff --git a/ansible/roles/ntp_install/README.md b/ansible/roles/ntp_install/README.md index 89dde97..423d48b 100644 --- a/ansible/roles/ntp_install/README.md +++ b/ansible/roles/ntp_install/README.md @@ -16,7 +16,9 @@ Role Variables Dependencies ------------ -Для настройки часового пояса используется роль [community.general.timezone](https://docs.ansible.com/ansible/latest/collections/community/general/timezone_module.html), в качестве параметра принимается строка с нужным часовым поясом, например **Europe/Moscow**. +Для настройки часового пояса используется роль +[community.general.timezone](https://docs.ansible.com/ansible/latest/collections/community/general/timezone_module.html), +в качестве параметра принимается строка с нужным часовым поясом, например **Europe/Moscow**. Example Playbook ---------------- @@ -33,4 +35,4 @@ MIT Author Information ------------------ -Федор Батоногов f.batonogov@yandex.ru +Федор Батоногов diff --git a/talos/README.md b/talos/README.md index 9ddac7a..f1be815 100644 --- a/talos/README.md +++ b/talos/README.md @@ -2,9 +2,9 @@ ## Что такое Талос? -Talos - это дистрибутив Linux, оптимизированный для контейнеров; -переосмысление Linux для распределенных систем, таких как Kubernetes. -Разработанный, чтобы быть максимально минимальным, сохраняя при этом практичность. +Talos - это дистрибутив Linux, оптимизированный для контейнеров; +переосмысление Linux для распределенных систем, таких как Kubernetes. +Разработанный, чтобы быть максимально минимальным, сохраняя при этом практичность. По этим причинам Talos имеет ряд уникальных для него особенностей: - неизменяесый