Initial commit: stateful OpenStack API laboratory simulator.

Ship Keystone auth, multi-service handlers (Yoga→Dalmatian), Compose/Helm
packaging, API contract packs, and pytest/Pulumi coverage labs.
This commit is contained in:
2026-07-18 04:26:48 +03:00
commit 6033967e6a
509 changed files with 464404 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
**Language / Язык:** [English](../security.md) | [Русский](security.md)
# Безопасность
Этот проект — **лабораторный симулятор**, а не production OpenStack cloud.
## Граница доверия
- Пароли по умолчанию (`secret`) намеренно простые для лабораторий.
- `TICKET_SIGNING_KEY` / `secret.ticketSigningKey` нужно ротировать перед любым
общим или internet-facing развёртыванием.
- Пароли bundled Postgres в values/compose — лабораторные defaults.
## Сетевая экспозиция
| Surface | Риск |
|---|---|
| Compose ports on `0.0.0.0` | Вся поверхность API доступна на хосте |
| Helm Ingress | Публичный HTTPS к Keystone/UI; другие OS-порты требуют явной экспозиции |
| Read-only root FS (Helm) | Снижает write surface контейнера |
## TLS
- Compose: опциональный nginx TLS на `:443` с lab cert в `docker/tls/`
- Helm: terminate TLS на Ingress + cert-manager (рекомендуется)
## Что не реализовано
- Реальная federation Keystone / семантика ротации Fernet keys
- Паритет правил oslo.policy
- Multi-tenant isolation beyond project_id filters в handlers
Считайте все данные одноразовыми lab fixtures.