12 Commits

Author SHA1 Message Date
d80b240853 refactor(deploy): hoist shared conf handling to deploy/lib
**Motivations:**
- Apply approved boundary: identical steps in ia_dev libs; project orchestrator keeps only specific sequencing

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Add deploy/lib/deploy-conf-handling.sh (jq, secrets_path export, IA_DEV_DEPLOY_* context)
- Document boundary in deploy-methodology.sh; orchestrator sources new lib
- deploy/lib/README.md: boundary + deploy-conf-handling

**Pages affectées:**
- deploy/lib/*.sh, deploy/orchestrator.sh, deploy/lib/README.md
2026-03-23 13:23:23 +01:00
f1c53477b0 feat(deploy): methodology lib and project_orchestrator_path
**Motivations:**
- Keep shared methodology, envs, and future quality sequences in ia_dev; single project orchestrator script per repo

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Add deploy/lib/deploy-methodology.sh (test|pprod|prod validation)
- deploy.sh sources methodology before orchestrator
- orchestrator prefers deploy.project_orchestrator_path then legacy phases/deploy_script_path
- conf.json: project_orchestrator_path for lecoffreio, algo, enso; remove hooks where redundant
- Document in README.md, projects/README.md, deploy/lib/README.md

**Pages affectées:**
- deploy/*, projects/*/conf.json, README files
2026-03-23 13:19:03 +01:00
0a9d6e001b feat(deploy): generic orchestrator and deploy.sh entry
**Motivations:**
- Single generic orchestration in ia_dev while business logic stays in each project repo

**Root causes:**
- N/A (evolution)

**Correctifs:**
- N/A

**Evolutions:**
- Add orchestrator.sh (deploy.hooks.phases or fallback deploy.deploy_script_path)
- Add deploy.sh <project_id> <env> [options] as canonical entry from ia_dev root
- run-project-hooks.sh execs orchestrator.sh for backward compatibility
- change-to-all-branches.sh and deploy-by-script-to.sh invoke orchestrator.sh when IA_PROJECT_ID is set
- Document orchestration in README.md and deploy/lib/README.md

**Pages affectées:**
- README.md, deploy/orchestrator.sh, deploy/deploy.sh, deploy/run-project-hooks.sh, deploy/change-to-all-branches.sh, deploy/deploy-by-script-to.sh, deploy/lib/README.md
2026-03-23 13:04:18 +01:00
418bfb044a evol(deploy): shared ssh/log libs, SECRETS_BASE export, lecoffreio secrets path
**Motivations:**
- Single source for ssh helpers; export secrets base from conf; centralize lecoffre secrets under ia_dev.

**Evolutions:**
- deploy/lib/ssh.sh, deploy-log.sh; run-project-hooks + deploy-by-script-to export SECRETS_BASE from secrets_path; lecoffreio conf secrets_path ia_dev; deploy/lib README.

**Pages affectées:**
- deploy/lib/*, deploy/run-project-hooks.sh, deploy/deploy-by-script-to.sh, projects/lecoffreio/conf.json
2026-03-23 12:50:31 +01:00
aa3249ee0c evol(deploy): run-project-hooks, algo/enso repository_root, wire change-to-all-branches
**Motivations:**
- Execute deploy.hooks.phases from conf.json with fallback to deploy_script_path; align algo/enso with repository_root and empty phases.

**Root causes:**
- Deploy entry was hardcoded to deploy.sh; hooks array unused.

**Correctifs:**
- None.

**Evolutions:**
- deploy/run-project-hooks.sh; change-to-all-branches.sh and deploy-by-script-to.sh call it when IA_PROJECT_ID is set; lecoffreio phases list deploy/scripts_v2/deploy.sh; algo/enso repository_root + hooks.phases []; deploy/lib/README.md placeholder for future generic extract.

**Pages affectées:**
- deploy/run-project-hooks.sh, deploy/change-to-all-branches.sh, deploy/deploy-by-script-to.sh, deploy/lib/README.md, projects/lecoffreio/conf.json, projects/algo/conf.json, projects/enso/conf.json
2026-03-23 12:41:47 +01:00
db5a184851 feat(deploy): resolve project git root from conf.repository_root
**Motivations:**
- secrets_path dirname is not a stable git root when secrets move to ia_dev

**Correctifs:**
- lib/project_git_root_from_conf.sh: repository_root || git_work_tree || dirname(secrets_path)

**Evolutions:**
- lecoffreio conf.json: deploy.repository_root, deploy.hooks.phases scaffold
- pousse, branch-align, change-to-all-branches, deploy-by-script-to use resolver

**Pages affectées:**
- lib/project_git_root_from_conf.sh, deploy/*.sh, projects/lecoffreio/conf.json
2026-03-23 12:27:07 +01:00
4a0b031b89 Add LPLDF HTTPS watchdog systemd units for 4NK proxy
**Motivations:**
- Alert when the LPLDF storefront HTTPS endpoint is down from the proxy

**Root causes:**
- N/A (monitoring gap)

**Correctifs:**
- N/A

**Evolutions:**
- watch-https-lpldf.sh: curl check, state file, syslog tag lpldf-https-watch, optional webhook/email via env file
- systemd oneshot + 5-minute timer; install script via SSH/scp

**Pages affectées:**
- tools/proxy-https-watch-lpldf.sh
- tools/proxy-https-watch-lpldf.env.example
- deploy/proxy-units/lpldf-https-watch.service
- deploy/proxy-units/lpldf-https-watch.timer
- deploy/scripts/install-lpldf-https-watch-on-proxy.sh
- deploy/README-lpldf-https-watch.md
2026-03-22 23:35:43 +01:00
c3d4d12ef2 centralized 2026-03-17 01:30:56 +01:00
45ed789692 centralized 2026-03-16 16:52:55 +01:00
c0fd688a0a centralized 2026-03-16 16:38:55 +01:00
55f8588eba centralized 2026-03-16 16:33:52 +01:00
61cec6f430 Sync ia_dev: token resolution via .secrets/<env>/ia_token, doc updates
**Motivations:**
- Align master with current codebase (token from projects/<id>/.secrets/<env>/ia_token)
- Id resolution by mail To or by API token; no slug

**Root causes:**
- Token moved from conf.json to .secrets/<env>/ia_token; env from directory name

**Correctifs:**
- Server and scripts resolve project+env by scanning all projects and envs

**Evolutions:**
- tickets-fetch-inbox routes by To address; notary-ai agents and API doc updated

**Pages affectées:**
- ai_working_help/server.js, docs, project_config.py, lib/project_config.sh
- projects/README.md, lecoffreio/docs/API.md, gitea-issues/tickets-fetch-inbox.py
2026-03-16 15:00:23 +01:00