Commit Graph

1 Commits

Author SHA1 Message Date
saravanakumardb1
678d8df42c feat(gitea): add bootstrap-vm.sh for fresh cloud VM setup
Idempotent end-to-end Gitea bootstrap for Azure VM (or any Linux host
with Docker available). Replaces manual SSH-and-paste workflow.

Steps (each skippable on re-run):
  1. Install Docker via official script (skip with --skip-docker)
  2. Write /etc/gitea/docker-compose.yml with package registry enabled
  3. Start gitea container, wait for HTTP :3300
  4. Create admin user via 'gitea admin user create' (CLI inside container,
     no auth bootstrap needed)
  5. Create npm-user (learning_ai_user) via admin API
  6. Mint npm-scoped token with write:package + read:package

Two execution modes:
  - On the VM directly: scp + ssh + run
  - Locally targeting remote: --ssh-host azureuser@vm

Outputs npm token to --output FILE or stdout. Prints copy-paste-ready
command for writing to ~/.gitea_npm_token_home on the workstation.

Final summary prints the doctor.sh verification command so user can
confirm registry reachability from their laptop in one step.

--dry-run shows planned actions without execution.
--force re-creates users (use after manual deletion).

Closes the 'cloud VM bootstrap' gap identified during the Gitea hardening
review — pairs with scripts/gitea/{doctor,token}.sh from commit 610a59fd.
2026-05-27 01:20:56 -07:00