Go to file
2024-09-12 12:22:06 +03:00
builder Пропатчен Seastar по конвертации типов и балансировке UDP-потоков для Posix-стека. 2024-09-12 12:22:06 +03:00
pre-builder Сборочное окружение и runtime для агентской части (сборка DPDK, Seastar, fmt, AMQP-CPP). 2024-09-10 12:19:59 +03:00
runtime Сборочное окружение и runtime для агентской части (сборка DPDK, Seastar, fmt, AMQP-CPP). 2024-09-10 12:19:59 +03:00
README.md Добавлен пример сценария использования 2024-09-10 14:28:58 +03:00

Описание содержимого

Сборочное окружение агентской части

Выполняет компиляцию и установку библиотек отсутствующих в репозиториях ALTLinux p10 подходящих версий. На выходе получается образ контейнера пригодный к использованию в качестве сборочной машины (билдера) для агентской части. Список собираемых и устанавливаемых библиотек: DPDK, Seastar, fmt (оно жеlibfmt), AMQP-CPP.

runtime-окружение агентской части

Контейнер содержащий необходимое для запуска агентской части может быть собран через runtime/Dockerfile. Библиотеки собираемые и устанавливаемые при создании образа сборчного окружения (builder/Dockerfile) используются как статически линкуемые, т.е. нужны лишь при сборке агентской части.

Использование сборочного окружения

Собирается два образа контейнера, при этом образ alt:pre-builder используется в builder/Dockerfile.

docker build -t alt:pre-builder pre-builder/
docker build -t alt:agent-builder builder/

Исходный код библиотек уже должен быть в builder/libs во время создания образа контейнера через builder/Dockerfile. По этой причине порядок создания образов для сборочного окружения может включать загрузку исходного кода собираемый библиотек из одного или нескольких репозиториев. В таком случае полный сценарий использования может выглядеть как:

git clone --depth 1 https://git.peresvet.it/system-trace/agent-enviroments.git
cd agent-enviroments
docker build -t alt:pre-builder pre-builder/
cd builder/libs
git clone -b 11.0.2 --depth 1 https://github.com/fmtlib/fmt.git
git clone -b v4.3.26 --depth 1 https://github.com/CopernicaMarketingSoftware/AMQP-CPP.git
git clone --depth 1 https://github.com/scylladb/seastar.git
cd seastar
git submodule update --init --depth 1
cd ../..
docker build -t alt:agent-builder builder/

Описание процесса сборки образов

При сборки builder/Dockerfile создаётся промежуточный/временный контейнер, из которого забираются результаты сборки для установки в итоговом образе. Исходный код библиотек и артефакты сборки остаются в промежуточном контейнере и не попадают в конечный образ контейнера.

Образ alt:pre-builder используется как отправная точка — это контейнер ALTLinux p10 имеющий всё необходимое для сборки нужных библиотек.