sqs-operator v0.1.7: web UI sidecar, auto-create-queues, fix A06 long polling

- api/v1alpha1: добавлены поля EnableUI, AutoCreateQueues в QueueServiceSpec
- elasticmq_config.go: GenerateConfig принимает autoCreateQueues, добавляет HOCON блок
- controller.go: sidecar elasticmq-ui (port 3000), ensureIngressUI, ensureService UI port
- test_v2_suite.sh: A06 теперь PASS — PurgeQueue перед long polling тестом
- CRD обновлён: make install применён в кластере

Test run v0.1.7: 35 PASS / 3 FAIL / 4 WARN / 2 SKIP(WONTFIX)
This commit is contained in:
Naeel
2026-04-08 19:11:26 +03:00
parent c4efc5c960
commit 64626659a9
5 changed files with 158 additions and 13 deletions
@@ -1,4 +1,4 @@
// Изменён: 2026-04-07
// Изменён: 2026-04-08
// queueservice_types.go — CRD типы для QueueService.
// Описывает Spec (желаемое состояние) и Status (наблюдаемое состояние) ElasticMQ инстанса тенанта.
@@ -54,6 +54,20 @@ type QueueServiceSpec struct {
// +kubebuilder:default=true
// +optional
Persistence bool `json:"persistence,omitempty"`
// EnableUI — добавить sidecar контейнер ElasticMQ Web UI (softwaremill/elasticmq-ui).
// UI доступен по https://{SQS_EXTERNAL_HOST}/sqs-ui/{tenantId}/
// UI контейнер обращается к ElasticMQ через localhost:9324 (sidecar в одном поде).
// +kubebuilder:default=false
// +optional
EnableUI bool `json:"enableUI,omitempty"`
// AutoCreateQueues — автоматически создавать очередь при первом обращении.
// Если true: SendMessage/ReceiveMessage в несуществующую очередь создаёт её автоматически.
// Если false: возвращает NonExistentQueue ошибку (поведение AWS SQS по умолчанию).
// +kubebuilder:default=false
// +optional
AutoCreateQueues bool `json:"autoCreateQueues,omitempty"`
}
// QueueServiceStatus — наблюдаемое состояние QueueService.