mirror of
https://github.com/domfelipe/mika-agent-assist.git
synced 2026-08-07 07:56:42 +00:00
Changes
Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com>
This commit is contained in:
parent
3b5137decd
commit
858b8f5189
2 changed files with 42 additions and 22 deletions
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import { createClient } from "https://esm.sh/@supabase/supabase-js@2.45.4";
|
||||
import { corsHeaders } from "../_shared/cors.ts";
|
||||
import { setRailwayReplicas } from "../_shared/railway.ts";
|
||||
import { setRailwayReplicas, getServiceEnvironmentId } from "../_shared/railway.ts";
|
||||
|
||||
const SUPABASE_URL = Deno.env.get("SUPABASE_URL")!;
|
||||
const SUPABASE_SERVICE_ROLE_KEY = Deno.env.get("SUPABASE_SERVICE_ROLE_KEY")!;
|
||||
|
|
@ -45,7 +45,7 @@ Deno.serve(async (req) => {
|
|||
|
||||
if (!agent) return jsonResponse(404, { error: "agent_instance not found" });
|
||||
|
||||
if (!agent.railway_service_id || !agent.vps_pool_id) {
|
||||
if (!agent.railway_service_id) {
|
||||
return jsonResponse(409, {
|
||||
error: "agent has no container — needs full provisioning instead",
|
||||
});
|
||||
|
|
@ -55,21 +55,31 @@ Deno.serve(async (req) => {
|
|||
return jsonResponse(200, { ok: true, already_active: true });
|
||||
}
|
||||
|
||||
const { data: pool } = await supabase
|
||||
.from("vps_pool")
|
||||
.select("railway_environment_id")
|
||||
.eq("id", agent.vps_pool_id)
|
||||
.maybeSingle();
|
||||
|
||||
if (!pool?.railway_environment_id) {
|
||||
return jsonResponse(500, { error: "pool environment not configured" });
|
||||
// Resolve environmentId: prioriza vps_pool, fallback para query no Railway
|
||||
let environmentId: string | null = null;
|
||||
if (agent.vps_pool_id) {
|
||||
const { data: pool } = await supabase
|
||||
.from("vps_pool")
|
||||
.select("railway_environment_id")
|
||||
.eq("id", agent.vps_pool_id)
|
||||
.maybeSingle();
|
||||
environmentId = pool?.railway_environment_id ?? null;
|
||||
}
|
||||
if (!environmentId) {
|
||||
environmentId = await getServiceEnvironmentId({
|
||||
token: RAILWAY_API_TOKEN,
|
||||
serviceId: agent.railway_service_id,
|
||||
});
|
||||
}
|
||||
if (!environmentId) {
|
||||
return jsonResponse(500, { error: "could not resolve railway environmentId" });
|
||||
}
|
||||
|
||||
try {
|
||||
await setRailwayReplicas({
|
||||
token: RAILWAY_API_TOKEN,
|
||||
serviceId: agent.railway_service_id,
|
||||
environmentId: pool.railway_environment_id,
|
||||
environmentId,
|
||||
replicas: 1,
|
||||
});
|
||||
} catch (e) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue