Nicolas Cantu a7b5998f61 feat: resolve project conf paths relative to smart_ide monorepo root
- Add lib/conf_path_resolve.sh (canonical conf under projects/ or ia_dev/projects/)
- Apply resolution in project_git_root_from_conf, deploy-conf-handling, orchestrator
- pousse: monorepo-relative build_dirs when path starts with ../
- deploy-by-script-to: resolve secrets_path and deploy_script_path
- Sync smart_ide/enso conf.json with relative paths; document in projects/README
2026-04-03 18:03:55 +02:00
..
2026-03-17 01:30:56 +01:00
2026-03-16 16:52:55 +01:00

ia_dev shared lib

project_config.sh

Sourced by deploy scripts and gitea-issues to resolve the current project id and the path to its JSON config.

Standalone usage: scripts are run from ia_dev root. Source after setting IA_DEV_ROOT (path to ia_dev); PROJECT_ROOT is derived by scripts when needed from config (e.g. project_path in conf.json).

After sourcing: PROJECT_ID and PROJECT_CONFIG_PATH are set (and exported). Config path is projects/<id>/conf.json. For token-based resolution, PROJECT_ENV is also set.

Project id resolution (no fallback):

  1. MAIL_TO (env): search all projects/*/conf.json for tickets.authorized_emails.to matching this address (string or list of env-keyed objects). The matching project directory name is the id.
  2. AI_AGENT_TOKEN (env): search all projects/<id>/.secrets/<env>/ia_token for matching token; sets PROJECT_ID and PROJECT_ENV (project and environment).

See projects/README.md for the config schema.