Skip to content

Полезные мне в работе инструменты написанные на Go (golang)

Notifications You must be signed in to change notification settings

akhasano/go-tools

Repository files navigation

Набор DevOps утилит (язык Go)

Название утилиты Описание
namespace-cleaner Cron-Job для k8s которая исправляет багу в Gitlab CI, чистит пропавшие динамические окружения из Gitlab UI, так же дропает БД Postgres, работает Helm пакетами из POD Kubernetes (использует сервисный аккаунт). Используется API Gitlab, Postgres library, Helm Chart management
vault-ci-token-issuer Утилита для CE версии Gitlab, которая использует Application Authentication Hashicorp Vault для получения секретов в Gitlab CI pipeline
vault-ci-token-refresher Утилита которая обновляет экспайренный токен Hashicorp Vault за 5 дней до истечения.
pod-ci-checker Проверяет доступность пода при деплойменте, через специальный DevOps API сервис (используется namespace + sha_short_commit деплоймента. Задача фейлить пайплайн если под не запустился)
check-passwords-in-eso-manifests Утилита проверяющая манифесты External Secret Operator (ямл файлы у которых "kind: ExternalSecret"). Находит файлы манифестов, выдергивает секреты и проверяет их в волте (токен предварительно настроен на чтение всех секретов, без "list"), затем лезет в Vault и проверяет наличие секрета, если секрет не найден - завершает с Exit Code 1. Удобно использовать в GitOps, в репозитории Flux в CiCd при Merge Request как доп. проверка.
k8s-events-webhook Логика: Webhook который слушает события на определенном эндпоинте, парсит приходящие в вебхук события с Kubernetes кластера которые отправляет KubeWatch (он умеет только в вебхук) и кладёт их в кликхауз (ClickHouse), проверяет наличие таблицы и создает её если она отсутствует. Библиотеки для подключения к ClickHouse не используются, только HTTP - как в справке яндекса.

About

Полезные мне в работе инструменты написанные на Go (golang)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published