prole/knoe
chrisfu ad36f4ee54 Stage 2: complete CNPG shell-to-Python cutover, remove init_cloudnative_pg.sh
All active runtime paths that previously shelled out to etc/init_cloudnative_pg.sh
now dispatch through Python. The shell script has been removed from git.

New files:
- knoe/core/ops/cloudnative_pg.py: canonical Python owner for CNPG lifecycle with
  public API (initialize, deploy, rollout, ensure_operator, pin_controller,
  install_barman_plugin) and internal helpers (_apply_manifest, _wait_cnpg_pods,
  _reconcile_instances, etc.)
- prole/tools/run_cnpg_coverage.py: coverage entry points for k3d/k3s modes,
  report sub-command, and check-shell scanner to confirm no live Python dispatch
  to the removed shell script

Modified files:
- knoe/core/actions.py: replace shell dispatch in _step_init_scripts,
  _step_cnpg_deploy, and repair pipeline with Python calls
- knoe/core/milestones.py: replace shell dispatch in InitializationScriptsMilestone
  and DeploymentMilestone
- knoe/ui/screens/services.py: replace shell dispatch for init-scripts step,
  deploy button, and rollout button
- prole/deployment.py: replace shell dispatch in _run_post_apply_scripts
- status.py: remove init_cloudnative_pg.sh from _STATUS_SCRIPTS list
- tests/installer/test_actions_helpers.py: mock Python functions, assert shell
  script is never dispatched
- tests/installer/test_milestones.py: same
- tests/installer/test_services_init_scripts.py: same

Removed:
- etc/init_cloudnative_pg.sh (git rm)

Verification:
- prole.tools.run_cnpg_coverage check-shell reports clean
- All 61 tests in the affected test files pass

Co-authored-by: Junie <junie@jetbrains.com>
2026-03-23 19:28:04 -07:00
..
core Stage 2: complete CNPG shell-to-Python cutover, remove init_cloudnative_pg.sh 2026-03-23 19:28:04 -07:00
ops Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
scripts Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
ui Stage 2: complete CNPG shell-to-Python cutover, remove init_cloudnative_pg.sh 2026-03-23 19:28:04 -07:00
__init__.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
build.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
config.py Update PROLE_HOME resolution and enhance iSCSI PV handling 2026-03-22 02:43:52 -07:00
core.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
deploy.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
main.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
milestone.py Rename prole-db to knoe-db, add knoe-auth as cluster-internal KDC 2026-03-22 22:16:21 -07:00
ncurses_installer.py Update PROLE_HOME resolution and enhance iSCSI PV handling 2026-03-22 02:43:52 -07:00
ncurses_ui.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
prole_conf.py Standardize namespace and cluster config flow 2026-03-23 16:52:40 -07:00
README.md Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
runner.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
screen.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
state.py Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00
welcome.txt Checkpoint: rename installer to knoe + harden db build context 2026-03-22 01:45:21 -07:00

Moved

This document has moved. Please see the up-to-date installer guide at:

installer/README.md

The root-level file is kept only as a pointer to avoid breaking links during the refactor.