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