Commit Graph

29 Commits

Author SHA1 Message Date
chrisfu
d2efb835b0 Refactor project structure and update initialization scripts
- Moved files from 'prole/' subdirectory to root level or appropriate subdirectories (tests, authority, infrastructure) to flatten the project structure.

- Updated 'install.py' and initialization scripts in 'etc/' to reflect the new directory layout.

- Added 'etc/repair_pipeline.sh' for automated pipeline repairs.

- Updated configuration files including 'conf/prole.cfg' and 'env.sh'.

- Integrated ArgoCD manifests in 'k8s/argocd/'.

- Updated 'prole-app' environment and properties.

- Moved and updated test scripts for better organization and reliability.

- Added 'tests/silent_install_test.sh' for automated installation testing.
2026-02-14 13:44:49 -08:00
chrisfu
e228dd9243 checkpoint: installer refinements, k3s drift protection, and infra updates
- Installer: Updated k3s deployment logic and configuration generation.

- k3s Role: Implemented token drift protection to verify Vault secrets against live node tokens.

- DNS: Enhanced samba_reverse_dns role to support multiple reverse zones.

- Service Init: Updated initialization scripts and status reporting.

- Infrastructure: Added prole management role and k3s diagnostic playbook.

- Configuration: Updated prole.cfg and added vaulted group variables.
2026-02-12 02:30:44 -08:00
chrisfu
87e2f5d385 Checkpoint: Refactor common services and monitoring initialization. Updates: etc/init_monitoring.sh (Grafana naming, legacy cleanup), etc/init_common_services.sh (migration/cleanup logic), added etc/init_registry.sh, updated etc/init_cloudnative_pg.sh (manifest filtering), updated configs, and enhanced tests. Fixed: excluded .ansible logs and added to .gitignore. 2026-02-09 18:50:44 -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
519235558a add ansible role samba_dns. master group_vars/all/dns.yml\nfixed role iscsi 2026-01-29 16:58:30 -08:00
chrisfu
b1dde37f8c Add serial execution and integrate cgroup role in k3s reset playbook 2026-01-28 15:03:10 -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
887c485c32 Add playbooks for k3s reset and deletion with vault token removal. Include k3s cleanup tasks role. 2026-01-28 13:34:37 -08:00
chrisfu
b4cea8c6f5 add samba_ad_dc role 2026-01-28 12:41:06 -08:00
chrisfu
453ccfd015 Add k3s kubeconfig user configuration and iSCSI target defaults 2026-01-27 21:46:56 -08:00
chrisfu
035d63090c Fix Ansible YAML parsing errors and standardize host_vars. Removed invalid '---' document separators from host_vars files, merged redundant myrddin config, and renamed host_vars to use .yml extension. Verified with successful ansible-playbook --syntax-check. 2026-01-25 23:36:25 -08:00
chrisfu
829d8d14fd k3s should not initialize and start yet, install, ensure stopped. k3s storage next before init 2026-01-24 00:35:11 -08:00
chrisfu
9d96a94bec ansible: replace no_swap role with swap role and enhance K3s setup
- Removed the `no_swap` role and replaced it with the new `swap` role for managing swap configurations.
- Updated the K3s role to dynamically detect the first available wired interface IP and validate it.
- Enhanced K3s installation by adding support for disabling SELinux RPM.
- Adjusted inventory and `site.yml` to align with the updated roles.
- Added `.vault_pass` to `.gitignore`.
- Updated Ansible configuration with result format compatibility for different versions.
2026-01-21 16:19:17 -08:00
chrisfu
1a30f44106 ansible: replace no_swap role with swap role and enhance K3s setup
- Removed the `no_swap` role and replaced it with the new `swap` role for managing swap configurations.
- Updated the K3s role to dynamically detect the first available wired interface IP and validate it.
- Enhanced K3s installation by adding support for disabling SELinux RPM.
- Adjusted inventory and `site.yml` to align with the updated roles.
- Added `.vault_pass` to `.gitignore`.
- Updated Ansible configuration with result format compatibility for different versions.
2026-01-21 16:19:14 -08:00
chrisfu
e69b5f2008 ansible: replace no_swap role with swap role and enhance K3s setup
- Removed the `no_swap` role and replaced it with the new `swap` role for managing swap configurations.
- Updated the K3s role to dynamically detect the first available wired interface IP and validate it.
- Enhanced K3s installation by adding support for disabling SELinux RPM.
- Adjusted inventory and `site.yml` to align with the updated roles.
- Added `.vault_pass` to `.gitignore`.
- Updated Ansible configuration with result format compatibility for different versions.
2026-01-21 16:16:14 -08:00
chrisfu
772a36294e ansible: configure K3s cluster and update inventory
- Added `k3s_hosts` group to the inventory and associated host entries.
- Updated `site.yml` to include roles for disabling swap and setting up the K3s cluster.
2026-01-21 10:23:05 -08:00
chrisfu
a6cc1173e9 ansible: update inventory and configure rsyslog for Linux hosts
- Add `Linux_Hosts` group in inventory with child nodes.
- Update `site.yml` to apply `rsyslog` role to `Linux_Hosts` with privilege escalation.
2026-01-20 22:16:32 -08:00
chrisfu
9cfac76b4c ansible managed rsyslog 2026-01-18 22:49:49 -08:00
chrisfu
d55459b83f ansible managed piholes 2026-01-18 22:01:23 -08:00
chrisfu
c4156f58d0 ansible starts here 2026-01-18 20:02:41 -08:00