How walker84837/vps-deploy-service works
This Go service receives a GitHub Actions deployment webhook, resolves a configured safe destination, downloads the temporary artifact, unwraps its tarball, verifies the supplied minisign signature, and replaces the deployment directory. The principal orchestration is concentrated in main.go: the handler owns each operation rather than forming an inferred helper pipeline. The graph also shows the documented GitHub API, area configuration, public-key verification, temporary artifact handling, and final filesystem extraction. The public key and runtime destination are documented resources but are not present in the sampled tree.
Components 16
Webhook Ingress
- Runtime Bootstrap
main.go - Deploy Endpoint
main.go - Deploy Handler
main.go - Area Configuration
areas.json - Safe Path Resolver
main.go
Artifact Handling
- GitHub Actions API
- Artifact Downloader
main.go - Downloaded ZIP
- ZIP Extractor
main.go - Deployment Tarball
Deployment Security
- Signature Verifier
main.go - Minisign Public Key
- Minisign Library
Deployment Output
- Tarball Extractor
main.go - Deployment Filesystem
Other components
- GitHub Actions CI
Connections 20
- GitHub Actions CI → Deploy Endpoint: posts payload
- Runtime Bootstrap → Area Configuration: loads config
- Runtime Bootstrap → Deploy Endpoint: registers route
- Deploy Endpoint → Deploy Handler: dispatches request
- Deploy Handler → Safe Path Resolver: resolves destination
- Safe Path Resolver → Area Configuration: reads aliases
- Deploy Handler → Artifact Downloader: downloads artifact
- Artifact Downloader → GitHub Actions API: fetches artifact
- Artifact Downloader → Downloaded ZIP: writes temporary ZIP
- Deploy Handler → ZIP Extractor: extracts archive
- ZIP Extractor → Downloaded ZIP: reads ZIP
- ZIP Extractor → Deployment Tarball: writes tarball
- Deploy Handler → Minisign Public Key: reads key
- Deploy Handler → Signature Verifier: verifies tarball
- Signature Verifier → Deployment Tarball: reads data
- Signature Verifier → Minisign Library: checks signature
- Deploy Handler → Deployment Filesystem: clears destination
- Deploy Handler → Tarball Extractor: extracts deployment
- Tarball Extractor → Deployment Tarball: reads tarball
- Tarball Extractor → Deployment Filesystem: writes files