43 lines
3.1 KiB
Markdown
43 lines
3.1 KiB
Markdown
---
|
|
title: Директория `source/`
|
|
description: Концептуальный обзор структуры изолированной директории исходного кода.
|
|
weight: 52
|
|
---
|
|
|
|
Директория `source/` в корне репозитория содержит основные компоненты и проекты, которыми управляют общие модули. Она разработана для максимальной изоляции и самодостаточности.
|
|
|
|
## Основная философия {#philosophy}
|
|
|
|
Директория `source/` — это не просто место для хранения кода; это коллекция независимых [Проектов](/root/glossary#project). Каждый проект в этой директории должен следовать следующим принципам:
|
|
|
|
1. **Изоляция**: Каждый проект живет в своей поддиректории (например, `source/my-app/`).
|
|
2. **Самодокументируемость**: Каждая директория проекта **ОБЯЗАНА** содержать собственный файл `README.md`, описывающий его назначение, зависимости и конфигурацию.
|
|
3. **Внутренняя логика**: Проекты сами управляют своими процессами сборки, Docker-файлами и внутренними конфигурациями. [Action-скрипты](/root/glossary#action) фреймворка Root просто оркеструют эти существующие компоненты.
|
|
|
|
## Структура директории {#structure}
|
|
|
|
Типичный проект в директории `source/` может выглядеть следующим образом:
|
|
|
|
{{< filetree/container >}}
|
|
{{< filetree/folder name="source" state="open" >}}
|
|
{{< filetree/folder name="happ-subscription-generator" state="open" >}}
|
|
{{< filetree/file name="Dockerfile" >}}
|
|
{{< filetree/file name="generator.py" >}}
|
|
{{< filetree/file name="README.md" >}}
|
|
{{< /filetree/folder >}}
|
|
{{< /filetree/folder >}}
|
|
{{< /filetree/container >}}
|
|
|
|
## Связь с Action-скриптами {#actions}
|
|
|
|
Action-скрипты (такие как `compose` или `sync`) взаимодействуют с директорией `source/`, ссылаясь на пути внутри нее. Например, действие `compose` может использовать файл `docker-compose.yml`, который указывает на `Dockerfile`, расположенный в `source/app/`.
|
|
|
|
Такое разделение ответственности гарантирует, что логика оркестрации (Action-скрипты) остается отвязанной от деталей реализации (Source).
|
|
|
|
---
|
|
|
|
**See also:**
|
|
|
|
- [Концепция: Архитектура инфраструктуры](/root/concepts/architecture)
|
|
- [Справочник: Справочник ROOT_ API Reference](/root/reference/root-api)
|