Feture/talos readme (#23)

* Add talos readme

* Add talos readme
This commit is contained in:
Федор Батоногов
2024-11-12 09:22:19 +03:00
committed by GitHub
parent 3071c7b38a
commit 67de6e6c10
6 changed files with 36 additions and 10 deletions

View File

@@ -9,3 +9,5 @@ skip_list:
exclude_paths: exclude_paths:
- ansible/roles/haproxy_static_pods/files/haproxy.yaml - ansible/roles/haproxy_static_pods/files/haproxy.yaml
- ansible/roles/haproxy_static_pods/files/keepalived.yaml - ansible/roles/haproxy_static_pods/files/keepalived.yaml
- talos/
- .markdownlint.yml

2
.markdownlint.yml Normal file
View File

@@ -0,0 +1,2 @@
MD013:
line_length: 150

View File

@@ -22,9 +22,17 @@ repos:
rev: v24.9.2 rev: v24.9.2
hooks: hooks:
- id: ansible-lint - id: ansible-lint
exclude: ^talos/
- repo: https://github.com/tofuutils/pre-commit-opentofu - repo: https://github.com/tofuutils/pre-commit-opentofu
rev: v2.1.0 rev: v2.1.0
hooks: hooks:
- id: tofu_fmt - id: tofu_fmt
- id: tofu_validate - id: tofu_validate
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.42.0
hooks:
- id: markdownlint
args: ["--fix"]
files: \.md$

View File

@@ -7,7 +7,10 @@
## Мы стремимся подходу **Инфраструктура как код** ## Мы стремимся подходу **Инфраструктура как код**
Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания. IaC работает со всеми компонентами инфраструктуры так, будто это просто данные. Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование, а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API. Основная идея **Infrastructure as Code (IaC)** в том, чтобы **описать инфраструктуру кодом** и сделать её доступной для понимания.
IaC работает со всеми компонентами инфраструктуры так, будто это просто данные.
Такое стало возможно благодаря умению платформ виртуализации и облачных провайдеров разделять инфраструктуру и оборудование,
а для управления серверами, хранилищами и сетевыми устройствами предоставлять специальное API.
## Структура проекта ## Структура проекта
@@ -15,19 +18,28 @@
2. [kubeadm](./kubeadm/) - это инструмент для простого и быстрого развёртывания кластера Kubernetes. 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
**Pre-commit hook** — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git. **Pre-commit hook** — это скрипт, который выполняется перед тем, как изменения будут зафиксированы в системе контроля версий, например, в Git.
Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода, статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий. Он позволяет автоматически проверять код и выполнять определенные действия, такие как запуск тестов, проверка стиля кода,
статический анализ и другие проверки, чтобы предотвратить попадание некорректного или несоответствующего стандартам кода в репозиторий.
Преимущества использования **pre-commit hook**-ов: Преимущества использования **pre-commit hook**-ов:
- **Автоматизация проверки кода**: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде. - **Автоматизация проверки кода**: Хуки позволяют автоматизировать проверку качества кода, что помогает поддерживать стандарты кода в команде.
- **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий, что снижает количество багов и повышает качество кода. - **Раннее выявление ошибок**: Хуки помогают обнаруживать ошибки и недочеты до того, как они попадут в репозиторий,
что снижает количество багов и повышает качество кода.
- **Повышение производительности**: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки. - **Повышение производительности**: Автоматические проверки экономят время разработчиков, которое они могли бы потратить на ручные проверки.
Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте. Использование pre-commit hook-ов является хорошей практикой, которая помогает поддерживать качество и стабильность кода в проекте.

View File

@@ -16,7 +16,9 @@ Role Variables
Dependencies 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 Example Playbook
---------------- ----------------
@@ -33,4 +35,4 @@ MIT
Author Information Author Information
------------------ ------------------
Федор Батоногов f.batonogov@yandex.ru Федор Батоногов <f.batonogov@yandex.ru>

View File

@@ -2,9 +2,9 @@
## Что такое Талос? ## Что такое Талос?
Talos - это дистрибутив Linux, оптимизированный для контейнеров; Talos - это дистрибутив Linux, оптимизированный для контейнеров;
переосмысление Linux для распределенных систем, таких как Kubernetes. переосмысление Linux для распределенных систем, таких как Kubernetes.
Разработанный, чтобы быть максимально минимальным, сохраняя при этом практичность. Разработанный, чтобы быть максимально минимальным, сохраняя при этом практичность.
По этим причинам Talos имеет ряд уникальных для него особенностей: По этим причинам Talos имеет ряд уникальных для него особенностей:
- неизменяесый - неизменяесый