Files
config/.claude/tasks/TODO.md
T
bastien 4f8bb61458 feat(cloudpex): site values out of the script, prompted at install into /etc/cloudpex.conf
cloudpex/cloudpex no longer carries the NAS host, share name, SMB user,
mount point or SMB version. It reads /etc/cloudpex.conf (root:root 0600,
KEY=value) line by line, never sources it, and dies with a hint when the
file is missing, incomplete or has a relative mount point.

cloudpex/install.sh prompts for the five values (regex-validated, re-asked
on bad input so the main installer never aborts), shows and keeps an
existing config unless answered n, and skips the config when no terminal
is attached. README (FR) + root README + CLAUDE.md updated.
2026-09-22 17:34:18 +02:00

3.2 KiB

TODO — onboard backlog (2026-05-27)

Done this session

  • [P0] Fix install.sh broken /tmp/config paths (server+osx silent fail)
  • [P0] Fix bashism under #!/bin/sh → bash + set -euo pipefail
  • [P1] Fix nerdtree copy (cp -r / direct clone into bundle)
  • [P1] Guard apt-get behind command -v (osx no longer fails)
  • [P2] Drop redundant molokai clone
  • [P2] Create README.md, CLAUDE.md, .gitignore
  • [P2] Create .claude/memory + tasks + audits

P2 — Moyenne

  • [P2] [/hotfix] — vim/vimrc GenerateClassC: bare name → a:name (fixes :ClassC E121) Files: vim/vimrc (GenerateClassC, ~line 80-104) Source: .claude/memory/blockers.md BLK-001

P3 — Basse

  • [P3] [/code-clean] — bashrc-* legacy backticks → $(...) (SC2006), arithmetic SC2004 Files: bash/bashrc-linux, bash/bashrc-osx Note: cosmetic only, no behavior change

Post-MVP (optional, backlog)

  • Runtime-test install.sh on a clean VM (all 4 targets) — not safe on dev machine
  • Consider an uninstall.sh (restore from ~/Oldconfig)
  • LICENSE if repo ever goes public — done (GPL-3.0, BDR-008, 40c6524)

Feature — /tmp on disk + SSH OOM guard + cloudpex installer (2026-09-22)

Branch: feature/tmp-disk-ssh-oom-cloudpex (off develop). Design approved in chat (bounded). Root cause: /tmp is tmpfs (50% RAM) → agents fill it → RAM halved + ENOSPC breaks shells. Swap rejected.

  • etc/tmpfiles.d/tmp.conf (D /tmp 10d + q /var/tmp 30d — keep both upstream lines)
  • etc/systemd/ssh.service.d/override.conf (MemoryMin=256M, OOMScoreAdjust=-1000 — old server)
  • etc/default/earlyoom (old server args: -r 60 -m 10 -s 10 --avoid sshd… --prefer node…)
  • install.sh: confirm() TTY-guarded prompt helper
  • install.sh: offer_tmp_on_disk() — mask tmp.mount + tmpfiles rule, reboot notice, idempotent
  • install.sh: offer_ssh_memory_guard() — drop-in + daemon-reload/restart ssh + earlyoom, idempotent
  • install.sh: install_cloudpex() in Linux block; offers at end of script (Linux-gated)
  • cloudpex/install.sh — /usr/local/bin/cloudpex root 0755, /mnt/cloudpex, cifs-utils if missing
  • cloudpex/README.md (FR) — purpose, why on-demand not fstab, usage, install
  • README.md steps 12-14 + table rows; CLAUDE.md layout
  • shellcheck + bash -n (install.sh, cloudpex/install.sh); stub-sudo dry run of the offers
  • commit on feature branch (no gitea-deploy/, no .githooks changes)

Round 2 — cloudpex config out of script, reconcile main/develop, capitalize, merge (2026-09-22)

  • cloudpex/cloudpex: constants → /etc/cloudpex.conf parsed line by line (never sourced), die if missing
  • cloudpex/install.sh: prompt host/share/user/mnt/vers (regex-validated), keep-existing [Y/n], no-TTY skip
  • cloudpex/README.md + README.md + CLAUDE.md: no site values, describe prompts + conf file
  • registries: BDR-010/011/012, LRN-009/010/011, BLK-005/006, EVAL-002, journal
  • reconcile: merge main (a210d01 dtach) into develop via lib helper
  • gitflow finish feature → develop (explicit user signal: "puis merge")
  • runbook for live apply on this machine