## App: high-orbit-hu

- **Subdomain:** high-orbit-hu.radnaiapp.com
- **Port:** 8765
- **Stack:** Python 3, http.server (local review server)
- **Repo:** https://github.com/kukkacc1/high-orbit-hu
- **Jira:** https://kukkacc1.atlassian.net/jira/software/projects/HIGHORB
- **Jenkins:** https://jenkins.radnaiapp.com/job/high-orbit-hu-pipeline/
- **Image:** ghcr.io/kukkacc1/high-orbit-hu

## DevOps Conventions

- Branch naming: `feature/HIGHORB-42-description`, `fix/HIGHORB-42-description`
- Commit messages should reference Jira ticket where applicable: `HIGHORB-42: description`
- All deploys go through Jenkins Multibranch Pipeline — do not deploy manually
- Docker image published to `ghcr.io/kukkacc1/high-orbit-hu`
- VPS: `root@204.168.193.92`, app lives at `/opt/high-orbit-hu/`
- Runtime state (`approvals.json`, `comments.json`) is bind-mounted at runtime — do not bake into image

## Working with Jira Tickets

To look up a ticket: `curl -s -u "$JIRA_EMAIL:$JIRA_API_TOKEN" "https://kukkacc1.atlassian.net/rest/api/3/issue/HIGHORB-XX"` where tokens are in `C:\progik\devops\.env`.

To start work on a ticket: checkout a branch `feature/HIGHORB-XX-short-description` or `fix/HIGHORB-XX-description`, implement the change, then push and the Jenkins pipeline auto-builds.

## Oracle Cloud Policy

The VPS at `204.168.193.92` runs on Oracle Cloud free tier. **Never run destructive infrastructure commands** (terminate instance, delete volumes, remove security rules, destroy network/VPC) without explicit written confirmation from the user. Free-tier instances cannot be recreated and losing one means losing all hosted apps.
