- Update all references from timothykim/ to hantim/ org
- Rename DEPLOY_KEY to DEPLOY_SSH_KEY everywhere
- Update README to reference org-level secrets
Dispatch now validates the command format and routes to a single
deploy.sh that handles any app. This fixes first-deploy failures
for new apps (dispatch no longer needs a static case list) and
simplifies new-app.sh (no deploy script or dispatch update needed).
Also adds input validation to new-app.sh, set -euo pipefail to
deploy scripts, and dnf module reset before nodejs install.
Check for .git/git-crypt/keys directory which only exists after
unlock, instead of parsing git-crypt status output which shows
"encrypted:" regardless of lock state.
git-crypt status outputs " encrypted:" not "***ENCRYPTED***".
The shared docker network is created by nginx's compose file, so
pre-creating it caused a label mismatch that prevented containers
from starting.
setup.sh now installs git-crypt, Bitwarden CLI, and fetches the
git-crypt key from a Bitwarden secure note. Initial setup is reduced
to just installing git, cloning, and running setup.sh.