Commit Graph

4 Commits

Author SHA1 Message Date
chrisfu
dafed53810 Enhance build system with 'make test' and fix installer test debris. Added 'make test' to Makefile with 'pyconv' (black) integration and coverage summary. Reformatted codebase with black. Fixed 'install.py' test bug where MagicMock objects created directory debris by improving mocking and patching in 'tests/test_navigation.py', 'tests/test_service_layer_navigation.py', and 'tests/test_install_logic.py'. 2026-02-25 14:55:05 -08:00
chrisfu
d68925bbc5 Add TLS certificates to CNPG cluster and restore missing Optional Features config - Add certificates section (prole-db-tls, prole-db-ca) to prole-db.yaml and prole-db-recovery.yaml.tpl - Expand generate_tls_if_missing() to create both CA and server TLS secrets with proper SANs - Add detect_and_reprovision_unencrypted_cluster() for existing clusters needing encryption conversion - Propagate AT_REST_ENCRYPTION_ENABLED to shell scripts via _script_env_for_namespace() - Restore AT_REST_ENCRYPTION_ENABLED, SUPABASE_ENABLED, KERBEROS_ENABLED in prole.cfg - Update installer milestones, docker screens, port-mapping, init_kerberos, init_postgrest, prole.sh 2026-02-22 18:58:01 -08:00
chrisfu
4bbd3b2dd3 fix: UI runtime fixes, idempotent k3d KUBECONFIG, Ollama screen redesign, mode-conditional init scripts, Grafana restart, real-time docker build output, shell script fixes, test updates 2026-02-20 23:19:48 -08:00
chrisfu
ec50f82cc8 refactor: deduplicate installer business logic & split screens.py into package
Separation of concerns: merge silent/UI actions & modularize screens.

ProleInstallerBase (actions.py): Created shared base class with 37 deduplicated methods previously duplicated between ProleSilentInstaller and ProleInstaller. Namespace, environment, secret, deployment, port-forward, authority/repair, image, and logging helpers now defined once. Subclasses override _get_input() to bridge their data-access layers.

screens.py -> screens/ package (18 mixin modules): Split 10,234-line monolithic screens.py into focused mixin modules: base, navigation, welcome, dependencies, network, environment, database, cluster, services, security, ollama, supabase, docker, build, packaging, deploy, validate, cfg. __init__.py composes ProleInstaller from all mixins and re-exports has_display(), main() for full backward compatibility.

All 37 tests pass with no regressions.
2026-02-20 14:43:20 -08:00