docs: remove hardcoded credentials, update test counts, add tenant creation guide
This commit is contained in:
@@ -8,11 +8,33 @@
|
|||||||
| | |
|
| | |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **Web UI** | https://qu.kube5s.ru/ui/ |
|
| **Web UI** | https://qu.kube5s.ru/ui/ |
|
||||||
| **SQS Endpoint** | https://qu.kube5s.ru |
|
| **SQS Endpoint** | `https://qu.kube5s.ru` |
|
||||||
| **Access Key** | `SSAK-dbdee63f39621705826a759e` |
|
|
||||||
| **Secret Key** | `faaae34c905f467636cce1db09a66f35113bee6f61efecbe1dcd30ed8d11c33f` |
|
|
||||||
| **Region** | `us-east-1` (любая) |
|
| **Region** | `us-east-1` (любая) |
|
||||||
|
|
||||||
|
Демо-стенд запущен с преднастроенным тенантом и несколькими очередями.
|
||||||
|
Чтобы работать с SQS API (AWS CLI, boto3, SDK) — создайте своего тенанта через Web UI и используйте выданные credentials.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Быстрый старт
|
||||||
|
|
||||||
|
### Создать тенанта
|
||||||
|
|
||||||
|
1. Откройте [Web UI](https://qu.kube5s.ru/ui/)
|
||||||
|
2. Нажмите **"Создать тенанта"**, введите имя
|
||||||
|
3. Скопируйте выданные **Access Key** и **Secret Key**
|
||||||
|
|
||||||
|
### Настройка AWS CLI
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export AWS_ACCESS_KEY_ID="<ваш Access Key>"
|
||||||
|
export AWS_SECRET_ACCESS_KEY="<ваш Secret Key>"
|
||||||
|
export AWS_DEFAULT_REGION="us-east-1"
|
||||||
|
ENDPOINT="--endpoint-url https://qu.kube5s.ru"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## AWS CLI
|
## AWS CLI
|
||||||
|
|
||||||
Самый простой способ работы — через стандартный AWS CLI.
|
Самый простой способ работы — через стандартный AWS CLI.
|
||||||
@@ -42,15 +64,6 @@ Windows: скачайте установщик с [https://aws.amazon.com/cli/](
|
|||||||
|
|
||||||
Проверка: `aws --version`
|
Проверка: `aws --version`
|
||||||
|
|
||||||
### Настройка
|
|
||||||
|
|
||||||
```bash
|
|
||||||
export AWS_ACCESS_KEY_ID="SSAK-dbdee63f39621705826a759e"
|
|
||||||
export AWS_SECRET_ACCESS_KEY="faaae34c905f467636cce1db09a66f35113bee6f61efecbe1dcd30ed8d11c33f"
|
|
||||||
export AWS_DEFAULT_REGION="us-east-1"
|
|
||||||
ENDPOINT="--endpoint-url https://qu.kube5s.ru"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Создать очередь
|
### Создать очередь
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -91,29 +104,33 @@ aws sqs delete-queue \
|
|||||||
> **Совет:** `--endpoint-url` — единственное отличие от работы с Amazon SQS.
|
> **Совет:** `--endpoint-url` — единственное отличие от работы с Amazon SQS.
|
||||||
> Весь остальной код без изменений.
|
> Весь остальной код без изменений.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## curl
|
## curl
|
||||||
|
|
||||||
### Создать очередь
|
### Создать очередь
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s -u "SSAK-dbdee63f39621705826a759e:faaae34c905f467636cce1db09a66f35113bee6f61efecbe1dcd30ed8d11c33f" \
|
curl -s -u "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
|
||||||
"https://qu.kube5s.ru/?Action=CreateQueue&QueueName=myqueue&Version=2012-11-05"
|
"https://qu.kube5s.ru/?Action=CreateQueue&QueueName=myqueue&Version=2012-11-05"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Отправить сообщение
|
### Отправить сообщение
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s -u "SSAK-dbdee63f39621705826a759e:faaae34c905f467636cce1db09a66f35113bee6f61efecbe1dcd30ed8d11c33f" \
|
curl -s -u "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
|
||||||
"https://qu.kube5s.ru/?Action=SendMessage&QueueUrl=https://qu.kube5s.ru/queue/myqueue&MessageBody=HelloWorld&Version=2012-11-05"
|
"https://qu.kube5s.ru/?Action=SendMessage&QueueUrl=https://qu.kube5s.ru/queue/myqueue&MessageBody=HelloWorld&Version=2012-11-05"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Получить сообщение
|
### Получить сообщение
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s -u "SSAK-dbdee63f39621705826a759e:faaae34c905f467636cce1db09a66f35113bee6f61efecbe1dcd30ed8d11c33f" \
|
curl -s -u "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
|
||||||
"https://qu.kube5s.ru/?Action=ReceiveMessage&QueueUrl=https://qu.kube5s.ru/queue/myqueue&Version=2012-11-05"
|
"https://qu.kube5s.ru/?Action=ReceiveMessage&QueueUrl=https://qu.kube5s.ru/queue/myqueue&Version=2012-11-05"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Python (boto3)
|
## Python (boto3)
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@@ -123,8 +140,8 @@ sqs = boto3.client(
|
|||||||
"sqs",
|
"sqs",
|
||||||
endpoint_url="https://qu.kube5s.ru",
|
endpoint_url="https://qu.kube5s.ru",
|
||||||
region_name="us-east-1",
|
region_name="us-east-1",
|
||||||
aws_access_key_id="SSAK-dbdee63f39621705826a759e",
|
aws_access_key_id="<ваш Access Key>",
|
||||||
aws_secret_access_key="faaae34c905f467636cce1db09a66f35113bee6f61efecbe1dcd30ed8d11c33f",
|
aws_secret_access_key="<ваш Secret Key>",
|
||||||
)
|
)
|
||||||
|
|
||||||
# Создать очередь
|
# Создать очередь
|
||||||
@@ -139,6 +156,8 @@ msgs = sqs.receive_message(QueueUrl=queue["QueueUrl"])
|
|||||||
print(msgs["Messages"][0]["Body"])
|
print(msgs["Messages"][0]["Body"])
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Node.js (@aws-sdk/client-sqs)
|
## Node.js (@aws-sdk/client-sqs)
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
@@ -148,8 +167,8 @@ const sqs = new SQSClient({
|
|||||||
endpoint: "https://qu.kube5s.ru",
|
endpoint: "https://qu.kube5s.ru",
|
||||||
region: "us-east-1",
|
region: "us-east-1",
|
||||||
credentials: {
|
credentials: {
|
||||||
accessKeyId: "SSAK-dbdee63f39621705826a759e",
|
accessKeyId: "<ваш Access Key>",
|
||||||
secretAccessKey: "faaae34c905f467636cce1db09a66f35113bee6f61efecbe1dcd30ed8d11c33f",
|
secretAccessKey: "<ваш Secret Key>",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -159,9 +178,11 @@ const res = await sqs.send(new ReceiveMessageCommand({ QueueUrl: queue.QueueUrl
|
|||||||
console.log(res.Messages[0].Body);
|
console.log(res.Messages[0].Body);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Тесты
|
## Тесты
|
||||||
|
|
||||||
В репозитории три тестовых скрипта — от простого к сложному.
|
В репозитории два тестовых скрипта.
|
||||||
|
|
||||||
### quick_test.sh — быстрая проверка
|
### quick_test.sh — быстрая проверка
|
||||||
|
|
||||||
@@ -171,7 +192,7 @@ console.log(res.Messages[0].Body);
|
|||||||
bash quick_test.sh
|
bash quick_test.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверяет 6 базовых операций: создание очереди → список → отправка → получение → удаление → проверка удаления.
|
19 тестов: health, создание тенанта, CRUD через AWS CLI, UI API (создание/удаление очереди, send/peek/purge сообщений).
|
||||||
|
|
||||||
### hardcore_test.sh — полный тест (AWS CLI + curl)
|
### hardcore_test.sh — полный тест (AWS CLI + curl)
|
||||||
|
|
||||||
@@ -181,7 +202,7 @@ bash quick_test.sh
|
|||||||
bash hardcore_test.sh
|
bash hardcore_test.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
86 тестов в 23 группах:
|
28 групп тестов:
|
||||||
|
|
||||||
- Admin API: создание, список, удаление тенантов
|
- Admin API: создание, список, удаление тенантов
|
||||||
- CRUD через AWS CLI и через curl
|
- CRUD через AWS CLI и через curl
|
||||||
@@ -195,6 +216,9 @@ bash hardcore_test.sh
|
|||||||
- Load test: 20 сообщений throughput
|
- Load test: 20 сообщений throughput
|
||||||
- Целостность: проверка MD5
|
- Целостность: проверка MD5
|
||||||
- Edge cases: длинные имена, большие сообщения, граничные параметры
|
- Edge cases: длинные имена, большие сообщения, граничные параметры
|
||||||
|
- UI API: создание/удаление очередей, send/peek/purge сообщений, изоляция
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Особенности
|
## Особенности
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user