@auxot/cli 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2417,7 +2417,8 @@ import { writeFileSync, mkdirSync } from "node:fs";
2417
2417
  import { join } from "node:path";
2418
2418
  import { createInterface } from "node:readline";
2419
2419
  import { tmpdir } from "node:os";
2420
- var DEFAULT_MODEL = "Qwen3-30B-A3B-Instruct-2507";
2420
+ import { randomBytes as randomBytes2 } from "node:crypto";
2421
+ var DEFAULT_MODEL = "Qwen3-Coder-30B-A3B";
2421
2422
  var DOCKER_IMAGE = "ghcr.io/auxothq/auxot-router";
2422
2423
  var args = process.argv.slice(2);
2423
2424
  var command = args[0];
@@ -2458,7 +2459,7 @@ async function main() {
2458
2459
  async function runSetup() {
2459
2460
  const fly = getFlag("fly");
2460
2461
  const model = getOption("model") || DEFAULT_MODEL;
2461
- const appName = getOption("app") || "auxot-router";
2462
+ const appName = getOption("app") || `auxot-${randomBytes2(6).toString("hex")}`;
2462
2463
  console.log("Generating keys...\n");
2463
2464
  const adminKey = await generateAdminKey();
2464
2465
  const apiKey = await generateAPIKey();
@@ -2473,25 +2474,72 @@ async function runSetup() {
2473
2474
  console.log("# API Key (give to API callers):");
2474
2475
  console.log(`# ${apiKey.key}`);
2475
2476
  console.log("#");
2477
+ console.log(`# Change APP_NAME to customize your deployment:`);
2478
+ console.log("#");
2479
+ console.log(`export APP_NAME="${appName}"`);
2480
+ console.log();
2476
2481
  console.log("# Step 1: Create your Fly app");
2477
2482
  console.log("#");
2478
- console.log(`fly apps create ${appName}`);
2483
+ console.log(`fly apps create $APP_NAME`);
2484
+ console.log();
2485
+ console.log("# Step 2: Write fly.toml");
2486
+ console.log("#");
2487
+ console.log(`cat > fly.toml << EOF`);
2488
+ console.log(`app = "$APP_NAME"`);
2489
+ console.log(`primary_region = 'iad'`);
2490
+ console.log();
2491
+ console.log(`[http_service]`);
2492
+ console.log(` internal_port = 8080`);
2493
+ console.log(` force_https = true`);
2494
+ console.log(` auto_stop_machines = 'off'`);
2495
+ console.log(` auto_start_machines = true`);
2496
+ console.log(` min_machines_running = 1`);
2497
+ console.log();
2498
+ console.log(` [[http_service.checks]]`);
2499
+ console.log(` grace_period = '10s'`);
2500
+ console.log(` interval = '30s'`);
2501
+ console.log(` method = 'GET'`);
2502
+ console.log(` timeout = '5s'`);
2503
+ console.log(` path = '/health'`);
2504
+ console.log();
2505
+ console.log(`[vm]`);
2506
+ console.log(` cpu_kind = 'shared'`);
2507
+ console.log(` cpus = 1`);
2508
+ console.log(` memory_mb = 256`);
2509
+ console.log(`EOF`);
2479
2510
  console.log();
2480
- console.log("# Step 2: Set secrets");
2511
+ console.log("# Step 3: Set secrets");
2481
2512
  console.log("#");
2482
2513
  console.log(`fly secrets set \\`);
2483
2514
  console.log(` AUXOT_ADMIN_KEY_HASH='${adminKey.hash}' \\`);
2484
2515
  console.log(` AUXOT_API_KEY_HASH='${apiKey.hash}' \\`);
2485
2516
  console.log(` AUXOT_MODEL='${model}' \\`);
2486
- console.log(` -a ${appName}`);
2517
+ console.log(` -a $APP_NAME`);
2487
2518
  console.log();
2488
- console.log("# Step 3: Deploy");
2519
+ console.log("# Step 4: Deploy");
2489
2520
  console.log("#");
2490
- console.log(`fly deploy --image ${DOCKER_IMAGE}:latest -a ${appName}`);
2521
+ console.log(`fly deploy --image ${DOCKER_IMAGE}:latest --ha=false -a $APP_NAME`);
2491
2522
  console.log();
2492
- console.log("# Step 4: Connect a GPU worker");
2523
+ console.log("# Step 5: Connect a GPU worker");
2524
+ console.log("#");
2525
+ console.log("# Run this on the machine with your GPU. This is a long-running process");
2526
+ console.log("# that must stay running for inference to work.");
2527
+ console.log("#");
2528
+ console.log(`npx @auxot/worker-cli --gpu-key ${adminKey.key} --router-url wss://$APP_NAME.fly.dev/ws`);
2529
+ console.log();
2530
+ console.log("# Step 6: Configure your tools");
2531
+ console.log("#");
2532
+ console.log("# Point any OpenAI or Anthropic-compatible tool at your router:");
2533
+ console.log("#");
2534
+ console.log("# OpenAI-compatible base URL:");
2535
+ console.log(`# https://$APP_NAME.fly.dev/api/openai`);
2536
+ console.log("#");
2537
+ console.log("# Anthropic-compatible base URL:");
2538
+ console.log(`# https://$APP_NAME.fly.dev/api/anthropic`);
2539
+ console.log("#");
2540
+ console.log(`# API Key: ${apiKey.key}`);
2493
2541
  console.log("#");
2494
- console.log(`npx @auxot/worker-cli --gpu-key ${adminKey.key} --router wss://${appName}.fly.dev/ws`);
2542
+ console.log("# Works with: Claude Code, Cursor, Open WebUI, LangChain, etc.");
2495
2543
  console.log();
2496
2544
  } else {
2497
2545
  console.log("=== GPU KEY (for workers) ===");
@@ -2620,7 +2668,7 @@ primary_region = '${region}'
2620
2668
  console.log(` API Key: ${apiKey.key}`);
2621
2669
  console.log();
2622
2670
  console.log(" Connect a GPU worker:");
2623
- console.log(` npx @auxot/worker-cli --gpu-key ${adminKey.key} --router wss://${appName}.fly.dev/ws`);
2671
+ console.log(` npx @auxot/worker-cli --gpu-key ${adminKey.key} --router-url wss://${appName}.fly.dev/ws`);
2624
2672
  console.log();
2625
2673
  console.log(" Send a request:");
2626
2674
  console.log(` curl https://${appName}.fly.dev/api/openai/v1/chat/completions \\`);
@@ -2644,10 +2692,10 @@ function printHelp() {
2644
2692
  Usage:
2645
2693
  npx @auxot/cli setup Generate keys and print env vars
2646
2694
  npx @auxot/cli setup --fly Print complete Fly.io deploy steps
2647
- npx @auxot/cli setup --fly --app X Use custom app name (default: auxot-router)
2695
+ npx @auxot/cli setup --fly --app X Use custom app name (default: auxot-<random>)
2648
2696
  npx @auxot/cli setup --model NAME Use a specific model (default: ${DEFAULT_MODEL})
2649
2697
  npx @auxot/cli deploy Deploy auxot-router to Fly.io (interactive)
2650
- npx @auxot/cli deploy --app NAME App name (default: auxot-router)
2698
+ npx @auxot/cli deploy --app NAME App name (prompted if not given)
2651
2699
  npx @auxot/cli deploy --region RGN Fly.io region (default: iad)
2652
2700
  npx @auxot/cli deploy --model NAME Model to serve
2653
2701
  npx @auxot/cli help Print this help