chore: add GRACE semantic contracts across agent + backend + build scripts

- Add @RELATION/@RATIONALE/@REJECTED headers to agent modules
- Add GRACE contracts to backend services, models, schemas
- Update build.sh with single-image build commands (build:backend|frontend|agent)
- Update docker entrypoint: openssl rsa → openssl pkey (alg-agnostic)
- Add @RATIONALE to backend core modules (cot_logger, config_manager, ssl)
This commit is contained in:
2026-07-08 11:10:59 +03:00
parent b6b1e05567
commit f22b0cf41c
34 changed files with 452 additions and 263 deletions

View File

@@ -146,7 +146,7 @@ resolve_ssl_passphrase() {
# ======================================================================
# decrypt_key_if_needed — расшифровка passphrase-защищённого ключа
# ======================================================================
# #region docker.frontend.entrypoint.decrypt_key [C:3] [TYPE Function] [SEMANTICS decryption,rsa,ssl,passphrase]
# #region docker.frontend.entrypoint.decrypt_key [C:3] [TYPE Function] [SEMANTICS decryption,pkey,ssl,passphrase]
# @BRIEF Проверяет, зашифрован ли server.key, и если да — расшифровывает его.
# @PRE ssl_dir — директория, куда скопирован server.key. ssl_passphrase — пароль (может быть пуст).
# @POST Если ключ зашифрован и пароль верен — ключ расшифрован в ssl_dir.
@@ -169,7 +169,8 @@ decrypt_key_if_needed() {
[ -f "$ssl_key" ] || return 0
# Проверка: ключ зашифрован?
if openssl rsa -in "$ssl_key" -check -noout 2>/dev/null; then
# Используем openssl pkey (алгоритм-агностик — RSA, EC, Ed25519 и т.д.)
if openssl pkey -in "$ssl_key" -noout 2>/dev/null; then
# Ключ незашифрован — ничего не делаем
return 0
fi
@@ -184,8 +185,8 @@ decrypt_key_if_needed() {
echo "[entrypoint] 🔐 Приватный ключ зашифрован — расшифровываем..."
# Расшифровать через openssl rsa
if openssl rsa -in "$ssl_key" \
# Расшифровать через openssl pkey (поддерживает RSA, EC, Ed25519 и т.д.)
if openssl pkey -in "$ssl_key" \
-passin "env:SSL_KEY_PASSPHRASE" \
-out "${ssl_key}.decrypted" 2>/dev/null; then
mv "${ssl_key}.decrypted" "$ssl_key"