Как определить версию продукта#
Последовательность выполнения#
Последовательность выполнения сценария определяется одним из вариантов проверки. Для определения версии продукта DropApp существует несколько способов.
Определение версии DropApp через метку образа#
В дистрибутиве DropApp у каждого образа есть внутреннее свойство образа - метка (label), это пары ключ-значение.
Например:
"Labels": {
"creation_time": "08-11-2024 16-46-20",
"dapp_ver": "3.0.0",
"git_branch": "release/k8sc-3.0.0",
"git_hash": "<hash_number>",
"io.buildah.version": "1.33.8",
"product_version": "Platform V DropApp 3.0.0",
"upstream_ver": "v3.17.1",
"vendor": "SBERTECH JSC"
},
Определение версии продукта#
Версию DropApp, для которой собран образ, можно определить с помощью вывода утилиты grep по поиску метки dapp_ver
podman inspect <image_catalog>/<image_name>:<tag> | grep dapp_ver
Где:
<tag>- тег;<image_name>- имя образа;<image_catalog>- путь до образа в репозитории.
Результат вывода будет примерно таким:
podman inspect <image_catalog>/<image_name>:<tag> | grep dapp_ver
"dapp_ver": "3.0.0",
"dapp_ver": "3.0.0",
В данном примере выводится информации о версия DropApp 3.0.0.
Определение версии программного компонента DropApp#
Версию программного компонента DropApp, для которой собран образ, можно определить с помощью вывода утилиты grep по поиску метки git_branch
podman inspect <image_catalog>/<image_name>:<tag> | grep git_branch
Результат вывода будет примерно таким:
podman inspect <image_catalog>/<image_name>:<tag> | grep git_branch
"git_branch": "release/k8sc-3.0.0",
"git_branch": "release/k8sc-3.0.0",
В данном примере выводится информации о программном компоненте K8SC версии 3.0.0.
Определение версии DropApp через версию Kubernetes#
Определить версии DropApp через версию Kubernetes можно с помощью утилиты Kubectl.
Для определения версии Kubernetes введите команду:
kubectl versionВ выводе команды версия указана в разделе
Server Version: version.Info->GitVersion:[root@cp01 username]# kubectl version WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version. Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.16", GitCommit:"af01b000f00", GitTreeState:"clean", BuildDate:"2024-10-29T00:00:00Z", GoVersion:"go1.23.2", Compiler:"gc", Platform:"linux/amd64"} Kustomize Version: v5.0.1 Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.16", GitCommit:"<GIT_COMMIT_HASH>", GitTreeState:"clean", BuildDate:"2024-11-08T12:24:34Z", GoVersion:"go1.22.7", Compiler:"gc", Platform:"linux/amd64"}В данном примере версия Kubernetes v1.27.16
Для определения версии DropApp воспользуйтесь таблицей сопоставления версий в разделе «Соответствие версий DropApp и Kubernetes» документа «Описание».
Версия Kubernetes v1.27.16 соответствует версии DropApp k8sc 3.1.0.
Определение версии DropApp через UI интерфейс OKD console#
Вариант определения пользователем версии продукта DropApp через UI интерфейс OKD console представлен в разделе «Как определить версию продукта» документа «Руководство пользователя».
SWID-теги#
Начиная с версии 5.0.0, во все поставляемые образы продукта добавлены теги идентификации программного обеспечения (Software Identification Tag, SWID-теги) в поле annotations.
SWID-теги определяются стандартами ISO / IEC 19770-2:2015, ГОСТ Р ИСО/МЭК 19770-2-2014 «Информационные технологии. Менеджмент программных активов. Часть 2. Тег идентификации программного обеспечения» и представляют собой структурированные метаданные для описания программного продукта. Они идентифицируют программный продукт, характеризуют его версию, организации и отдельных лиц, принимавших участие в разработке и распространении продукта, содержат информацию об артефактах, составляющих программный продукт, связях между программными продуктами и другие описательные метаданные. SWID-теги предоставляют информацию, необходимую для:
автоматизации установки программного обеспечения на протяжении всего жизненного цикла его развертывания;
автоматизации инвентаризации программного обеспечения в рамках процесса управления программными активами (Software Asset Management, SAM);
оценки уязвимостей программного обеспечения;
обнаружения отсутствующих исправлений;
проверки контрольных списков конфигурации;
проверки целостности программного обеспечения;
составления белых и черных списков для установки и запуска;
других сценариев использования в сфере безопасности и эксплуатации.
В манифест образов контейнеров добавлено поле annotations, в которое добавляются значения из файла для SWID-тега. Заполнение поля annotations можно проверить командой docker buildx imagetools inspect --raw | jq, например:
docker buildx imagetools inspect --raw <repository>/k8sc/5.0.0/dapp-apiserver-network-proxy/proxy-agent-amd64:v0.34.0 | jq
Поле annotations имеет вид:
"annotations": {
"org.opencontainers.image.base.digest": "",
"org.opencontainers.image.base.name": "",
"regid.2021-12.ru.sbertech_k8s-5.0.0.product_title": "Platform V DropApp",
"regid.2021-12.ru.sbertech_k8s-5.0.0.product_version": "5.0.0",
"regid.2021-12.ru.sbertech_k8s-5.0.0.software_creator.name": "Sbertech",
"regid.2021-12.ru.sbertech_k8s-5.0.0.software_creator.regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8s-5.0.0.software_id.tag_creator_regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8s-5.0.0.software_id.unique_id": "k8s-5.0.0",
"regid.2021-12.ru.sbertech_k8s-5.0.0.software_licensor.name": "Sbertech",
"regid.2021-12.ru.sbertech_k8s-5.0.0.software_licensor.regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8s-5.0.0.tag_creator.name": "Sbertech",
"regid.2021-12.ru.sbertech_k8s-5.0.0.tag_creator.regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.component_of.tag_creator_regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.component_of.unique_id": "k8s-5.0.0",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.product_title": "K8S Core",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.product_version": "5.0.0",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.software_creator.name": "Sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.software_creator.regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.software_id.tag_creator_regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.software_id.unique_id": "k8sc-5.0.0",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.software_licensor.name": "Sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.software_licensor.regid": "regid.2021-12.ru.sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.tag_creator.name": "Sbertech",
"regid.2021-12.ru.sbertech_k8sc-5.0.0.tag_creator.regid": "regid.2021-12.ru.sbertech"
}