Commit graph

119 commits

Author SHA1 Message Date
2a325b55bd feat: interactive CF Apps install menu with oem/collaborator/orchard profiles
Adds a manifest-driven "Install CircuitForge Apps" menu to install.sh,
alongside the existing extras-menu pattern.

- cf-apps/*.manifest: one file per product (circuitforge-core, peregrine,
  kiwi, snipe, turnstone, pagepiper, linnet - the beta/alpha menagerie
  products), declaring repo URLs, supported install types, conda env,
  .env template, and per-install-type setup hooks. Hooks prefer shelling
  out to each product's own install.sh/Makefile/docker-compose rather
  than reimplementing their setup logic.
- lib/cf-apps.functions: registry loader, provisioning-profile prompt
  (oem/collaborator/orchard), app multiselect menu, and the install
  dispatcher (clone, .env bootstrap, install-type selection, hook
  dispatch). circuitforge-core installs automatically as a dependency
  for apps that declare app_needs_core=true.

Provisioning profiles gate both which apps are offered and which remote
credentials are used:
- oem: public CircuitForgeLLC GitHub mirrors only, no Forgejo access,
  no circuitforge-orch (product install menu only)
- collaborator: private Circuit-Forge Forgejo, same product menu
- orchard: narrow flow, not the product menu - clones circuitforge-orch
  (Forgejo-only, no public mirror exists) and hands off interactively to
  its own install.sh, which gathers agent/coordinator topology itself
  (it has no --topology/--coordinator-url flags to script around).
  NOTE: circuitforge-orch has no model-sync/cache-sync mechanism today
  (checked its install.sh and README); this wrapper doesn't invent one.

Design rationale and survey of each product's real install story:
circuitforge-plans/cf-node-bootstrap/superpowers/plans/2026-07-17-cf-apps-install-menu.md
2026-07-17 20:42:21 -07:00
2bb8eecd18 fix: add bc dependency, remove Slipstream and golang extras
bc is required by power monitoring functions for floating-point math
and was missing from the apt packages list, causing failures on
minimal installs like RPiOS Lite.

Slipstream.install and golang.install extras removed as they are
no longer maintained here.
2026-04-29 16:05:03 -07:00
alanweinstock
739467031d added support for formatted border to title 2025-02-26 09:41:36 -08:00
e8bf95fd5c Merge branch 'main' of https://github.com/pyr0ball/PRbL-bashrc into develop 2024-09-22 15:32:36 -07:00
5b16066616 fixed single-line echo out on extra installs 2024-09-10 10:10:10 -07:00
2eb7da5f53 fixed bashrc echo out on single line 2024-09-10 09:53:52 -07:00
b9fb14bc7c modified installer echo out 2023-09-30 23:32:11 -07:00
5c0ec6c90f iterated minor version 2.3.5 - fixed Slipstream dependencies 2023-08-11 01:12:38 -07:00
f9a7cc57ac fixed formatting issues in quickinfo 2023-08-11 01:11:40 -07:00
5e505be426 fixed extras still picking up logs 2023-06-15 03:05:29 -07:00
2d534cea22 added filter to ignore logs in extras install 2023-06-15 02:41:50 -07:00
3c7999ff2c Installer v2.3.4 - iterated minor version 2023-06-15 02:34:16 -07:00
bd5504dbe1 renamed branch from master to main 2023-06-15 02:32:42 -07:00
198ea05975 added fallback utils for fetching functions 2023-06-15 02:01:47 -07:00
d0b36bda54 updated extras run function to handle dryruns better 2023-06-15 01:52:32 -07:00
2ac709f93c removed certain checks that are now handled by run() 2023-06-09 16:03:21 -07:00
350613d865 removed extra sources check 2023-06-09 09:47:40 -07:00
3cf34b262a Merge branch 'master' of github.com:pyr0ball/PRbL-bashrc 2023-05-24 14:48:57 -07:00
7692fb0182 fixed extras launch 2023-05-24 14:47:47 -07:00
alanw
aab5507328 iterated fix version 2023-05-11 16:28:13 -07:00
alanw
cc1d1ccf9e fixed syntax in depsinstall 2023-05-11 16:27:40 -07:00
alanw
146bd34d69 fixed syntax error in global installfixed syntax error in global install 2023-05-11 16:24:34 -07:00
alanw
0df759afe6 iterated fix version 2023-05-11 15:39:35 -07:00
alanw
97bb764c14 fixed copy syntaxfixed copy syntax 2023-05-11 15:39:02 -07:00
alanw
f7d3859466 fixed logging output for global install 2023-05-11 15:34:59 -07:00
alanw
1ee12ec1f3 different handling for extras 2023-05-09 15:58:53 -07:00
d660d99f1b attempt to fix extras install on filepaths containing whitespace 2023-05-09 15:39:29 -07:00
d72edbd368 iterated minor version 2023-05-09 12:57:22 -07:00
5771cc2091 fixed output for menu choice 2023-05-09 12:56:19 -07:00
e7dc5fe06a fixed apt-get syntax 2023-05-08 22:21:06 -07:00
b64f4b1286 added functions fallbacks and removed commented code 2023-05-08 17:33:56 -07:00
4b3da346bc added extras menu functions into install 2023-05-08 15:15:10 -07:00
426caaade7 switched over dry-run logic to run function 2023-05-08 15:14:52 -07:00
8c2ceb1b1f changed detectvim to look for latest version 2023-05-08 15:12:33 -07:00
3a2b38d154 switched around run function logic 2023-05-08 15:12:09 -07:00
dd6e58a43e install vim install edits 2023-05-07 23:54:56 -07:00
003e8159d5 added Slipstream installation to extras and added menu stub 2023-05-07 22:04:08 -07:00
5b60075290 re-added extra installs logic 2023-05-06 02:05:18 -07:00
56ed1943ca set dry_run and update flags to unset after run to avoid conflicts with
extra installs
2023-05-06 02:04:37 -07:00
d934049e45 added stylized title 2023-05-06 02:03:14 -07:00
679674cbec relocated a lost quote 2023-04-29 22:40:25 -07:00
c60d6828f4 fixed apt-get command 2023-04-29 22:38:39 -07:00
8059bf26ad added new run functions for handling dry-runs 2023-04-26 13:44:21 -07:00
736c767e24 fixed version comparison 2023-04-26 13:39:58 -07:00
fdab517c13 disabled sensors alert on dry-run 2023-04-26 13:39:18 -07:00
e419522fbd refactored recursive directory file install function 2023-04-26 13:33:18 -07:00
5efe466c06 refactored backup function to handle hidden files 2023-04-26 13:29:46 -07:00
3aa5761f6c changed install file enumeration 2023-04-26 01:41:41 -07:00
8439abd6dd refactored file install algorithm 2023-04-26 01:38:05 -07:00
5b44dbc96c fixed issue with functions install 2023-04-18 00:29:55 -07:00