Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ body:
attributes:
label: Версии
description: Коммит или тег, версия инструмента (`cio --version`, `sqlbrc --version`) и окружение
placeholder: "main @ a1b2c3d, cio 0.2.0, Go 1.25.14, Docker 29.8.0, Trivy 0.74.0"
placeholder: "main @ a1b2c3d, cio 0.2.0, Go 1.26.8, Docker 29.8.0, Trivy 0.74.0"
validations:
required: true
- type: textarea
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ jobs:
# Версия зафиксирована: обновление — отдельное изменение, иначе сканер может
# начать падать на новом наборе правил. Верхняя граница — версия Go в go.mod:
# setup-go выставляет GOTOOLCHAIN=local, а golang.org/x/vuln@v1.8.0 требует
# go >= 1.26.0 (в go.mod объявлена 1.25.14), поэтому ставится v1.7.0 —
# её модуль требует go 1.25.0. Повышать версию — вместе с go в go.mod.
go install golang.org/x/vuln/cmd/govulncheck@v1.7.0
# go >= 1.26.0 (в go.mod объявлена 1.26.8), поэтому ставится v1.8.0.
# Повышать версию — вместе с go в go.mod.
go install golang.org/x/vuln/cmd/govulncheck@v1.8.0
govulncheck ./...

test:
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

| Компонент | Версия | Зачем |
| --- | --- | --- |
| Go | 1.25.14+ | сборка и тесты обоих инструментов (патч зафиксирован в `go.mod`) |
| Go | 1.26.8+ | сборка и тесты обоих инструментов (патч зафиксирован в `go.mod`) |
| Docker Engine | 24+ | `cio`: образы и история слоёв читаются через Docker API |
| PostgreSQL | 15 | `sqlbrc`: утилиты `pg_dump`, `pg_restore`, `psql`, `pg_isready` |
| Python 3 | 3.8+ | только для валидации workflows (`.work/validate-workflows.py`) |
Expand Down Expand Up @@ -45,9 +45,9 @@ go build -trimpath -o bin/sqlbrc.exe ./cmd/sqlbrc # для sqlbrc (.exe — т
Линт: `make lint` (нужен `golangci-lint`) или `.work/lint-docker.ps1` — тот же линтер в контейнере
`golangci/golangci-lint` с версией, которая используется в CI.

Проверка зависимостей: `go install golang.org/x/vuln/cmd/govulncheck@v1.7.0`, затем `govulncheck ./...`
Проверка зависимостей: `go install golang.org/x/vuln/cmd/govulncheck@v1.8.0`, затем `govulncheck ./...`
(достижимые уязвимости роняют CI). Версию держим той же, что в `.github/workflows/ci.yml`: `v1.8.0`
требует Go ≥ 1.26, а в `go.mod` обоих инструментов объявлена 1.25.14.
требует Go ≥ 1.26, а в `go.mod` обоих инструментов объявлена 1.26.8.

Дымовая проверка на живом Docker: `.work/smoke-cio.ps1` (добавьте `-WithTrivy`, чтобы проверить сканирование).

Expand Down
9 changes: 9 additions & 0 deletions Container image optimizer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@
печатал «commit none, сборка unknown», и сверить контейнер с бинарём из релиза было нечем.
Теперь значения подставляются так же, как в релизных бинарях.

### Изменилось

- минимальная версия Go — `1.26.8` (директива `go` в `go.mod` и `ARG GO_IMAGE` в Dockerfile): в образе
сборки автоподбор тулчейна выключен, поэтому образ обязан содержать тулчейн не старше объявленного
в `go.mod`. Патч `1.25.14` не соответствовал требованиям зависимостей и оставлял в стандартной
библиотеке достижимые уязвимости;
- `govulncheck` обновлён до `v1.8.0` в CI и в документации — его модуль требует Go ≥ 1.26, что теперь
соответствует `go.mod`.

## [0.2.0] - 2026-09-21

