v0.5.3-pre.002

This commit is contained in:
2026-08-11 22:22:40 +02:00
parent 01d78b5845
commit 8448ad1079
134 changed files with 4518 additions and 3595 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: config/README.md -->
<!-- version: 26 -->
<!-- version: 27 -->
# Configuration locale
@@ -111,7 +111,7 @@ Les defaults portent les timeouts, capacités de channels et `auto_reconnect`. U
## Store
`store.config.json` possède la sélection et les paramètres PostgreSQL/SQLite. Le split reste structurel : aucune migration SQL n'est introduite par `0.5.1`.
`store.config.json` possède la sélection du backend et un objet `backend_options` propre au profil sélectionné. `ks-config` conserve ce bloc opaque après composition/résolution ; `ks-store` seul interprète les champs PostgreSQL actuels (`url`, pool, timeout, auto-initialisation). Ajouter un futur moteur ne doit donc pas ajouter ses paramètres au contrat runtime commun tant qu'il n'est pas sélectionné.
## Frontière source/runtime/public/diagnostic

View File

@@ -6,19 +6,11 @@
"database": {
"enabled": true,
"backend": "postgres",
"postgres": {
"backend_options": {
"url": "${KS_SECRET_POSTGRES_DEVNET_URL}",
"max_connections": 8,
"connect_timeout_ms": 5000,
"auto_initialize_schema": true
},
"sqlite": {
"path": "data/local.sqlite",
"create_if_missing": true,
"busy_timeout_ms": 5000,
"max_connections": 1,
"auto_initialize_schema": true,
"use_wal": true
}
}
}

View File

@@ -59,85 +59,17 @@
"required": [
"enabled",
"backend",
"postgres",
"sqlite"
"backend_options"
],
"properties": {
"enabled": {
"type": "boolean"
},
"backend": {
"type": "string",
"enum": [
"postgres",
"sqlite"
]
},
"postgres": {
"$ref": "#/$defs/postgres"
},
"sqlite": {
"$ref": "#/$defs/sqlite"
}
}
},
"postgres": {
"type": "object",
"additionalProperties": false,
"required": [
"url",
"max_connections",
"connect_timeout_ms",
"auto_initialize_schema"
],
"properties": {
"url": {
"$ref": "#/$defs/non_empty_string"
},
"max_connections": {
"type": "integer",
"minimum": 1
},
"connect_timeout_ms": {
"type": "integer",
"minimum": 1
},
"auto_initialize_schema": {
"type": "boolean"
}
}
},
"sqlite": {
"type": "object",
"additionalProperties": false,
"required": [
"path",
"create_if_missing",
"busy_timeout_ms",
"max_connections",
"auto_initialize_schema",
"use_wal"
],
"properties": {
"path": {
"$ref": "#/$defs/non_empty_string"
},
"create_if_missing": {
"type": "boolean"
},
"busy_timeout_ms": {
"type": "integer",
"minimum": 1
},
"max_connections": {
"type": "integer",
"minimum": 1
},
"auto_initialize_schema": {
"type": "boolean"
},
"use_wal": {
"type": "boolean"
"backend_options": {
"type": "object"
}
}
},

View File

@@ -31,85 +31,17 @@
"required": [
"enabled",
"backend",
"postgres",
"sqlite"
"backend_options"
],
"properties": {
"enabled": {
"type": "boolean"
},
"backend": {
"type": "string",
"enum": [
"postgres",
"sqlite"
]
},
"postgres": {
"$ref": "#/$defs/postgres"
},
"sqlite": {
"$ref": "#/$defs/sqlite"
}
}
},
"postgres": {
"type": "object",
"additionalProperties": false,
"required": [
"url",
"max_connections",
"connect_timeout_ms",
"auto_initialize_schema"
],
"properties": {
"url": {
"$ref": "#/$defs/non_empty_string"
},
"max_connections": {
"type": "integer",
"minimum": 1
},
"connect_timeout_ms": {
"type": "integer",
"minimum": 1
},
"auto_initialize_schema": {
"type": "boolean"
}
}
},
"sqlite": {
"type": "object",
"additionalProperties": false,
"required": [
"path",
"create_if_missing",
"busy_timeout_ms",
"max_connections",
"auto_initialize_schema",
"use_wal"
],
"properties": {
"path": {
"$ref": "#/$defs/non_empty_string"
},
"create_if_missing": {
"type": "boolean"
},
"busy_timeout_ms": {
"type": "integer",
"minimum": 1
},
"max_connections": {
"type": "integer",
"minimum": 1
},
"auto_initialize_schema": {
"type": "boolean"
},
"use_wal": {
"type": "boolean"
"backend_options": {
"type": "object"
}
}
},

View File

@@ -6,19 +6,11 @@
"database": {
"enabled": true,
"backend": "postgres",
"postgres": {
"backend_options": {
"url": "${KS_SECRET_POSTGRES_DEVNET_URL}",
"max_connections": 8,
"connect_timeout_ms": 5000,
"auto_initialize_schema": true
},
"sqlite": {
"path": "data/local.sqlite",
"create_if_missing": true,
"busy_timeout_ms": 5000,
"max_connections": 1,
"auto_initialize_schema": true,
"use_wal": true
}
}
},
@@ -27,19 +19,11 @@
"database": {
"enabled": true,
"backend": "postgres",
"postgres": {
"backend_options": {
"url": "${KS_SECRET_POSTGRES_MAINNET_URL}",
"max_connections": 16,
"connect_timeout_ms": 5000,
"auto_initialize_schema": true
},
"sqlite": {
"path": "data/mainnet-import.sqlite",
"create_if_missing": true,
"busy_timeout_ms": 5000,
"max_connections": 1,
"auto_initialize_schema": true,
"use_wal": true
}
}
},
@@ -48,19 +32,11 @@
"database": {
"enabled": true,
"backend": "postgres",
"postgres": {
"backend_options": {
"url": "${KS_SECRET_POSTGRES_MAINNET_URL}",
"max_connections": 16,
"connect_timeout_ms": 5000,
"auto_initialize_schema": true
},
"sqlite": {
"path": "data/mainnet.sqlite",
"create_if_missing": true,
"busy_timeout_ms": 5000,
"max_connections": 1,
"auto_initialize_schema": true,
"use_wal": true
}
}
}