Skip to content

seldb — Go CLI для Selectel DBaaS #1

@dapi

Description

@dapi

Что это

seldb — Go CLI утилита для управления базами данных в Selectel DBaaS (Managed Databases).

Зачем

Основные пользователи — AI агенты

Утилита разрабатывается в первую очередь для агентного управления инфраструктурой. AI-агенты (Claude Code, Cursor, Copilot Workspace) смогут вызывать seldb через Bash для автоматизации рутинных операций:

  • Создание баз данных для новых staging окружений
  • Управление пользователями и правами доступа
  • Диагностика состояния datastore (disk usage, state)
  • Очистка неиспользуемых ресурсов

Почему не curl/API напрямую

  • Типобезопасность — Go SDK валидирует параметры
  • Удобный вывод — table/json/quiet форматы из коробки
  • Единый интерфейс — не нужно помнить endpoints и структуру запросов
  • Один бинарник — без внешних зависимостей (Python, Node.js)

Почему не Terraform

Terraform отлично подходит для декларативного управления инфраструктурой, но для ad-hoc операций агентов нужен императивный CLI:

# Агент создаёт staging для новой фичи
seldb databases create feature_123_db
seldb grants create --user staging --database feature_123_db

Технологии

  • Go — компилируется в один бинарник
  • selectel/dbaas-go — официальный SDK
  • spf13/cobra — CLI framework

MVP команды

# Datastores
seldb datastores list

# Databases
seldb databases list
seldb databases create NAME
seldb databases delete NAME|ID

# Users
seldb users list
seldb users create NAME --password PASSWORD
seldb users delete NAME|ID

# Grants
seldb grants list
seldb grants create --user USER --database DATABASE
seldb grants delete GRANT_ID

# Status
seldb status

Связанные задачи

  • alfagen/infra#51 — исходная задача

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions