docker-scripts/SUPPORT.ru.md
STAM 511a8a115a
infrastructure improvements + drop ASTRA SE\CE 1.7 support
update requirements.txt


github actions runs-on: ubuntu-24.04



make pip fix

- failsafe
- systemwide

zabbix 7 + zabbix fixes

cleanup

ci

wip: fixes, nginx update, support update

wip: bookworm 12 base updates

wip: requirements.txt cleanup

zabbix USER fix

WIP: debian 12 develop improvements
2024-08-17 16:55:42 +03:00

75 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Документ поддержки концепции образов Docker для проекта
`timestamp: 2024/08/12`
| Debian | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | sid |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| **codename** | squeeze | wheezy | jessie | stretch | buster | **bullseye** | **bookworm** | trixie | sid |
| **status** | deprecated | deprecated | deprecated | deprecated | deprecated | **LTS** | **Current** | testing | unstable |
## Введение
Репозиторий `epicmorg/docker` содержит коллекцию `образов Docker`, организованных по версиям `Debian` и используемых для создания как базовых, так и конечных образов продуктов. Основная цель данной концепции — `обеспечить упорядоченность и актуальность образов в зависимости от их использования и статуса`. В этом документе описан текущий подход к организации образов и планируемые изменения для улучшения управления версиями и поддержки.
### Организация образов
##### Базовые образы
В директории `linux/ecosystem/epicmorg/debian` расположены образы `Docker`, основанные на различных версиях Debian (с `6` по `12`). Все базовые образы могут быть классифицированы на следующие категории:
1. **Образ `slim`**:
- Наследуется от официальных образов Debian (версии 6-12).
- Содержит минимальный набор правок: добавление папок, корневых сертификатов и настройка APT.
2. **Образ `main`**:
- Наследуется от образа `slim`.
- Включает базовый набор программного обеспечения (например, `mc`, `wget`, `htop`).
- Предназначен как основной образ для создания более сложных финальных образов, таких как Nginx.
3. **Образ `develop`**:
- Наследуется от образа `main`.
- Включает инструменты для сборки и разработки (например, `ninja`, `make`, `cmake`).
4. **Образы `nodejs`**:
- Включают версии Node.js (с 0.4 до последней).
- Наследуются от образа `main`.
- Содержат Node.js, npm, npmx, yarn и заголовочные файлы, установленные из tar-архивов.
5. **Образы `jdk`**:
- Включают версии JDK (с 6 по 21).
- Имеют два тега:
- Основной тег: наследуется от `main`.
- Девелоперский тег: наследуется от `develop`.
##### Конечные образы
В директории `linux/ecosystem` находятся образы для конечных продуктов (например, `apache2`, `nginx`, `jira`). Эти образы обычно наследуются от соответствующих базовых образов.
#### Изменение подхода к разработке
Для улучшения управления образами и обеспечения актуальности предлагается следующий подход:
1. **Поддержка базовых образов**:
- Все существующие базовые образы (`slim`, `main`, `develop`, `nodejs`, `jdk`) сохранятся без изменений для каждой версии Debian.
- Базовые образы будут пересобираться периодически, чтобы учесть обновления и бекпорты.
2. **Введение концепции `upstream` и `deprecated`**:
- **`Upstream`**: Актуальные конечные образы будут наследоваться от базовых образов для последней стабильной версии Debian. В данный момент это Debian 12. При выходе новой стабильной версии Debian, конечные образы будут переведены на новую версию.
- **`Deprecated`**: Для устаревших версий базовых образов будут доступны только сами базовые образы. Конечные образы не будут обновляться для устаревших версий.
3. **Управление версиями**:
- Актуальные образы будут пересобираться на основе последней `стабильной` версии `Debian`.
- В актуальные образы входят ветки `current` (`стабильная`, или же `12`) как основная, а так же `LTS` но облегченная (`11`) - буду собираться только базовые образы.
- Прошлая `LTS` ветка перестает поддерживаться, когда назначается новая.
- При выпуске новой версии `Debian` (например, `13`), все конечные образы будут обновлены и переведены на новую версию `Debian`, если она станет стабильной.
4. **Периодическое обновление образов**:
- `Все версии` базовых образов, включая `устаревшие`, будут периодически пересобираться для включения обновлений и бекпортов.
5. **Добавление новых базовых образов**:
- Начиная с текущей `версии` апстрима (`12`), в нее будут постепенно добавлены дополнительные базовые образы, такие как `PHP` и `Python` и др. Эти новые базовые образы не будут бекпортированы в предыдущие устаревшие версии. Однако при переходе апстрима на новую версию (например, `13`), новые базовые образы также будут перенесены в нее и останутся в предыдущей версии (например, `12`).
#### Заключение
Этот подход позволит лучше управлять версиями и поддерживать актуальность образов в репозитории. Переход на концепцию upstream и deprecated поможет сосредоточиться на поддержке актуальных версий продуктов и обеспечит более стабильное и предсказуемое окружение для конечных пользователей. Введение новых базовых образов дополнительно расширит функциональность и гибкость доступных Docker-образов.