Link Project
Local folder ↔ host ↔ remote path. One click.
A deploy panel is in 1.1.0. Approval applies to proposed steps. Git-push rollback restores a previous revision, not a whole server.
3a9f1c2ahead8b1d227ahead8c0d44adeployede0f1a55deployed5d2c910deployedgit push bastion main2.1spost-receive → deploy.sh4.8ssystemctl reload php8.3-fpmawaitingcurl -fsS http://localhost/healthzqueuedDeploy lives in the main Bastion shell (sidebar or host-scoped tab), not inside the AI chat only.
Local folder ↔ host ↔ remote path. One click.
See local commit vs server deployed revision.
Preview exactly what would go live before you approve.
rsync, git push, or SFTP, with a policy set per profile.
Build + restart + health check, executed through a Plan Card.
A deploy log is part of the design. Rollback is not guaranteed.
Sync, build, restart, and hook installs go through the same approval contract as Bastion AI executes. Step-by-step mode is the default for elevated risk.
.env, keys, and credentials are excluded from sync by default.
local: main @ 3a9f1c2 (just now)
remote: main @ 8c0d44a (12 min ago)
diff: 2 commits, 1 file changed
Plan (deploy):
1. rsync --exclude .env → /var/www/api
2. systemctl reload php8.3-fpm
3. curl -fsS http://localhost/healthz
[Approve] [Edit] [Reject]
D1 can ship with rsync via local shell before v1.1 SFTP. SFTP improves browse and partial sync UX but is not strictly required for the rsync-based MVP.
$ rsync -az --exclude .env \
~/projects/api/ \
root@workshop-01:/var/www/api/
sending incremental file list
api/routes/login.js
api/middleware/ratelimit.js
sent 4,812 bytes received 84 bytes 2,448.00 bytes/sec$ git push bastion main Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Writing objects: 100% (3/3), 312 bytes | 312.00 KiB/s remote: post-receive: deploying 3a9f1c2… remote: post-receive: build ok remote: post-receive: reloading php-fpm
Link a local project to a host; show local vs server revision.
rsync/scp deploy path. Deploy audit. Basic Plan Card pipeline.
Bare repo on the server, push + post-receive hook, rollback.
Deploy mode in AI, health checks, workspace binding.
Every deploy leaves a trail. Every plan is reproducible. Every rollback is one click.
Local Git commits sync to the server's bare repo via post-receive hook. No GitHub required.
The deploy log streams live status from the host. Health checks gate the next step.
One click rewinds the server's HEAD to the previous known-good revision. Reapply later, on demand.
Questions about deploy are sent to hello@bastionterminal.com. This site does not store the message.