53 Commits

Author SHA1 Message Date
cfa1f435cb refactor: centralize HTTP proxy helpers and align IA_DEV_ROOT resolution (0.0.6)
Initial state:
- HTTP proxy utilities (Bearer parsing, hop-by-hop headers, body limits, safe path validation) were duplicated between smart-ide-sso-gateway and smart-ide-global-api.
- IA_DEV_ROOT auto-resolution order differed between bash (ensure-ia-dev-project-link.sh) and TypeScript (ia-dev-gateway getIaDevRoot), and could fall back to non-existing paths.

Motivation:
- Reduce duplication and drift across proxy layers.
- Enforce consistent, explicit IA_DEV_ROOT behavior across scripts and services.

Resolution:
- Add package @4nk/smart-ide-http-utils and reuse it from smart-ide-sso-gateway and smart-ide-global-api.
- Align IA_DEV_ROOT resolution to prefer ./services/ia_dev then ./ia_dev; fail fast when missing/misconfigured.

Root cause:
- Cross-service utilities were implemented ad-hoc in each service.
- Historical layout transitions (ia_dev gitlink vs vendored services/ia_dev) left multiple resolvers with different priorities.

Impacted features:
- HTTP proxy chain (SSO gateway -> global API -> upstream services).
- ia-dev-gateway startup/operation when IA_DEV_ROOT is missing or invalid.

Code modified:
- packages/smart-ide-http-utils/**
- services/smart-ide-global-api/src/server.ts
- services/smart-ide-sso-gateway/src/server.ts
- services/ia-dev-gateway/src/paths.ts
- scripts/ensure-ia-dev-project-link.sh

Documentation modified:
- docs/system-architecture.md
- docs/ia_dev-module.md
- docs/repo/README.md

Configurations modified:
- services/smart-ide-global-api/package.json
- services/smart-ide-sso-gateway/package.json

Files in deploy modified:
- None

Files in logs impacted:
- None (runtime logs only)

Databases and other sources modified:
- None

Off-project modifications:
- None

Files in .smartIde modified:
- None

Files in .secrets modified:
- None

New patch version in VERSION:
- 0.0.6

CHANGELOG.md updated:
- yes
2026-04-04 20:34:49 +02:00
58cc2493e5 chore: consolidate ia_dev module, sync tooling, and harden gateways (0.0.5)
Initial state:
- ia_dev was historically referenced as ./ia_dev in docs and integrations, while the vendored module lives under services/ia_dev.
- AnythingLLM sync and hook installation had error masking / weak exit signaling.
- Proxy layers did not validate proxy path segments, allowing path normalization tricks.

Motivation:
- Make the IDE-oriented workflow usable (sync -> act -> deploy/preview) with explicit errors.
- Reduce security footguns in proxying and script automation.

Resolution:
- Standardize IA_DEV_ROOT usage and documentation to services/ia_dev.
- Add SSH remote data mirroring + optional AnythingLLM ingestion.
- Extend AnythingLLM pull sync to support upload-all/prefix and fail on upload errors.
- Harden smart-ide-sso-gateway and smart-ide-global-api proxying with safe-path checks and non-leaking error responses.
- Improve ia-dev-gateway runner validation and reduce sensitive path leakage.
- Add site scaffold tool (Vite/React) with OIDC + chat via sso-gateway -> orchestrator.

Root cause:
- Historical layout changes (submodule -> vendored tree) and missing central contracts for path resolution.
- Missing validation for proxy path traversal patterns.
- Overuse of silent fallbacks (|| true, exit 0 on partial failures) in automation scripts.

Impacted features:
- Project sync: git pull + AnythingLLM sync + remote data mirror ingestion.
- Site frontends: SSO gateway proxy and orchestrator intents (rag.query, chat.local).
- Agent execution: ia-dev-gateway script runner and SSE output.

Code modified:
- scripts/remote-data-ssh-sync.sh
- scripts/anythingllm-pull-sync/sync.mjs
- scripts/install-anythingllm-post-merge-hook.sh
- cron/git-pull-project-clones.sh
- services/smart-ide-sso-gateway/src/server.ts
- services/smart-ide-global-api/src/server.ts
- services/smart-ide-orchestrator/src/server.ts
- services/ia-dev-gateway/src/server.ts
- services/ia_dev/tools/site-generate.sh

Documentation modified:
- docs/** (architecture, API docs, ia_dev module + integration, scripts)

Configurations modified:
- config/services.local.env.example
- services/*/.env.example