Усиление безопасности и качества после аудита 0.1.0: фиксация версий, ворота в CI,
Expand Down
2 changes: 1 addition & 1 deletion Container image optimizer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# (GOTOOLCHAIN=local), поэтому образ обязан содержать тулчейн не старше объявленного
# в go.mod, иначе сборка падает. Тулчейн же определяет уязвимости stdlib, которые
# видит govulncheck, — устаревший патч оставит гейт красным.
ARG GO_IMAGE=golang:1.25.14-alpine
ARG GO_IMAGE=golang:1.26.8-alpine
# Тег Trivy фиксируется: с :latest состав образа не воспроизводится, а уязвимости
# встроенного сканера попадают в релизный образ. Обновления приносит Dependabot.
ARG TRIVY_IMAGE=aquasec/trivy:0.74.0
Expand Down
2 changes: 1 addition & 1 deletion Container image optimizer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
| Компонент | Версия | Обязателен |
| --- | --- | --- |
| Docker Engine | 24+ (проверено на 29.8.0) | да: через его API берутся метаданные и история слоёв |
| Go | 1.25.14+ | только для сборки из исходников (минимальный патч зафиксирован в `go.mod`) |
| Go | 1.26.8+ | только для сборки из исходников (минимальный патч зафиксирован в `go.mod`) |
| Trivy | 0.74+ или образ `aquasec/trivy` | нет: без Trivy отчёт по слоям всё равно строится |

## Сборка и запуск
Expand Down
2 changes: 1 addition & 1 deletion Container image optimizer/go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/DevOps-spb-ru/DevOps-Engineer-Tools/container-image-optimizer

go 1.25.14
go 1.26.8

require (
github.com/moby/moby/api v1.56.0
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

| Компонент | Версия | Кому нужен |
| --- | --- | --- |
| Go | 1.25.14+ | обоим инструментам: сборка и тесты (минимальный патч зафиксирован в `go.mod`) |
| Go | 1.26.8+ | обоим инструментам: сборка и тесты (минимальный патч зафиксирован в `go.mod`) |
| Docker Engine | 24+ (проверено на 29.8.0) | `cio`: образы и история слоёв через Docker API |
| Trivy | 0.74+ или доступный Docker (образ `aquasec/trivy`) | `cio`: поиск уязвимостей; при отсутствии бинаря утилита запускает контейнер |
| PostgreSQL | 15, клиент той же мажорной версии, что сервер | `sqlbrc`: операции выполняются утилитами `pg_dump`, `pg_restore`, `psql`, `pg_isready` |
Expand Down
9 changes: 9 additions & 0 deletions SQL backup restore clone/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@
поэтому `sqlbrc --version` из образа печатал «сборка unknown», и сверить контейнер с бинарём
из релиза было нечем. Дата подставляется так же, как в релизных бинарях.

### Изменилось

- минимальная версия Go — `1.26.8`: директива `go` в `go.mod` поднята с `1.26.0`, а образ сборки —
с `golang:1.25.14-alpine3.23` до `golang:1.26.8-alpine3.23`. Расхождение `go.mod` (требует ≥ 1.26)
с образом сборки ломало сборку образа (`go mod download` падал с кодом 1), а патч `1.26.0`
оставлял в стандартной библиотеке достижимые уязвимости (`crypto/tls`, `encoding/asn1`, `net/http`);
- `govulncheck` обновлён до `v1.8.0` в CI и в документации — его модуль требует Go ≥ 1.26, что теперь
соответствует `go.mod`.

## [0.3.0] - 2026-09-21

Веб-интерфейс и API: команда `serve` с теми же операциями, что и в CLI.
Expand Down
2 changes: 1 addition & 1 deletion SQL backup restore clone/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# права 0600). sudo в образ не ставится — он в этом режиме не нужен.
#
# Версии базовых образов закреплены: обновляет их Dependabot (.github/dependabot.yml).
ARG GO_IMAGE=golang:1.25.14-alpine3.23
ARG GO_IMAGE=golang:1.26.8-alpine3.23
ARG RUNTIME_IMAGE=alpine:3.22

FROM ${GO_IMAGE} AS build
Expand Down
2 changes: 1 addition & 1 deletion SQL backup restore clone/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ PostgreSQL.
| Утилиты PostgreSQL (`pg_dump`, `pg_restore`, `psql`, `pg_isready`) | та же мажорная версия, что и сервер | да: расхождение версий клиента и сервера `doctor` проверяет отдельно |
| Linux + systemd | Debian 12, Ubuntu 22.04+ и подобные | да: `sudo`, права каталогов, юнит сервиса |
| `sudo` | правило `NOPASSWD` на фиксированный список утилит | да: утилиты запускаются от владельца кластера без пароля |
| Go | 1.25.14+ | только для сборки из исходников: минимальный патч зафиксирован в `go.mod` |
| Go | 1.26.8+ | только для сборки из исходников: минимальный патч зафиксирован в `go.mod` |

## Установка и первый запуск

Expand Down
2 changes: 1 addition & 1 deletion SQL backup restore clone/go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/DevOps-spb-ru/DevOps-Engineer-Tools/sql-backup-restore-clone

go 1.26.0
go 1.26.8

require (
github.com/spf13/cobra v1.10.2
Expand Down
Loading