Document runtime evidence checks

This commit is contained in:
2026-04-20 17:24:53 -03:00
parent 1c03cc72bb
commit e738f08e91
+182
View File
@@ -17,6 +17,18 @@ https://localstack.paulononato.com.br
- CloudWatch Log Group. - CloudWatch Log Group.
- Secrets Manager secret with application configuration. - Secrets Manager secret with application configuration.
- Event source mapping SQS -> Lambda. - Event source mapping SQS -> Lambda.
- Nginx container serving the Quantum application screen through Traefik.
Default resource names for the `dev` environment:
```text
quantum-dev-artifacts
quantum-dev-events
quantum-dev-events-dlq
quantum-dev-processor
/aws/lambda/quantum-dev-processor
quantum-dev/app
```
## Repository Layout ## Repository Layout
@@ -131,6 +143,176 @@ $env:QUANTUM_ENV="stg"
docker compose run --rm tofu plan docker compose run --rm tofu plan
``` ```
## Runtime Evidence
Use the commands below to prove that LocalStack, the Quantum application screen, and the provisioned resources are running.
The AWS resource evidence commands assume the selected environment has already been applied with `tofu apply` or `docker compose run --rm tofu apply`.
### LocalStack Health
```bash
curl -s https://localstack.paulononato.com.br/_localstack/health
```
Expected evidence:
```text
"edition": "community"
"s3": "available" or "s3": "running"
"sqs": "available"
"lambda": "available"
"iam": "available"
"logs": "available"
"secretsmanager": "available"
```
### OpenTofu State
From an environment directory, for example `environments/dev`:
```bash
tofu output
```
When using Docker from the repository root:
```bash
docker compose run --rm tofu output
```
Expected outputs:
```text
localstack_endpoint
quantum_bucket_name
quantum_queue_url
quantum_dlq_url
quantum_lambda_name
quantum_log_group_name
quantum_secret_name
```
### S3 Evidence
```bash
aws --endpoint-url https://localstack.paulononato.com.br s3 ls
aws --endpoint-url https://localstack.paulononato.com.br s3 ls s3://$(tofu output -raw quantum_bucket_name)
```
Expected evidence:
```text
quantum-dev-artifacts
config/quantum-dev.json
```
### SQS Evidence
```bash
aws --endpoint-url https://localstack.paulononato.com.br sqs list-queues
```
Send a message:
```bash
aws --endpoint-url https://localstack.paulononato.com.br sqs send-message \
--queue-url "$(tofu output -raw quantum_queue_url)" \
--message-body file://../../examples/quantum-message.json
```
Expected evidence:
```text
quantum-dev-events
quantum-dev-events-dlq
MessageId
```
### Lambda Evidence
```bash
aws --endpoint-url https://localstack.paulononato.com.br lambda list-functions
```
Expected evidence:
```text
quantum-dev-processor
```
### IAM Evidence
```bash
aws --endpoint-url https://localstack.paulononato.com.br iam get-role \
--role-name quantum-dev-lambda-role
aws --endpoint-url https://localstack.paulononato.com.br iam list-policies \
--scope Local
```
Expected evidence:
```text
quantum-dev-lambda-role
quantum-dev-lambda-policy
```
### CloudWatch Logs Evidence
```bash
aws --endpoint-url https://localstack.paulononato.com.br logs describe-log-groups \
--log-group-name-prefix /aws/lambda/quantum-dev-processor
```
Expected evidence:
```text
/aws/lambda/quantum-dev-processor
```
### Secrets Manager Evidence
```bash
aws --endpoint-url https://localstack.paulononato.com.br secretsmanager get-secret-value \
--secret-id "$(tofu output -raw quantum_secret_name)"
```
Expected evidence:
```text
quantum-dev/app
SecretString
```
### Application Screen Evidence
```bash
curl -s https://quantum.paulononato.com.br
```
Expected evidence:
```text
Hello Quantum
```
On the Docker Swarm host:
```bash
docker stack ls
docker service ls --filter name=quanto
docker service ps quanto_app
```
Expected evidence:
```text
quanto
quanto_app
1/1
```
## Quick Tests ## Quick Tests
List buckets: List buckets: