mirror of
https://github.com/batonogov/learn-devops.git
synced 2025-11-29 00:33:02 +00:00
@@ -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
|
||||
|
||||
2
.markdownlint.yml
Normal file
2
.markdownlint.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
MD013:
|
||||
line_length: 150
|
||||
@@ -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$
|
||||
|
||||
22
README.md
22
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-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.
|
||||
|
||||
@@ -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
|
||||
Федор Батоногов <f.batonogov@yandex.ru>
|
||||
|
||||
Reference in New Issue
Block a user