v0.3.2-pre.005
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/023-V0_3_2_STORE_POSTGRES_FOUNDATION_PLAN.md -->
|
||||
<!-- version: 6 -->
|
||||
<!-- version: 7 -->
|
||||
|
||||
# Plan `0.3.2` — Store/PostgreSQL runtime foundation
|
||||
|
||||
@@ -963,7 +963,22 @@ Document/schema/example/registry/adaptor, `.env.example`, provenance/sensitivity
|
||||
|
||||
### `pre.005` — PostgreSQL connection + deadpool + Rustls
|
||||
|
||||
Implémenter parse/normalisation URI, pool borné, connect/open/close, VerifyFull/Disabled, timeouts et erreurs redacted. Aucun SQL métier.
|
||||
Matérialiser le bridge physique backend sans modifier la façade publique backend-neutral :
|
||||
|
||||
```text
|
||||
ksp-store-lib
|
||||
-> PostgresBackendSettings privé à la composition
|
||||
-> PostgresBackend::open/close
|
||||
|
||||
ksp-store-postgres-lib
|
||||
-> tokio-postgres >= 0.7.18
|
||||
-> deadpool-postgres ^0.14.2
|
||||
-> tokio-postgres-rustls 0.14.x
|
||||
-> rustls 0.23.x + AWS-LC
|
||||
-> roots système via rustls-native-certs
|
||||
```
|
||||
|
||||
Après parsing, la policy KSP réécrit `application_name`, `connect_timeout`, `sslnegotiation` et `sslmode`; les `options=` serveur sont rejetées. `Disabled` force le plaintext, `VerifyFull` force TLS + roots système + identité serveur et interdit un target `hostaddr` sans `host` ainsi que les sockets Unix, sur lesquels PostgreSQL ne négocie pas TLS. Le pool applique `max_size` et deadlines `wait/create/recycle`, utilise le recycling `Verified`, et `Store::open` ne réussit qu'après une première acquisition physique. Les erreurs externes ne sont jamais conservées comme source/texte public. `Store::close` ferme et draine sous deadline; `Drop` reste best-effort. Aucun SQL KSP, migration ou table métier n'est introduit.
|
||||
|
||||
### `pre.006` — Migration/bootstrap foundation
|
||||
|
||||
@@ -1051,8 +1066,6 @@ Aucune question architecturale ne bloque `pre.002`.
|
||||
Les détails suivants sont réservés à leur tranche sans rouvrir les décisions du gate :
|
||||
|
||||
```text
|
||||
mapping exact deadpool timeouts en pre.005
|
||||
construction exacte du rustls RootCertStore en pre.005
|
||||
DDL précis de ksp_store_schema_migrations en pre.006
|
||||
forme finale des snapshots health en pre.007
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user