diff --git a/README.md b/README.md index f456538..ee5bdf2 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,39 @@ Сервис предназначен для работы через стандартные AWS SDK и AWS CLI: в обычном клиентском коде меняется только endpoint. +## Быстрый старт — деплой + +### 1. Заполнить параметры + +Отредактировать `deploy/values.yaml`: +- Redis хост и пароль +- Ingress домен (для доступа извне) +- PostgreSQL credentials (опционально, для биллинга) + +### 2. Деплоить + +```bash +kubectl create namespace shared-sqs +helm install shared-sqs ./deploy -n shared-sqs +``` + +### 3. Проверить что работает + +```bash +# Дождаться pod ready (1/1) +kubectl -n shared-sqs get pod -w + +# Запустить тесты +cd tests-deploy +bash run.sh +``` + +**Результат:** PASS=7 FAIL=0 ✅ + +Полная инструкция с примерами параметров → [tests-deploy/README.md](tests-deploy/README.md) + +--- + ## Демо-стенд | | | @@ -20,7 +53,7 @@ Demo token и demo credentials предназначены для ознаком Важно для demo stand: - demo tenant общий, поэтому очереди и сообщения в нём могут меняться во время просмотра; -- `QueueUrl` может выглядеть как внутренний адрес сервиса, это нормально для данного стенда: передавайте его обратно как есть и продолжайте использовать `--endpoint-url https://qu.kube5s.ru`. +- \`QueueUrl\` может выглядеть как внутренний адрес сервиса, это нормально для данного стенда: передавайте его обратно как есть и продолжайте использовать \`--endpoint-url https://qu.kube5s.ru\`. ## Что поддерживается @@ -52,8 +85,8 @@ shared-SQS покрывает 17 SQS-операций: Для быстрого демо доступны оба публичных входа: -- Web UI: используйте `demo-ui-shared-sqs-ngcloud-2026` -- AWS CLI / SDK: используйте demo `Access Key / Secret Key` +- Web UI: используйте \`demo-ui-shared-sqs-ngcloud-2026\` +- AWS CLI / SDK: используйте demo \`Access Key / Secret Key\` Для ознакомительного доступа можно использовать demo credentials: @@ -66,23 +99,23 @@ ENDPOINT="--endpoint-url https://qu.kube5s.ru" Для входа в Web UI: -1. Откройте `https://qu.kube5s.ru/ui/` -2. Вставьте `demo-ui-shared-sqs-ngcloud-2026` +1. Откройте \`https://qu.kube5s.ru/ui/\` +2. Вставьте \`demo-ui-shared-sqs-ngcloud-2026\` 3. После входа вы попадёте в demo tenant и увидите его очереди и сообщения ### 2. Получить свои credentials через Web UI Если нужен полноценный доступ к своим очередям и сообщениям, используйте Web UI: -1. Откройте `https://qu.kube5s.ru/ui/` -2. В поле входа вставьте свой `API Token (nubes JWT)` +1. Откройте \`https://qu.kube5s.ru/ui/\` +2. В поле входа вставьте свой \`API Token (nubes JWT)\` 3. Этот токен пользователь получает в панели управления облаком Nubes -4. После успешного входа shared-SQS автоматически создаёт tenant и показывает `Access Key` и `Secret Key` -5. Эти `Access Key / Secret Key` дальше используются в AWS CLI, boto3, AWS SDK for JavaScript и других клиентах +4. После успешного входа shared-SQS автоматически создаёт tenant и показывает \`Access Key\` и \`Secret Key\` +5. Эти \`Access Key / Secret Key\` дальше используются в AWS CLI, boto3, AWS SDK for JavaScript и других клиентах Важно: -- `Secret Key` показывается только один раз, его нужно сохранить -- для AWS CLI и SDK нужен не UI token, а именно выданные сервисом `Access Key / Secret Key` +- \`Secret Key\` показывается только один раз, его нужно сохранить +- для AWS CLI и SDK нужен не UI token, а именно выданные сервисом \`Access Key / Secret Key\` Примеры ниже можно запускать либо с demo credentials, либо со своими tenant credentials. @@ -97,6 +130,7 @@ ENDPOINT="--endpoint-url https://qu.kube5s.ru" ### Создать очередь +```bash ```bash aws sqs create-queue --queue-name demo-queue $ENDPOINT ``` diff --git a/tests-deploy/README.md b/tests-deploy/README.md index afcd210..02cacf4 100644 --- a/tests-deploy/README.md +++ b/tests-deploy/README.md @@ -2,9 +2,52 @@ Скрипты для verification и testing development deployment shared-SQS. -## Быстрый старт +## ⚠️ ПЕРЕД ТЕСТАМИ: Деплой сервиса -### 1. Быстрые тесты (7 операций SQS, ~30 сек) +### Шаг 1: Заполнить параметры + +Отредактировать `deploy/values.yaml`: + +```yaml +redis: + addr: "your-redis-host:6379" # где Redis + user: "default" + password: "your-redis-password" + +admin: + token: "sqs-admin-..." # токен для admin API + +ingress: + host: "your-domain.com" # домен для доступа к SQS + +billing: + postgres: + host: "your-postgres-host" # где PostgreSQL + password: "your-postgres-password" +``` + +### Шаг 2: Деплоить через Helm + +```bash +# Из корня репозитория +helm install shared-sqs ./deploy \ + -n shared-sqs \ + --create-namespace + +# Проверить что pod running +kubectl -n shared-sqs get pod +``` + +### Шаг 3: Когда pod ready (1/1) — запускать тесты + +```bash +cd tests-deploy +bash run.sh +``` + +--- + +## Быстрые тесты (7 операций SQS, ~30 сек) ```bash cd tests-deploy @@ -17,7 +60,7 @@ bash run.sh - SendMessage, ReceiveMessage - DeleteMessage -### 2. Полный набор тестов (18 операций, batch operations, visibility, tags) +## Полный набор тестов (18 операций, batch, visibility, tags) ```bash cd tests-deploy @@ -38,8 +81,8 @@ bash stress.sh `run.sh` и `stress.sh` автоматически читают параметры из `deploy/values.yaml`: - `ingress.host` → BASE_URL для API -- `admin.token` → ADMIN_TOKEN для управления -- Используются demo credentials для SQS операций (SSAK-demo-shared-sqs / demo-secret-key-shared-sqs-ngcloud-2026) +- `admin.token` → ADMIN_TOKEN +- Используются demo credentials для SQS операций (встроены) ### Проверка доступности @@ -47,7 +90,7 @@ bash stress.sh ### Override параметров -Если нужно использовать свои значения вместо values.yaml, создайте `.env.local`: +Если нужно использовать свои значения, создайте `.env.local`: ```bash # .env.local @@ -56,25 +99,26 @@ export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" ``` -Он будет автоматически загружен при первом запуске. - ## Файлы -- `run.sh` — запуск быстрых тестов -- `stress.sh` — запуск полного набора тестов -- `quick.sh` — alias для run.sh (для удобства) +- `run.sh` — запуск quick тестов +- `stress.sh` — запуск полного набора +- `quick.sh` — alias для run.sh - `README.md` — эта инструкция -- `.env.local.example` — пример override-файла конфигурации +- `.env.local.example` — пример override-файла ## Требования - bash 4.0+ - curl -- aws-cli (для SQS операций) -- Развёрнутый shared-SQS с ingress доступом +- aws-cli +- Депложенный shared-SQS с ingress доступом +- kubectl (для проверки пода) ## Результаты -**Успехом считается:** PASS=7 для quick tests или PASS=18 для stress tests, FAIL=0. +**Успехом считается:** +- PASS=7 FAIL=0 для quick tests +- PASS=18 FAIL=0 для stress tests После тестов очереди автоматически удаляются.