Consolidate duplicate functions, bump to v1.0.1
- Remove duplicate log/error_exit/warning/success/info from hops and uninstall; remove validate_password, generate_secure_password, create_docker_networks, validate_timezone from install. Single canonical copies now live in lib/common.sh, lib/security.sh, lib/validation.sh, and lib/docker.sh (A5, Q1) - Fix lib/docker.sh, lib/validation.sh, lib/security.sh to use LIB_DIR instead of SCRIPT_DIR so sourcing them inside a function does not clobber the caller's SCRIPT_DIR - Move SCRIPT_VERSION to lib/common.sh as the single source of truth; remove local declarations from hops, install, and uninstall - uninstall now sources lib/common.sh directly for standalone safety - validate_timezone updated to warn-and-default instead of error_exit - validate_password updated to handle empty input (return 3) - Update CHANGELOG and TODO to reflect resolved items (B1-B6, A1, A3, A5, Q1) and bump version to 1.0.1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+29
-22
@@ -7,32 +7,39 @@ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Removed
|
||||
- Path B install pipeline (setup, privileged-setup, user-operations,
|
||||
services-improved, lib/privileges.sh) -- dead code, never wired in
|
||||
---
|
||||
|
||||
## [1.0.1] - 2026-06-10
|
||||
|
||||
Stabilization pass: bug fixes, security hardening, and codebase consolidation
|
||||
on the Path A install pipeline.
|
||||
|
||||
### Fixed
|
||||
- Infinite recursion in get_timezone_mount() and get_gpu_devices() on Linux (B1)
|
||||
- ((x++)) abort under set -e across hops and install (B5)
|
||||
- Glob stored as string breaking multi-user directory detection (B3)
|
||||
- Missing hops_service_definitions.sh reference in firewall setup (B4)
|
||||
- Linux-only guard missing from hops entry point (B6)
|
||||
- eval echo "~$SUDO_USER" replaced with getent passwd in uninstall (B3/S5)
|
||||
|
||||
### Changed
|
||||
- Version reset to 1.0.0
|
||||
- Duplicate log, error_exit, warning, success, info removed from hops,
|
||||
uninstall, and install; single canonical copies in lib/common.sh (A5, Q1)
|
||||
- Duplicate validate_password, generate_secure_password, create_docker_networks,
|
||||
validate_timezone removed from install; lib/security.sh, lib/docker.sh,
|
||||
lib/validation.sh are now the sole definitions (A5)
|
||||
- lib/docker.sh, lib/validation.sh, lib/security.sh use LIB_DIR instead of
|
||||
SCRIPT_DIR so sourcing them inside a function does not clobber the caller
|
||||
- validate_timezone updated to warn-and-default instead of error_exit
|
||||
- validate_password updated to handle empty input (return 3)
|
||||
- uninstall sources lib/common.sh directly, allowing standalone execution
|
||||
|
||||
### Removed
|
||||
- Path B install pipeline (setup, privileged-setup, user-operations,
|
||||
services-improved, lib/privileges.sh) -- dead code, never wired in (A1, A3)
|
||||
|
||||
---
|
||||
|
||||
## [1.0.0] - TBD
|
||||
|
||||
Full rewrite and stabilization of the Path A install pipeline.
|
||||
|
||||
### Fixed
|
||||
- Infinite recursion in get_timezone_mount() and get_gpu_devices() on Linux
|
||||
- ((x++)) abort under set -e across hops and install
|
||||
- Glob stored as string breaking multi-user directory detection
|
||||
- Missing hops_service_definitions.sh reference in firewall setup
|
||||
|
||||
### Security
|
||||
- Replace broken AES-GCM encryption with supported cipher
|
||||
- Move passphrases off command line (use fd-based passphrase input)
|
||||
- Remove committed default Authelia credential
|
||||
- Use mktemp for temp files instead of predictable /tmp paths
|
||||
|
||||
### Changed
|
||||
- Single canonical service catalog (services)
|
||||
- Latest image tags throughout
|
||||
- lib/secrets.sh wired into install flow for .env encryption at rest
|
||||
Full rewrite establishing the Path A install pipeline.
|
||||
|
||||
Reference in New Issue
Block a user