Commit Graph

249 Commits

Author SHA1 Message Date
chrisfu
42ec9bb7ab Refactor shell scripts for manifest rendering via prole_render_manifest function, introduce dynamic port forwarding configuration, and improve handling for k3d compatibility. 2026-02-06 21:22:26 -08:00
chrisfu
63e6f18b5b Enhance cgroup management: normalize, clean up backslashes, and optimize cmdline processing logic. Add memory controller check. 2026-02-06 12:19:42 -08:00
chrisfu
58faab34fb Add playbooks and manifests for cgroups and iSCSI storage setup
- Introduced cgroup kernel parameter management for `k3s_hosts` via Ansible playbook.
- Added Kubernetes PersistentVolumes for iSCSI storage with specific node affinity.
- Defined `prole-iscsi` StorageClass for volume provisioning.
2026-02-06 01:19:59 -08:00
chrisfu
6b6e5e2aec nodeSelector and storage updates across k8s manifests
- Added `nodeSelector` for multiple Kubernetes resources to ensure scheduling on `myrddin.prole.org`.
- Modified `storage` requests and set `storageClassName` in `garage-statefulset.yaml`.
- Enhanced `install.py` for dynamic environment configuration and kubeconfig handling.
- Improved cgroup management tasks in Ansible with conflict resolution and parameter updates.
- Simplified vault token update process in playbooks and updated encryption checks.
2026-02-06 01:17:54 -08:00
chrisfu
1e87f4684e Add k3s vault token update steps to k3s_sync.yml
- Introduced tasks to update the k3s vault token within the `k3s_sync.yml` playbook.
- Includes vault password file handling and vault file encryption/decryption processes.
2026-02-05 23:44:05 -08:00
chrisfu
abd97008e7 Refactor k3s_sync.yml to improve sync source host selection logic. 2026-02-05 23:15:30 -08:00
chrisfu
92988d8bd2 Refactor k3s_sync.yml to improve sync source host selection logic. 2026-02-05 23:11:55 -08:00
chrisfu
7dca902d39 Refactor k3s_sync.yml to improve sync source host selection logic. 2026-02-05 23:05:02 -08:00
chrisfu
e7d2b8fe52 Refactor k3s_sync.yml to improve sync source host selection logic. 2026-02-05 22:42:45 -08:00
chrisfu
68948be107 Refactor k3s synchronization playbooks to streamline metadata handling and ensure source inclusion. 2026-02-05 22:37:17 -08:00
chrisfu
5ae0c0bcb9 k3s_sync task 2026-02-05 22:26:17 -08:00
chrisfu
da2f6600ba feat: infrastructure and installer updates for k3s, OpenTofu, and prole-db
- Add k3s start/stop Ansible playbooks and roles.

- Implement OpenTofu initialization scripts and k8s manifests.

- Update ncurses installer with OpenTofu support and improved k3s integration.

- Add mode support (--mode) to etc/ initialization scripts.

- Update prole-db with recovery, barman objectstore, and SSH OpenBao support.

- Refine k8s manifests for OpenBao and prole-db.
2026-02-05 21:27:18 -08:00
chrisfu
82dc879116 cleanup: remove references to prole/workstation 2026-02-05 14:56:01 -08:00
chrisfu
620ce63190 checkpoint: update infrastructure scripts, manifests, and installer. etc/init_*.sh: added namespace support and OpenBao monitoring configuration; k8s/prole: added grafana-pvc, updated prole-db with S3 region support; install.py: implemented config secret encryption and improved ARM64 platform detection; .gitignore: expanded ignore patterns; prole-net: updated prole-agent binary 2026-02-04 01:37:46 -08:00
chrisfu
bcc8f23a0d Enhance secret management and k8s infrastructure
- Secret Management: Integrated AESGCM for temporary secret handling in install.py and enhanced OpenBao (Vault) support with namespace injection and additional secret paths (Grafana, Kerberos, TDE).
- Infrastructure & K8s:
    - Added Barman Object Store backup configuration (S3) to prole-db.yaml.
    - Updated Prometheus deployment with PVC and persistent configuration.
    - Updated k3s cluster/registry creation scripts.
    - Added etc/build-a-bao.sh for OpenBao setup.
- MSSQL Integration: Updated docker scripts and k8s deployments for Prole MSSQL database.
- Documentation: Added docs/PROLE-CFG-SECRETS.md explaining the new secret handling.
- General: Refined initialization scripts (init_authority.sh, init_openbao.sh, etc.) and updated the ncurses installer.
2026-02-03 22:39:50 -08:00
chrisfu
edbc6c5385 Checkpoint: Refactor installer UI and update Supabase deployment strategy
- Refactored install.py and installer package for improved UI and navigation.

