Обновить branch/README.md

This commit is contained in:
Алексей Костарев 2024-04-23 09:26:37 +03:00
parent 31de830d2e
commit f3f74f56dd

View File

@ -1,14 +1,14 @@
# Описание структуры каталогов для автоматизации рабочео процесса создания образов
## ОБщая структура каталогов
## Общая структура каталогов
- Вместо каталога `org` предлагается использовать каталог `branch`
- Каталог `branch` содержит подкаталога бранчей (платформ):
* sisyphus
* p10
* c10f1
* c10f2
* `sisyphus`;
* `p10`;
* `c10f1`;
* `c10f2`;
* ...
Подкаталоги бранчей содержат дерево групп образов.
@ -73,27 +73,62 @@ branch/sisyphus/
Конечный каталог дерева содержит файлы:
- **Dockerfile** - файл для сборки образа;
- **`Dockerfile`** - файл для сборки образа;
- **image.yml** - файл описания метаданных для образа.
- **`image.yml`** - файл описания метаданных для образа.
Все вышележащие до каталога конкретного бранча (sisyphus, p10, c10f1, c10f2, ...) описывают группу (возможно пустую), в которую входит образ.
Все вышележащие до каталога конкретного бранча (`sisyphus`, `p10`, `c10f1`, `c10f2`, ...) описывают группу (возможно пустую), в которую входит образ.
Имя образа формируется как тропа дерева каталогов.
Например:
- `sisyphus/apache`
- `sisyphus/k8s/kube-apiserver`
Имя тега берется либо из файла `image.yml` описания образа, либо из файла описания группы `images.yml`.
## Конечный каталог описания образа
### Dockerfile
Пример файла образа `sisyphus/k8s/kube-apiserver`:
<pre>
ARG BRANCH REGISTRY=gitea.basealt.ru ALT_IMAGE=base/alt:$BRANCH MAINTAINER=alt-cloud ALT_TESTSCRIPT=/bin/true
FROM $REGISTRY/$ALT_IMAGE:$BRANCH
MAINTAINER $MAINTAINER
LABEL org.altlinux.testscript=$ALT_TESTSCRIPT
RUN alt_install_pakages kubernetes-master
ENTRYPOINT ["/usr/bin/kube-apiserver"]
</pre>
### Файл image.yml описания метаданных для образа
В настоящий момент он содержит (жирным шрифтом обязательные элементы):
* **image.maintainer** - E-mail майнтейнера для создания и проверки электронной подписи образа;
* **`image.maintainer`** - E-mail майнтейнера для создания и проверки электронной подписи образа;
* image.alias - список возможных алиасов образа;
* `image.alias` - список возможных алиасов образа;
* `image.tag` - тер образа (может при сборке перекрываться тегом, взятым из вышележащего файла `images.yml` описания группы)
* image.labels - список дополнительных метов образа, в частности:
* `image.labels` - список дополнительных метов образа, в частности:
- org.altlinux.testscript - shell код для тестоиования образа при его запуске в режиме `podman ... -it --- <образ>`
- `org.altlinux.testscript` - shell код для тестоиования образа при его запуске в режиме `podman ... -it --- <образ>`
Пример файла образа `sisyphus/k8s/kube-apiserver`:
<pre>
version: 1.0
image:
alias:
- k8s-${BRANCH}/${IMAGE}:${TAG}
labels:
org.altlinux.testscript: /bin/true
maintainer: stepchenkoas@basealt.ru
</pre>
## Каталог группы