IT Friday

Description
Об IT-индустрии, практиках и трендах
https://habr.com/ru/users/SergeySabbath/
Advertising
We recommend to visit

Пресеты Лайтрум, Обработка фото
👉🏼 @dandemon

Сотрудничество/реклама - https://t.me/+t4j0Hw05gmQxMTEy

Last updated 2 weeks, 2 days ago

ҚР ҒЖБМ Ұлттық тестілеу орталығы

Last updated 2 months, 1 week ago

3000 голды тут - https://linkwin.ru/stream/katk6338

Last updated 1 year, 1 month ago

1 Monat her
IT Friday
1 Monat her
IT Friday
1 Monat her

Отличная роадмапа😃 Но помните, что роадмапа - всегда лишь примерный путь, у каждого он свой.

4 Monate, 3 Wochen her

Express 42 выложили Обсуждение State of DevOps 2024(rus)
Всегда интересно послушать про тренды в DevOps. Ждем отчетик и State of DevOps от DORA ?

YouTube

State of DevOps Russia 2024

Результаты масштабного опроса ИТ-экспертов 2024. Ситуация в DevOps 2024. Новый ландшафт инструментов. Профили эффективности. Инструментальная платформа и платформы контейнеризации. Cloud-трансформация. 00:00 Об отчете, приветствие 03:21 Компании и участники…

6 Monate, 3 Wochen her

Вобщем не понимаю я переживаний на счет Докера, ну ушел и ушел, это блин вообще некритикал, все уже привыкли)
Но задумался вот над чем. Вобщем есть такая компания Chainguard, которая готовит такие образа в которых всегда 0 уязвимостей, ну кроме неизвестных ( - по версии компании). Вообще, круто то, что это прям максимальный Shift left без каких-либо вспомогательных инструментов. Так вот подписка там платная и только с ней можно качать образа определенной версии. В бесплатной подписке можно пулить только образа с версией latest. Разумеется, если вы серьезный энтерпрайз, а не хипстерский стартап, то такое использовать фе. Но, что если написать такую штуку, которая определяет версию образа. Причем это вполне реально.

Например, такое:
1 по названию образа определяем команду для вывода версии продукта (с помощью справочника, ии или захардкоженной логики)
2 запускаем необходимую команду в контейнере из latest-образа
3 грепаем оттуда версию
4 ретегируем образ полученной версией
5 пушим в свой прайват репозиторий

Вот к примеру вручную:

1 Берем образ Nginx

```

docker pull cgr.dev/chainguard/nginx
Using default tag: latest
latest: Pulling from chainguard/nginx
Digest: sha256:1a01e891696587501b097645d4feead0e0c512f7919481a10115d01bc1e94d27
Status: Image is up to date for cgr.dev/chainguard/nginx:latest
cgr.dev/chainguard/nginx:latest

```

2 Запускаем необходимую команду для определения версии в контейнере

```

docker run cgr.dev/chainguard/nginx -v
nginx version: nginx/1.25.5

```

3 Парсим версию. Лень думать, спрашиваем у жпт)

```

Sabbath:
напиши grep - команду, чтобы вывести версию nginx из строки nginx version: nginx/1.25.5

ChatGPT:
Конечно, Sabbath!
Вот команда grep, которая выведет версию nginx из строки nginx version: nginx/1.25.5:
echo "nginx version: nginx/1.25.5" | grep -oP '(?<=nginx/)[^\s]+'
Эта команда использует опцию -o для вывода только совпадающих частей строки и -P для использования синтаксиса Perl-совместимых регулярных выражений. Выражение (?<=nginx/) ищет часть строки, которая следует сразу за nginx/, и [^\s]+ захватывает последующую группу символов, не содержащих пробелов, то есть саму версию.
```sh
echo "nginx version: nginx/1.25.5" | grep -oP '(?<=nginx/)[^\s]+'

```

Запускаем:

```

echo "nginx version: nginx/1.25.5" | grep -oP '(?<=nginx/)[^\s]+'
1.25.5

```

4 Ретегируем образ

```

docker tag cgr.dev/chainguard/nginx:latest /nginx:1.25.5

```

5 Пушим в свою прайват-репу:

```

docker push /nginx:1.25.5
```

We recommend to visit

Пресеты Лайтрум, Обработка фото
👉🏼 @dandemon

Сотрудничество/реклама - https://t.me/+t4j0Hw05gmQxMTEy

Last updated 2 weeks, 2 days ago

ҚР ҒЖБМ Ұлттық тестілеу орталығы

Last updated 2 months, 1 week ago

3000 голды тут - https://linkwin.ru/stream/katk6338

Last updated 1 year, 1 month ago