Files in deploy modified:
- services/ia_dev/deploy/*

Files in logs impacted:
- logs/ia_dev.log (runtime only)
- .logs/* (runtime only)

Databases and other sources modified:
- None

Off-project modifications:
- None

Files in .smartIde modified:
- .smartIde/agents/*.md
- services/ia_dev/.smartIde/**

Files in .secrets modified:
- None

New patch version in VERSION:
- 0.0.5

CHANGELOG.md updated:
- yes
2026-04-04 18:36:43 +02:00
940cf59178 Share upstream definitions in @4nk/smart-ide-upstreams, systemd user units
- Add packages/smart-ide-upstreams (versioned dist) for resolveUpstream + listUpstreamKeys
- Wire smart-ide-global-api and smart-ide-sso-gateway via file: dependency
- Add systemd user unit templates and install-smart-ide-gateway-systemd-user.sh (SSO After/Requires global API)
- Update docs and VERSION 0.0.3
2026-04-04 15:37:58 +02:00
0af507143a Add smart-ide-global API layer, SSO delegates proxy, .logs access logs
- New smart-ide-global-api (127.0.0.1:37149): internal bearer, upstream proxy, X-OIDC forward
- SSO gateway calls global API with GLOBAL_API_INTERNAL_TOKEN; logs to .logs/sso-gateway/
- Aggregated config example, docs, VERSION 0.0.2, claw proxy local URL hint
2026-04-03 23:08:52 +02:00
3b3e1e67de docs: align regex-search with Cursor article; claw upstream submodule; SSO data ownership
- Add services/claw-harness-api/upstream → chinanpc/claude-code-rust (shallow)
- Document claw submodule and MIT Rust harness in service-claw-harness + feature doc
- agent-regex-search: map design principles to rg implementation vs indexed search
- SSO gateway: no user/project account storage; product DBs own identity context
2026-04-03 22:54:07 +02:00
466ed6b65f chore(gitmodules): document service paths, add langextract upstream submodule
- Comment block mapping services to submodule paths (carbonyl/chandra/pageindex/langextract upstream)
- Note agent-regex-search-api and claw-harness-api as in-repo only
- Add services/langextract-api/upstream → google/langextract (shallow)
- Document submodule and optional pip install -e in service-langextract.md
2026-04-03 22:45:43 +02:00
68cb5737c5 feat(sso-gateway): add OIDC JWT gateway and proxy to micro-services
- New service smart-ide-sso-gateway (port 37148): JWKS verify, /health,
  /v1/token/verify, /v1/upstreams, /proxy/<key>/...
- CORS on JSON responses when SSO_CORS_ORIGIN is set; optional empty
  bearer for langextract upstream
- Docs: feature, API, repo index; wire sso-docv-enso and services scope
- Extend config/services.local.env.example with OIDC and gateway vars
2026-04-03 22:42:44 +02:00
4NK
f482b0e2b8 docs: services functional scope for IDE vs product backends
- Add services-functional-scope.md with consumption matrix and CLI tools
- Cross-link from services, API index, architecture, platform-target, ecosystem, docv-ai, overview
2026-04-03 22:37:31 +02:00
4NK
14c974f54c Add smart-ide-tools-bridge API for submodule tools + central local env
- New service: tools bridge (port 37147) registry + Carbonyl/PageIndex/Chandra POST jobs
- config/services.local.env.example and gitignore for services.local.env
- .env.example for repos-devtools, regex-search, ia-dev-gateway, orchestrator, claw proxy, langextract
- Orchestrator intents: tools.registry, tools.carbonyl.plan, tools.pageindex.run, tools.chandra.ocr
- Docs: API + repo service fiche, architecture index; do not commit dist/
2026-04-03 22:35:57 +02:00
4NK
d6a61e7cbe chandra: document and script local HuggingFace install (hf extra, run-chandra-hf)
- Add install-local-hf.sh (uv sync --extra hf or pip install -e .[hf])
- Add run-chandra-hf.sh defaulting to --method hf
- Expand .env.example for upstream/local.env (MODEL_CHECKPOINT, TORCH_*)
2026-04-03 22:28:20 +02:00
4NK
a1ac5ae66b Add Chandra OCR service (datalab-to upstream submodule, CLI wrapper)
- Submodule services/chandra/upstream (shallow), run-chandra.sh, .env.example
- Docs: service-chandra, chandra-ocr-documents; link from PageIndex feature
- Index updates in docs/README, repo/README, services, system-architecture
2026-04-03 22:27:18 +02:00
4NK
4fa2cc2418 Add PageIndex service (VectifyAI upstream submodule, CLI wrapper)
- Submodule services/pageindex/upstream (shallow), run-pageindex.sh, .env.example
- Docs: service-pageindex, pageindex-semantic-documents, index updates
2026-04-03 22:15:09 +02:00
4NK
3f1894e21f Remove AnythingLLM VS Code extension; add Carbonyl service (upstream submodule)
- Delete extensions/anythingllm-workspaces; document migration to anythingllm-devtools
- Add services/carbonyl: shallow submodule fathyb/carbonyl, run-carbonyl.sh (Docker/native)
- Add scripts/open-carbonyl-preview-test.sh and smart_ide.preview_urls.test in example conf
- Docs: service-carbonyl, carbonyl-terminal-browser, architecture index updates
2026-04-03 22:13:34 +02:00
4NK
524d38b9ff projects: single conf.json per id, workspace in smart_ide block; example/ template; remove .code-workspace files 2026-04-03 21:56:51 +02:00
b21ac2cf64 feat: anythingllm-devtools service, builazoo project, ssh-config example, docs
- Add services/anythingllm-devtools HTTP API (repos + AnythingLLM + RAG)
- Rename gitea-issues to git-issues across smart_ide agents and docs
- Add projects/builazoo, builazoo README, cron fragment, ssh-config.example
- Add ensure-ia-dev-project-link.sh; wrapper delegates smart_ide id
- Bump ia_dev submodule (git-issues rename, project symlinks)
- Align 4nkaiignore templates; update API index and project docs
2026-04-03 19:06:19 +02:00
49767c8f9a chore: rename .cursor to .smartIde
**Motivations:**
- Align IDE config directory naming with smartIde branding.

**Evolutions:**
- Move .cursor to .smartIde at repo root; ia_dev submodule same rename.
- ia-dev-gateway resolves agents under .smartIde/agents.
- Docs: smartide-config-directory.md, cross-link updates; enso-docs mirror unchanged.
2026-04-03 18:23:31 +02:00
ac96434351 docs: centralize README content under docs/repo/
**Motivations:**
- Single canonical documentation tree under docs/; reduce drift between README copies.

**Evolutions:**
- Add docs/repo/ with operational guides (cron, systemd, projects, logs, docv, ia_dev, services, scripts, extension).
- Replace scattered README.md files with pointers to docs/repo/*.md.
- Refresh docs/README.md index and cross-links across docs/, .cursor rules/agents.
- Bump ia_dev submodule to matching doc pointer commits.
2026-04-03 18:20:31 +02:00
ee81855fc3 chore(git): keep logs/ in repo but ignore all log files
**Motivations:**
- Explicit root rule for logs/**/*.log; nested **/*.log under logs/.

**Evolutions:**
- logs/README.md documents both ignore locations.
2026-04-03 18:11:42 +02:00
77c0872d0b chore(projects): refresh active-project example and gitignore local dirs
**Motivations:**
- Clarify active-project.json fields; ignore ad-hoc projects/<id>/ trees.

**Evolutions:**
- active-project.json.example: document default_env and optional notes.
- .gitignore: whitelist versioned projects/* entries; README and remote-deployed-data-ssh doc updates.
2026-04-03 18:10:08 +02:00
01f035cc7b chore: point ia_dev submodule to enso remote path alignment
**Motivations:**
- Keep ia_dev/projects/enso/conf.json in sync with projects/enso/conf.json.

**Correctifs:**
- Submodule ia_dev at commit aligning enso remote_data_access with enso-deploy conventions.
2026-04-03 18:07:15 +02:00
1265be0d11 Align enso remote paths with enso-deploy conventions
**Motivations:**
- Project conf remote_data_access should match deploy script variables (absolute paths on target hosts).

**Correctifs:**
- Replace /var/lib/enso/... placeholders with ENSO_REMOTE_ROOT and default docv dossiers-permanents path.
- Use ssh_host_alias values aligned with ENSO_SSH_HOST per env in enso-deploy.env.example.

**Evolutions:**
- Document optional remote_app_root and script references in remote-deployed-data-ssh.md and projects/README.md.
2026-04-03 18:06:37 +02:00
4d04eed0f3 feat: relative paths in projects/conf.json and cron pull resolution
- project_path, deploy.*, cron: resolve from monorepo root; ia_dev submodule bumped
- enso/smart_ide.code-workspace folder paths ../../enso, ../../builazoo
- Document in projects/README, remote-deployed-data-ssh.md
2026-04-03 18:03:59 +02:00
01860b7af7 chore: remove gitmodules, add docv workspace crates, update systemd README
- Drop .gitmodules (ia_dev tracked as submodule pointer without file)
- Add services/docv Cargo workspace: docv-back, docv-shared, migrations, sources
- Refresh systemd/README.md
2026-04-03 17:55:50 +02:00
0f9a69e368 docs: deployed data over SSH, docv/AnythingLLM/services, IDE project config
- Add features/remote-deployed-data-ssh.md (source of truth on test/pprod/prod)
- Extend projects conf smart_ide.remote_data_access and anythingllm slugs (enso example)
- active-project.json.example + gitignore; .vscode/settings smartIde.activeProjectId
- Update docv integration docs, anythingllm-workspaces, ecosystem, API README
- Cursor rule: resolve project id from active-project / env / workspace setting
2026-04-03 17:55:08 +02:00
d98e6bce60 feat: logs/ for pull-sync and ia_dev; document ia_dev as in-repo module
- Default PULL_SYNC_LOG to logs/git-pull-projects.log; add logs/README and gitignore
- Add services/ia_dev integration README and .env.example
- Replace docs/ia_dev-submodule.md with ia_dev-module.md; update ecosystem and README links
- Point ia_dev submodule to commit with smart_ide_logs.sh
2026-04-03 17:50:49 +02:00
bc3c75e15f Add enso docs mirror under services/docv/enso-docs; docv integration docs
- Copy enso/docs tree to services/docv/enso-docs (refresh via cp -a from enso repo)
- Document mirror and refresh command in services/docv/README.md
- Ignore services/docv/target for local Rust workspace
- Track docv-service-integration, API docv.md, and related doc index updates
2026-04-03 17:26:35 +02:00
1fcf057ce7 Track services/docv integration contract (README, .env.example) 2026-04-03 17:10:41 +02:00
7f1cee487c Cursor ia-dev bridge, versioned project confs, docv and ecosystem docs
- Add .cursor agents ia-dev-* and smart-ide-ia-dev-bridge rule
- Track ia_dev project conf under projects/smart_ide; link script for ia_dev/projects
- Document docv AI integration and ecosystem architecture/sync strategy
- Update README, platform-target, system-architecture, submodule doc
2026-04-03 16:30:42 +02:00
088eab84b7 Platform docs, services, ia_dev submodule, smart_ide project config
- Add ia_dev submodule (projects/smart_ide on forge 4nk)
- Document APIs, orchestrator, gateway, local-office, rollout
- Add systemd/scripts layout; relocate setup scripts
- Remove obsolete nginx/enso-only docs from this repo scope
2026-04-03 16:07:58 +02:00
69ab265560 feat: initial RAG sync with .4nkaiignore (extension 0.3, server 0.2)
**Motivations:**
- Seed AnythingLLM workspace from cloned repo using gitignore-style filters

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Template 4nkaiignore.default; server copies after clone; extension uploads via POST /api/v1/document/upload
- New commands /workspace-sync; settings initialSync*; dependency ignore

**Pages affectées:**
- extensions/anythingllm-workspaces/*
- services/repos-devtools-server/*
- docs/features/initial-rag-sync-4nkaiignore.md
2026-03-24 22:36:37 +01:00
615958469d docs(extension): expand AnythingLLM Workspaces README
**Motivations:**
- Clear usage: palette, Dev tools panel, install, troubleshooting

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- README sections: requirements, configuration, commands, SSH note, API refs

**Pages affectées:**
- extensions/anythingllm-workspaces/README.md
2026-03-23 22:28:03 +01:00
dce376f2b7 repos-devtools-server: gitignore .env, systemd unit template, README run modes
**Motivations:**
- Document user systemd and keep secrets out of git

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- .env gitignored; systemd/user template and README

**Pages affectées:**
- services/repos-devtools-server/.gitignore
- services/repos-devtools-server/README.md
- services/repos-devtools-server/systemd/user/*
2026-03-23 21:24:31 +01:00
597f18f758 Add repos-devtools-server and AnythingLLM dev tools panel (0.2.0)
**Motivations:**
- Clone or load repos under /home/ncantu/code with AnythingLLM workspace ensure/create from the editor

**Root causes:**
- N/A (new capability)

**Correctifs:**
- N/A

**Evolutions:**
- services/repos-devtools-server: POST /repos-clone, GET /repos-list, POST /repos-load (Bearer REPOS_DEVTOOLS_TOKEN)
- Extension: Webview panel, slash commands, workspaceEnsure + POST /api/v1/workspace/new
- Docs: feature note and index links

**Pages affectées:**
- services/repos-devtools-server/*
- extensions/anythingllm-workspaces/*
- docs/README.md
- docs/features/repos-devtools-server-and-dev-panel.md
- docs/features/anythingllm-vscode-extension.md
2026-03-23 21:20:32 +01:00
564b9d5576 AnythingLLM extension: clarify API key vs nginx bearer, normalize Bearer prefix
**Motivations:**
- 403 No valid api key when users paste Ollama nginx secret into extension

**Root causes:**
- AnythingLLM validates keys only from its DB; nginx Bearer is unrelated

**Correctifs:**
- README and fixKnowledge doc; strip optional Bearer prefix in client

**Evolutions:**
- Extension version 0.1.1

**Pages affectées:**
- extensions/anythingllm-workspaces/*
- docs/fixKnowledge/anythingllm-extension-403-api-key.md
- docs/README.md
2026-03-23 14:23:09 +01:00
b8f073ebf9 Add package-lock for anythingllm-workspaces extension
**Motivations:**
- Reproducible npm install after local toolchain setup

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Lockfile from npm install

**Pages affectées:**
- extensions/anythingllm-workspaces/package-lock.json
2026-03-23 11:12:55 +01:00
cb87e283a1 Add AnythingLLM workspaces VS Code extension scaffold
**Motivations:**
- Expose AnythingLLM API workspaces from the editor against ia.enso public URL

**Root causes:**
- N/A (new capability)

**Correctifs:**
- N/A

**Evolutions:**
- Extension folder with list/open UI commands and API client
- Docs index and feature note

**Pages affectées:**
- extensions/anythingllm-workspaces/*
- docs/README.md
- docs/features/anythingllm-vscode-extension.md
2026-03-23 11:10:15 +01:00
c4215044f0 Re-enable nginx Bearer auth on ia.enso /ollama
**Motivations:**
- Restore gate on /ollama/; document Cursor streamFromAgentBackend note.

**Root causes:**
- N/A.

**Correctifs:**
- location /ollama/ if map + clear Authorization upstream; deploy script emits Bearer + websocket maps with retry bearer_only.

**Evolutions:**
- README Cursor subsection on streamFromAgentBackend (observed behavior); feature/services/infrastructure aligned.

**Pages affectées:**
- deploy/nginx/sites/ia.enso.4nkweb.com.conf
- deploy/nginx/deploy-ia-enso-to-proxy.sh
- deploy/nginx/README-ia-enso.md
- deploy/nginx/http-maps/ia-enso-ollama-bearer.map.conf.example
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
- docs/services.md
- docs/infrastructure.md
2026-03-23 07:49:06 +01:00
c13ce79696 Remove nginx Bearer auth from ia.enso /ollama by default
**Motivations:**
- Simplify Cursor/custom clients; Bearer caused confusion with Cursor user API key.

**Root causes:**
- N/A.

**Correctifs:**
- Drop if map check and Authorization stripping on /ollama/; deploy script no longer emits Bearer map.

**Evolutions:**
- Optional Bearer documented in http-maps example; README/services/feature/infrastructure updated; proxy redeployed.

**Pages affectées:**
- deploy/nginx/sites/ia.enso.4nkweb.com.conf
- deploy/nginx/deploy-ia-enso-to-proxy.sh
- deploy/nginx/README-ia-enso.md
- deploy/nginx/http-maps/ia-enso-ollama-bearer.map.conf.example
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
- docs/services.md
- docs/infrastructure.md
2026-03-23 07:45:35 +01:00
dfc978deef README ia.enso: Cursor ERROR_BAD_USER_API_KEY vs proxy OK
**Motivations:**
- Operators confuse nginx Bearer with Cursor user API key error.

**Root causes:**
- Cursor validates or routes chat through its backend; custom URL can still fail in-app.

**Correctifs:**
- N/A.

**Evolutions:**
- README Cursor subsection + forum link.

**Pages affectées:**
- deploy/nginx/README-ia-enso.md
2026-03-23 02:05:21 +01:00
86bfaa8f7c Add HTTP-only nginx stub and TLS bootstrap doc for ia.enso
**Motivations:**
- First deploy failed nginx -t without live cert; document and ship bootstrap vhost.

**Root causes:**
- Full site referenced missing Let’s Encrypt paths; no /var/www/certbot.

**Correctifs:**
- N/A (operational fix applied on proxy; repo documents path).

**Evolutions:**
- ia.enso.4nkweb.com.http-only.conf; README bootstrap steps; feature table row.

**Pages affectées:**
- deploy/nginx/sites/ia.enso.4nkweb.com.http-only.conf
- deploy/nginx/README-ia-enso.md
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
2026-03-23 01:32:40 +01:00
a8a922f3e8 README ia.enso: curl example for /ollama/api/tags
**Motivations:**
- Match documented full URL with verification command.

**Root causes:**
- N/A.

**Correctifs:**
- N/A.

**Evolutions:**
- Native Ollama curl check in README.

**Pages affectées:**
- deploy/nginx/README-ia-enso.md
2026-03-23 01:30:21 +01:00
4d35944de7 Document full HTTPS URLs for ia.enso Ollama and AnythingLLM
**Motivations:**
- Operators need explicit public URLs in one place.

**Root causes:**
- Paths were documented without full https:// host prefix everywhere.

**Correctifs:**
- N/A.

**Evolutions:**
- Site conf header, README table, services.md, feature doc, deploy script success output.

**Pages affectées:**
- deploy/nginx/sites/ia.enso.4nkweb.com.conf
- deploy/nginx/README-ia-enso.md
- deploy/nginx/deploy-ia-enso-to-proxy.sh
- docs/services.md
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
2026-03-23 01:30:16 +01:00
ec50bb843a ia.enso nginx: templated backend IP for deploy (default .164)
**Motivations:**
- Proxy still targeted wrong host; explicit backend IP at deploy time.

**Root causes:**
- Stale or manually edited site on proxy; repo had literal IP only.

**Correctifs:**
- Upstreams use __IA_ENSO_BACKEND_IP__; deploy script substitutes IA_ENSO_BACKEND_IP (default 192.168.1.164).

**Evolutions:**
- README manual sed path; troubleshooting 502; feature doc table.

**Pages affectées:**
- deploy/nginx/sites/ia.enso.4nkweb.com.conf
- deploy/nginx/deploy-ia-enso-to-proxy.sh
- deploy/nginx/README-ia-enso.md
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
2026-03-23 01:25:00 +01:00
e118486d34 README ia.enso: require TLS files before deploy
**Motivations:**
- nginx -t failed on proxy when Let's Encrypt paths missing.

**Root causes:**
- Deploy script assumes live cert paths exist.

**Correctifs:**
- Document cert prerequisite and troubleshooting row.

**Evolutions:**
- N/A.

**Pages affectées:**
- deploy/nginx/README-ia-enso.md
2026-03-23 01:23:18 +01:00
0637f9e76b Nginx ia.enso: map_hash_bucket_size, legacy http2 listen
**Motivations:**
- Deploy failed on proxy: long Bearer token map_hash; unknown http2 directive.

**Root causes:**
- openssl rand -hex 32 exceeds default map_hash_bucket_size.
- Proxy nginx older than http2 on; listen 443 ssl http2 is portable.

**Correctifs:**
- Prepend map_hash_bucket_size 256 to generated maps and bearer example.
- Replace http2 on with listen 443 ssl http2.
- README troubleshooting for map_hash.

**Evolutions:**
- N/A.

**Pages affectées:**
- deploy/nginx/deploy-ia-enso-to-proxy.sh
- deploy/nginx/http-maps/ia-enso-ollama-bearer.map.conf.example
- deploy/nginx/sites/ia.enso.4nkweb.com.conf
- deploy/nginx/README-ia-enso.md
2026-03-23 01:23:15 +01:00
b5d5d74bbd Fix deploy script: empty DEPLOY_SSH_PROXY_HOST means direct SSH to proxy
**Motivations:**
- DEPLOY_SSH_PROXY_HOST= was overridden by default bastion due to ${VAR:-default}.

**Root causes:**
- Bash treats empty VAR as unset for :- expansion, reapplying 4nk.myftp.biz.

**Correctifs:**
- Use -v / empty check: unset bastion when explicitly empty; default only when unset.

**Evolutions:**
- README and failure hint for LAN direct deploy.

**Pages affectées:**
- deploy/nginx/deploy-ia-enso-to-proxy.sh
- deploy/nginx/README-ia-enso.md
2026-03-23 01:14:18 +01:00
75b8c79556 Restore ia.enso upstreams to 192.168.1.164 for Ollama and AnythingLLM
**Motivations:**
- Ollama and AnythingLLM run on 192.168.1.164, not 192.168.1.173.

**Root causes:**
- Previous commit pointed upstreams at the ia host IP by mistake.

**Correctifs:**
- Upstreams back to 192.168.1.164:11434 and :3001; docs aligned.

**Evolutions:**
- N/A.

**Pages affectées:**
- deploy/nginx/sites/ia.enso.4nkweb.com.conf
- deploy/nginx/README-ia-enso.md
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
- docs/infrastructure.md
- docs/services.md
2026-03-23 01:12:51 +01:00
b9157d12b0 Point ia.enso nginx upstreams to IA host 192.168.1.173
**Motivations:**
- Ollama and AnythingLLM moved from 192.168.1.164 to the ia LAN host.

**Root causes:**
- Upstreams still targeted 192.168.1.164.

**Correctifs:**
- Set upstream servers to 192.168.1.173:11434 and :3001.

**Evolutions:**
- Docs aligned with ia role IP; note to edit site conf if IP changes.

**Pages affectées:**
- deploy/nginx/sites/ia.enso.4nkweb.com.conf
- deploy/nginx/README-ia-enso.md
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
- docs/infrastructure.md
- docs/services.md
2026-03-23 01:11:47 +01:00
a6bd0ea14c Document ia.enso nginx proxy (operator guide, cross-links)
**Motivations:**
- Single operational reference for deploy script vs manual steps and troubleshooting.

**Root causes:**
- README mixed http-maps manual path with script using conf.d without full operator context.

**Correctifs:**
- Align documentation with deploy script paths and prerequisites.

**Evolutions:**
- Expanded README-ia-enso.md (tables, SSRF context, env vars, rotation, troubleshooting).
- Feature doc table and deployment pointers; links from docs/README, infrastructure, services.

**Pages affectées:**
- deploy/nginx/README-ia-enso.md
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
- docs/README.md
- docs/infrastructure.md
- docs/services.md
2026-03-23 01:04:04 +01:00
f39de69e55 Add SSH deploy script for ia.enso nginx on proxy
**Motivations:**
- Apply proxy configuration from a workstation without manual scp steps.

**Root causes:**
- No automation existed for pushing nginx files to 192.168.1.100.

**Correctifs:**
- N/A.

**Evolutions:**
- deploy-ia-enso-to-proxy.sh with ProxyJump, optional generated Bearer token, retry without duplicate websocket map.

**Pages affectées:**
- deploy/nginx/deploy-ia-enso-to-proxy.sh
- deploy/nginx/README-ia-enso.md
- docs/features/ia-enso-nginx-proxy-ollama-anythingllm.md
2026-03-23 01:03:22 +01:00