- Replaced Supabase k8s manifests with a dedicated deployment script and port-wiring logic.

- Added new deployment pipeline and finalization scripts in etc/.

- Updated initialization scripts for Kerberos, authority, and port forwards.

- Updated port mappings and tests.
2026-02-03 14:55:05 -08:00
chrisfu
12d00c468a Configure Silent Install Test with unique logging and shared run configuration
- Updated tests/silent_install_test.sh to support unique logging via SILENT_INSTALL_LOG=true

- Created shared IntelliJ Run Configuration '.idea/runConfigurations/Silent_Install_Test.xml'

- Updated various init scripts, port mappings, and installer logic

- Added supabase.sh and init_monitoring.sh
2026-02-02 16:13:15 -08:00
chrisfu
5ab6381982 Fix YAML parsing errors in init_authority.sh and improve SSH key management. Resolved 'invalid Yaml document separator' and 'could not find expected :' errors in etc/init_authority.sh by using printf to inject multi-line SSH keys safely. Added 'ansible' user setup. Updated etc/init_openbao.sh to store ansible keys. Created prole/tests/test_init_authority.sh for validation. 2026-02-02 13:15:31 -08:00
chrisfu
f908585f23 feat: integrate Supabase deployment with prole-db and update installer
This commit introduces automated Supabase deployment and refines the installation process.

Key improvements:
- Added supabase/deploy.sh: A comprehensive script to deploy the full Supabase stack.
- Enhanced etc/init_supabase.sh: Systematically resolved database permission issues.
- Updated install.py: Integrated Supabase setup into the main installer and added monitoring configuration.
- Updated port mappings and initialization scripts to support the Supabase service stack.
2026-02-02 06:51:23 -08:00
chrisfu
96aaf488d6 Bump Prole-DB image version to 17.7-059, enable at-rest encryption, and comment out Kerberos and pg_prolelog configurations. Update kdc and admin_server IPs in Kerberos config.
'Add CNPG build/init test and skip tiger geocoder' -m 'Test script usage: scripts/test-cnpg-prole-db.sh' -m 'Env overrides: CNPG_TEST_NAMESPACE, CNPG_CLUSTER_NAME, CNPG_MANIFEST_URL, CNPG_VERSION, IMAGE_LOAD (kind|minikube|k3d), IMAGE_LOAD_CMD, CNPG_INSTANCES'
2026-02-02 01:18:22 -08:00
chrisfu
7e9e6d0c11 Add CNPG build/init test and skip tiger geocoder
Test script usage: scripts/test-cnpg-prole-db.sh

