docs: добавил инструкцию по деплою в README и tests-deploy

This commit is contained in:
Naeel
2026-04-13 09:33:30 +03:00
parent 3cf81a1e01
commit 6cad557dde
2 changed files with 104 additions and 26 deletions
+45 -11
View File
@@ -4,6 +4,39 @@
Сервис предназначен для работы через стандартные AWS SDK и AWS CLI: в обычном клиентском коде меняется только endpoint. Сервис предназначен для работы через стандартные 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 stand:
- demo tenant общий, поэтому очереди и сообщения в нём могут меняться во время просмотра; - 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` - Web UI: используйте \`demo-ui-shared-sqs-ngcloud-2026\`
- AWS CLI / SDK: используйте demo `Access Key / Secret Key` - AWS CLI / SDK: используйте demo \`Access Key / Secret Key\`
Для ознакомительного доступа можно использовать demo credentials: Для ознакомительного доступа можно использовать demo credentials:
@@ -66,23 +99,23 @@ ENDPOINT="--endpoint-url https://qu.kube5s.ru"
Для входа в Web UI: Для входа в Web UI:
1. Откройте `https://qu.kube5s.ru/ui/` 1. Откройте \`https://qu.kube5s.ru/ui/\`
2. Вставьте `demo-ui-shared-sqs-ngcloud-2026` 2. Вставьте \`demo-ui-shared-sqs-ngcloud-2026\`
3. После входа вы попадёте в demo tenant и увидите его очереди и сообщения 3. После входа вы попадёте в demo tenant и увидите его очереди и сообщения
### 2. Получить свои credentials через Web UI ### 2. Получить свои credentials через Web UI
Если нужен полноценный доступ к своим очередям и сообщениям, используйте Web UI: Если нужен полноценный доступ к своим очередям и сообщениям, используйте Web UI:
1. Откройте `https://qu.kube5s.ru/ui/` 1. Откройте \`https://qu.kube5s.ru/ui/\`
2. В поле входа вставьте свой `API Token (nubes JWT)` 2. В поле входа вставьте свой \`API Token (nubes JWT)\`
3. Этот токен пользователь получает в панели управления облаком Nubes 3. Этот токен пользователь получает в панели управления облаком Nubes
4. После успешного входа shared-SQS автоматически создаёт tenant и показывает `Access Key` и `Secret Key` 4. После успешного входа shared-SQS автоматически создаёт tenant и показывает \`Access Key\` и \`Secret Key\`
5. Эти `Access Key / Secret Key` дальше используются в AWS CLI, boto3, AWS SDK for JavaScript и других клиентах 5. Эти \`Access Key / Secret Key\` дальше используются в AWS CLI, boto3, AWS SDK for JavaScript и других клиентах
Важно: Важно:
- `Secret Key` показывается только один раз, его нужно сохранить - \`Secret Key\` показывается только один раз, его нужно сохранить
- для AWS CLI и SDK нужен не UI token, а именно выданные сервисом `Access Key / Secret Key` - для AWS CLI и SDK нужен не UI token, а именно выданные сервисом \`Access Key / Secret Key\`
Примеры ниже можно запускать либо с demo credentials, либо со своими tenant credentials. Примеры ниже можно запускать либо с demo credentials, либо со своими tenant credentials.
@@ -97,6 +130,7 @@ ENDPOINT="--endpoint-url https://qu.kube5s.ru"
### Создать очередь ### Создать очередь
```bash
```bash ```bash
aws sqs create-queue --queue-name demo-queue $ENDPOINT aws sqs create-queue --queue-name demo-queue $ENDPOINT
``` ```
+59 -15
View File
@@ -2,9 +2,52 @@
Скрипты для verification и testing development deployment shared-SQS. Скрипты для 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 ```bash
cd tests-deploy cd tests-deploy
@@ -17,7 +60,7 @@ bash run.sh
- SendMessage, ReceiveMessage - SendMessage, ReceiveMessage
- DeleteMessage - DeleteMessage
### 2. Полный набор тестов (18 операций, batch operations, visibility, tags) ## Полный набор тестов (18 операций, batch, visibility, tags)
```bash ```bash
cd tests-deploy cd tests-deploy
@@ -38,8 +81,8 @@ bash stress.sh
`run.sh` и `stress.sh` автоматически читают параметры из `deploy/values.yaml`: `run.sh` и `stress.sh` автоматически читают параметры из `deploy/values.yaml`:
- `ingress.host` → BASE_URL для API - `ingress.host` → BASE_URL для API
- `admin.token` → ADMIN_TOKEN для управления - `admin.token` → ADMIN_TOKEN
- Используются demo credentials для SQS операций (SSAK-demo-shared-sqs / demo-secret-key-shared-sqs-ngcloud-2026) - Используются demo credentials для SQS операций (встроены)
### Проверка доступности ### Проверка доступности
@@ -47,7 +90,7 @@ bash stress.sh
### Override параметров ### Override параметров
Если нужно использовать свои значения вместо values.yaml, создайте `.env.local`: Если нужно использовать свои значения, создайте `.env.local`:
```bash ```bash
# .env.local # .env.local
@@ -56,25 +99,26 @@ export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_SECRET_ACCESS_KEY="your-secret-key"
``` ```
Он будет автоматически загружен при первом запуске.
## Файлы ## Файлы
- `run.sh` — запуск быстрых тестов - `run.sh` — запуск quick тестов
- `stress.sh` — запуск полного набора тестов - `stress.sh` — запуск полного набора
- `quick.sh` — alias для run.sh (для удобства) - `quick.sh` — alias для run.sh
- `README.md` — эта инструкция - `README.md` — эта инструкция
- `.env.local.example` — пример override-файла конфигурации - `.env.local.example` — пример override-файла
## Требования ## Требования
- bash 4.0+ - bash 4.0+
- curl - curl
- aws-cli (для SQS операций) - aws-cli
- Развёрнутый shared-SQS с ingress доступом - Депложенный 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
После тестов очереди автоматически удаляются. После тестов очереди автоматически удаляются.