chore: add VPS auto-deploy workflow, remove API key section from Endpoint page

- Add deploy-vps.yml: auto-deploys via SSH after Docker Hub publish
- Remove API key management section from Endpoint page (now in API Manager)
- Remove unused Link import from EndpointPageClient.tsx
This commit is contained in:
diegosouzapw
2026-02-23 17:20:26 -03:00
parent ce6d7dc6bf
commit b87af5d053
2 changed files with 44 additions and 19 deletions

44
.github/workflows/deploy-vps.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Deploy to VPS
on:
workflow_run:
workflows: ["Publish to Docker Hub"]
types: [completed]
workflow_dispatch:
jobs:
deploy:
if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }}
name: Deploy OmniRoute to VPS
runs-on: ubuntu-latest
steps:
- name: Install Tailscale
uses: tailscale/github-action@v3
with:
oauth-client-id: ""
oauth-secret: ""
tags: tag:ci-deploy
continue-on-error: true
- name: Deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
port: 22
timeout: 30s
script: |
echo "=== Updating OmniRoute ==="
npm install -g omniroute@latest 2>&1
INSTALLED_VERSION=$(omniroute --version 2>/dev/null || echo "unknown")
echo "Installed version: $INSTALLED_VERSION"
echo "=== Restarting PM2 ==="
pm2 restart omniroute || pm2 start omniroute --name omniroute -- --port 20128
pm2 save
echo "=== Health Check ==="
sleep 3
curl -sf http://localhost:20128/api/settings > /dev/null && echo "✅ OmniRoute is healthy" || echo "❌ Health check failed"
echo "=== Deploy complete ==="

View File

@@ -5,7 +5,6 @@ import PropTypes from "prop-types";
import { Card, Button, Input, Modal, CardSkeleton } from "@/shared/components";
import { useCopyToClipboard } from "@/shared/hooks/useCopyToClipboard";
import { AI_PROVIDERS, getProviderByAlias } from "@/shared/constants/providers";
import Link from "next/link";
const CLOUD_URL = process.env.NEXT_PUBLIC_CLOUD_URL;
const CLOUD_ACTION_TIMEOUT_MS = 15000;
@@ -395,24 +394,6 @@ export default function APIPageClient({ machineId }) {
{copied === "endpoint_url" ? "Copied!" : "Copy"}
</Button>
</div>
{/* Link to API Manager */}
<div className="flex items-center gap-3 p-4 border border-border rounded-lg mt-4 bg-surface/30">
<div className="flex items-center justify-center size-10 rounded-lg bg-amber-500/10 shrink-0">
<span className="material-symbols-outlined text-xl text-amber-500">vpn_key</span>
</div>
<div className="flex-1 min-w-0">
<p className="font-semibold text-sm">API Key Management</p>
<p className="text-xs text-text-muted">
Create and manage API keys for authenticating requests
</p>
</div>
<Link href="/dashboard/api-manager">
<Button size="sm" variant="secondary" icon="arrow_forward">
Manage Keys
</Button>
</Link>
</div>
</Card>
{/* Available Endpoints */}