Env overrides: CNPG_TEST_NAMESPACE, CNPG_CLUSTER_NAME, CNPG_MANIFEST_URL, CNPG_VERSION, IMAGE_LOAD (kind|minikube|k3d), IMAGE_LOAD_CMD, CNPG_INSTANCES
2026-02-02 01:15:11 -08:00
chrisfu
fff18fdbe4 Update Prole-DB and improve Supabase integration
- Bumped Prole-DB image version to 17.7-053 in scripts, Dockerfile, and manifests.
- Replaced `prole-scan` with `prole-agent` throughout scripts and tests.
- Refined Kubernetes setup for Supabase to use namespace 'supabase'.
- Introduced conversion of Supabase Docker Compose to Kubernetes manifests with `kompose`.
- Added support for Kerberos toggle via environment variables in `init_kerberos.sh`.
- Improved error handling and logging in scripts for better maintainability.
2026-02-01 23:56:25 -08:00
chrisfu
9c1f58caf4 Checkpoint: namespace management improvements and prole-db updates. Enhanced namespace management with automated namespace detection and configuration in etc/prole_cfg.sh and etc/init_prole-db.sh. Added namespace reset and recovery scripts: scripts/reset-ns.sh, etc/init_prole-db-reset.sh, and k8s/prole/prole-db-recovery.yaml.tpl. Updated prole-db image versioning to use release files and bumped version to 17.7-041. Improved installer UI and configuration handling in install.py and installer/screen.py. Updated Kerberos and CloudNativePG initialization scripts for better namespace support. Added /prole/backup/ to .gitignore. 2026-01-31 19:22:05 -08:00
chrisfu
1e42bf6029 Adjust canvas element placement in install.py for improved UI alignment and consistency. 2026-01-31 02:33:24 -08:00
chrisfu
b65dc14553 Adjust canvas element placement in install.py for improved UI alignment and consistency. 2026-01-31 02:06:47 -08:00
chrisfu
1df4f47dd6 Reduce entry window width in install.py from 650 to 325 for better UI alignment. 2026-01-31 01:49:27 -08:00
chrisfu
a8cc2f1c32 Update prole-scan with latest changes
- Modified file to incorporate recent updates.
- Ensured consistency with project-wide configuration practices.
2026-01-31 01:36:19 -08:00
chrisfu
9060518877 Sourced prole_cfg.sh for environment and config loading across all init scripts, consolidating configuration management. Removed redundant env.sh loading logic. 2026-01-31 01:24:18 -08:00
chrisfu
7fcf419c01 Refactor admin key handling in init_cloudnative_pg.sh to support generic naming and simplify key management. Introduce dynamic CNPG version resolution and fetch the latest release automatically. 2026-01-31 00:58:07 -08:00
chrisfu
0e1b588637 fix missing file 2026-01-31 00:35:48 -08:00
chrisfu
ed39bac75c Merge branch 'main' of github.com:dredx/prole 2026-01-30 23:40:49 -08:00
chrisfu
a720ad9d4f Enable fallback to RSA for SSH key generation and streamline keypair handling.
- Add a fallback mechanism to RSA when ed25519 key generation fails in `install.py`.
- Update SSH key generation logic to avoid ed25519-specific messaging.
- Simplify comments and logic in `init_openbao.sh` by removing ed25519 assumptions.
- Compact XML formatting for port-mappings.
2026-01-30 23:40:34 -08:00
chrisfu
a7cb5b5fca Add prole_cfg.sh sourcing for configuration management
- Consistently source `prole_cfg.sh` across multiple init scripts for unified configuration handling.
- Enhanced error handling in `screen.py` to manage potential UI exceptions gracefully.
- Improved asynchronous function scheduling using the new `safe_after` method.
2026-01-30 23:37:32 -08:00
chrisfu
a9c1c18891 samba family passwords never expire 2026-01-30 00:03:29 -08:00
chrisfu
ac95cdba00 cleaning up; tests in the folder, scripts in the desk 2026-01-29 23:58:43 -08:00
chrisfu
f0e75f6107 feat: complete end-to-end installation and storage integration. This commit marks a significant milestone where the end-to-end installation process is now fully functional. Key changes: Integrated Garage storage service (S3-compatible); Implemented Prole DB backup; Enhanced Kerberos integration; Updated default namespace to prole-chrisfu-deadbeef; Streamlined dependencies (removed Ollama); Added installation validation and testing scripts; Improved installer UI and deployment logic. 2026-01-29 22:50:05 -08:00
chrisfu
519235558a add ansible role samba_dns. master group_vars/all/dns.yml\nfixed role iscsi 2026-01-29 16:58:30 -08:00
chrisfu
706fbbd28b ansible correct retropie fstab 2026-01-29 00:50:45 -08:00
chrisfu
05ff335e3e Add cluster existence check and hostNetwork patch application
- Ensure cluster exists before attempting to patch the image in `init_prole-db.sh`.
- Introduce function to apply hostNetwork patch for OpenBao in `init_openbao.sh`.
2026-01-28 23:23:47 -08:00
chrisfu
dda938ee95 Integrate namespace setup and management into scripts, Dockerfile, and update installer UI. 2026-01-28 23:02:50 -08:00
chrisfu
d7b6a72ece Refactor cgroups task for cleaner syntax using a ternary filter 2026-01-28 15:27:12 -08:00
chrisfu
c2498594a2 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	infrastructure/roles/cgroups/tasks/main.yml
2026-01-28 15:18:53 -08:00
chrisfu
826f28ccdb Add cgroups prerequisite role for k3s 2026-01-28 15:17:26 -08:00
chrisfu
48e169432c Add cgroups prerequisite role for k3s 2026-01-28 15:10:20 -08:00
chrisfu
b1dde37f8c Add serial execution and integrate cgroup role in k3s reset playbook 2026-01-28 15:03:10 -08:00
chrisfu
f18bf3d1fa Merge branch 'main' of github.com:dredx/prole 2026-01-28 14:38:58 -08:00
chrisfu
d7c4778b51 Add preflight checks for cgroup kernel params in k3s setup
- Ensure cgroup kernel parameters are present before k3s installation.
- Introduce playbook changes to integrate cgroup prerequisites role.
2026-01-28 14:38:36 -08:00
chrisfu
7ecc69c969 Add preflight checks for cgroup kernel params in k3s setup
- Ensure cgroup kernel parameters are present before k3s installation.
- Introduce playbook changes to integrate cgroup prerequisites role.
2026-01-28 14:35:29 -08:00
chrisfu
11a1a32677 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	infrastructure/roles/k3s/tasks/main.yml
2026-01-28 13:44:09 -08:00
chrisfu
2e4d785de3 Refactor k3s version installation logic to use a ternary filter for cleaner syntax in main.yml. 2026-01-28 13:43:46 -08:00