docs: добавил инструкцию по деплою в README и tests-deploy
This commit is contained in:
@@ -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
|
||||
```
|
||||
|
||||
+59
-15
@@ -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
|
||||
|
||||
После тестов очереди автоматически удаляются.
|
||||
|
||||
Reference in New Issue
Block a user