Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc030f84c9 | ||
|
|
f27487b6a8 | ||
|
|
9fbc23f757 | ||
|
|
80fa254a31 |
@@ -1,7 +1,7 @@
|
|||||||
# Copy to a restricted, untracked file. Never commit filled values.
|
# Copy to a restricted, untracked file. Never commit filled values.
|
||||||
# Full release image references; use published version tags, not latest.
|
# Full release image references; use published version tags, not latest.
|
||||||
FRONTEND_IMAGE=git.personal.ksv741.ru/wealthledger/frontend:0.1.0
|
FRONTEND_IMAGE=nexus.ksv741.keenetic.pro/wealthledger/frontend:0.2.0
|
||||||
BACKEND_IMAGE=git.personal.ksv741.ru/wealthledger/backend:0.1.0
|
BACKEND_IMAGE=nexus.ksv741.keenetic.pro/wealthledger/backend:0.2.0
|
||||||
FRONTEND_PORT=8080
|
FRONTEND_PORT=8080
|
||||||
FRONTEND_ORIGIN=https://wealthledger.example.com
|
FRONTEND_ORIGIN=https://wealthledger.example.com
|
||||||
# Absolute directory, pre-created with owner UID/GID 1000:1000 and mode 0700.
|
# Absolute directory, pre-created with owner UID/GID 1000:1000 and mode 0700.
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
!/.release-it.json
|
!/.release-it.json
|
||||||
!/CHANGELOG.md
|
!/CHANGELOG.md
|
||||||
!/commitlint.config.cjs
|
!/commitlint.config.cjs
|
||||||
|
!/.gitleaksignore
|
||||||
!/renovate.json
|
!/renovate.json
|
||||||
!/.gitea/
|
!/.gitea/
|
||||||
/.gitea/*
|
/.gitea/*
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# Reviewed historical local-development fixture: base64 of the deterministic
|
||||||
|
# string 0123456789abcdef repeated twice, never a runtime secret.
|
||||||
|
7e382d460be296b6c88e17084fff17bb7728f6ea:.env.development.example:generic-api-key:9
|
||||||
@@ -1,5 +1,19 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.2.1](https://git.personal.ksv741.ru/WealthLedger/main/compare/v0.2.0...v0.2.1) (2026-10-07)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **deps:** refresh release security baseline ([f27487b](https://git.personal.ksv741.ru/WealthLedger/main/commit/f27487b6a8cb59243a34e392059010dab38efd51))
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* link production deployment repository ([9fbc23f](https://git.personal.ksv741.ru/WealthLedger/main/commit/9fbc23f7570ecb6ea13f7fae5490504d1a0d9ba8))
|
||||||
|
|
||||||
|
### Maintenance
|
||||||
|
|
||||||
|
* point container images to Nexus [#15](https://git.personal.ksv741.ru/WealthLedger/main/issues/15) ([80fa254](https://git.personal.ksv741.ru/WealthLedger/main/commit/80fa254a31d525dbc98bb3fe2d949f78c8e5872b))
|
||||||
|
|
||||||
## [0.2.0](https://git.personal.ksv741.ru/WealthLedger/main/compare/v0.1.0...v0.2.0) (2026-09-16)
|
## [0.2.0](https://git.personal.ksv741.ru/WealthLedger/main/compare/v0.1.0...v0.2.0) (2026-09-16)
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|||||||
@@ -68,15 +68,14 @@ Nest работает в watch mode. Host `node_modules` и `.env` не монт
|
|||||||
Данные development хранятся отдельно в named volume `development-data` проекта `wealthledger-dev`;
|
Данные development хранятся отдельно в named volume `development-data` проекта `wealthledger-dev`;
|
||||||
обычные restart/down их сохраняют. Изменение dependencies/config требует rebuild.
|
обычные restart/down их сохраняют. Изменение dependencies/config требует rebuild.
|
||||||
|
|
||||||
Production использует `compose.yaml` и restricted env по `.env.compose.example`:
|
Production использует отдельный [репозиторий deploy](https://git.personal.ksv741.ru/WealthLedger/deploy):
|
||||||
две ссылки на опубликованные версии images, persistent absolute host data path,
|
его Git-тег закрепляет пару images, а `./deploy.sh vX.Y.Z` выполняет обновление.
|
||||||
постоянные JWT/encryption secrets и публичный HTTPS origin. Каталог данных
|
Рабочие данные, сертификат T-Bank и постоянные ключи находятся вне checkout.
|
||||||
должен существовать и принадлежать UID/GID 1000:1000. Только frontend публикует
|
Только frontend публикует `127.0.0.1:8080`; серверный Caddy направляет туда весь
|
||||||
`127.0.0.1:8080`; серверный Caddy направляет туда весь домен. Backend port
|
домен. Backend port остаётся внутренним. Корневой Compose сохраняется для development.
|
||||||
остаётся внутренним, migration service использует тот же backend image.
|
|
||||||
|
|
||||||
Полная процедура установки, независимых обновлений, stopped-backend backup
|
Пошаговая процедура установки, обновления и восстановления — README `deploy`;
|
||||||
и explicit restore — [документация](https://git.personal.ksv741.ru/WealthLedger/docs),
|
архитектурные границы — [документация](https://git.personal.ksv741.ru/WealthLedger/docs),
|
||||||
страница `architecture/deployment.md`.
|
страница `architecture/deployment.md`.
|
||||||
Перед backend update обязательны остановка, backup и успешная migration.
|
Перед backend update обязательны остановка, backup и успешная migration.
|
||||||
Image rollback не восстанавливает старую базу. Публикация component images
|
Image rollback не восстанавливает старую базу. Публикация component images
|
||||||
|
|||||||
Generated
+14
-14
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "wealth-ledger-workspace",
|
"name": "wealth-ledger-workspace",
|
||||||
"version": "0.2.0",
|
"version": "0.2.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "wealth-ledger-workspace",
|
"name": "wealth-ledger-workspace",
|
||||||
"version": "0.2.0",
|
"version": "0.2.1",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@commitlint/cli": "21.2.2",
|
"@commitlint/cli": "21.2.2",
|
||||||
"@commitlint/config-conventional": "21.2.2",
|
"@commitlint/config-conventional": "21.2.2",
|
||||||
@@ -1446,9 +1446,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/basic-ftp": {
|
"node_modules/basic-ftp": {
|
||||||
"version": "5.3.1",
|
"version": "6.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-6.2.2.tgz",
|
||||||
"integrity": "sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==",
|
"integrity": "sha512-LIkJcf/F6bTTfvE3k2YcTxrJsLKKVXiEpHZYkQP6JoqTb7khng7c13ckRTDQbqRh5IkehVH3F00sSlAa2F6DwA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2124,9 +2124,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fast-uri": {
|
"node_modules/fast-uri": {
|
||||||
"version": "3.1.7",
|
"version": "3.1.8",
|
||||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz",
|
||||||
"integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==",
|
"integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2355,9 +2355,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ip-address": {
|
"node_modules/ip-address": {
|
||||||
"version": "10.7.0",
|
"version": "10.7.3",
|
||||||
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.3.tgz",
|
||||||
"integrity": "sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA==",
|
"integrity": "sha512-A1kdq/tSb5QjvKvAMgIoEvDBIgL7qaqVP/jkvSwYYRZ9iEzvPpopxp2wQfu3SuZRHtpHNxMn8Fs0bS+gf5Xmwg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -3439,9 +3439,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici": {
|
"node_modules/undici": {
|
||||||
"version": "7.29.0",
|
"version": "7.29.1",
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici/-/undici-7.29.1.tgz",
|
||||||
"integrity": "sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==",
|
"integrity": "sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
+7
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wealth-ledger-workspace",
|
"name": "wealth-ledger-workspace",
|
||||||
"version": "0.2.0",
|
"version": "0.2.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "24.21.0"
|
"node": "24.21.0"
|
||||||
@@ -16,5 +16,11 @@
|
|||||||
"@release-it/conventional-changelog": "12.0.0",
|
"@release-it/conventional-changelog": "12.0.0",
|
||||||
"conventional-changelog-conventionalcommits": "10.4.0",
|
"conventional-changelog-conventionalcommits": "10.4.0",
|
||||||
"release-it": "21.0.2"
|
"release-it": "21.0.2"
|
||||||
|
},
|
||||||
|
"overrides": {
|
||||||
|
"basic-ftp": "6.2.2",
|
||||||
|
"fast-uri": "3.1.8",
|
||||||
|
"ip-address": "10.7.3",
|
||||||
|
"undici": "7.29.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user