Skip to content

Commit c14ce48

Browse files
committed
Revert "feat: add config subcommand to manage API keys (#231)"
This reverts commit abdbafa.
1 parent abdbafa commit c14ce48

1 file changed

Lines changed: 1 addition & 330 deletions

File tree

all-in-one/get-ai-gateway.sh

Lines changed: 1 addition & 330 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,14 @@ COMMAND_START="start"
3838
COMMAND_STOP="stop"
3939
COMMAND_DELETE="delete"
4040
COMMAND_ROUTE="route"
41-
COMMAND_CONFIG="config"
42-
KNOWN_COMMANDS=($COMMAND_START, $COMMAND_STOP, $COMMAND_DELETE, $COMMAND_ROUTE, $COMMAND_CONFIG)
41+
KNOWN_COMMANDS=($COMMAND_START, $COMMAND_STOP, $COMMAND_DELETE, $COMMAND_ROUTE)
4342

4443
# Route subcommands
4544
ROUTE_ADD="add"
4645
ROUTE_LIST="list"
4746
ROUTE_REMOVE="remove"
4847
KNOWN_ROUTE_SUBCOMMANDS=($ROUTE_ADD, $ROUTE_LIST, $ROUTE_REMOVE)
4948

50-
# Config subcommands
51-
CONFIG_ADD="add"
52-
CONFIG_LIST="list"
53-
CONFIG_REMOVE="remove"
54-
KNOWN_CONFIG_SUBCOMMANDS=($CONFIG_ADD, $CONFIG_LIST, $CONFIG_REMOVE)
55-
5649
cd "$(dirname -- "$0")"
5750
ROOT="$(pwd -P)/higress"
5851
SCRIPT_DIR="$(pwd -P)"
@@ -291,15 +284,6 @@ parseArgs() {
291284
ROUTE_RULE_ID="$2"
292285
shift 2
293286
;;
294-
# Config command options
295-
--provider)
296-
CONFIG_PROVIDER="$2"
297-
shift 2
298-
;;
299-
--key)
300-
CONFIG_KEY="$2"
301-
shift 2
302-
;;
303287
-* | --*)
304288
echo "Unknown option $1"
305289
exit 1
@@ -338,24 +322,6 @@ parseArgs() {
338322
exit 1
339323
fi
340324
fi
341-
342-
# Parse config subcommand
343-
if [ "$COMMAND" == "$COMMAND_CONFIG" ]; then
344-
if [ ${#POSITIONAL_ARGS[@]} -gt 0 ]; then
345-
CONFIG_SUBCOMMAND="${POSITIONAL_ARGS[0]}"
346-
else
347-
CONFIG_SUBCOMMAND=""
348-
fi
349-
if [ -z "$CONFIG_SUBCOMMAND" ]; then
350-
echo "Config subcommand required: add, list, remove"
351-
exit 1
352-
fi
353-
if [[ ! ${KNOWN_CONFIG_SUBCOMMANDS[@]} =~ "$CONFIG_SUBCOMMAND" ]]; then
354-
echo "Unknown config subcommand: $CONFIG_SUBCOMMAND"
355-
echo "Available: add, list, remove"
356-
exit 1
357-
fi
358-
fi
359325
}
360326

361327
configure() {
@@ -881,18 +847,12 @@ Commands:
881847
stop Stop the gateway
882848
delete Delete the gateway container
883849
route Manage auto-routing rules (see below)
884-
config Manage API key configuration (see below)
885850
886851
Route Subcommands:
887852
route add Add a new routing rule
888853
route list List all routing rules
889854
route remove Remove a routing rule by ID
890855
891-
Config Subcommands:
892-
config add Add or update an API key
893-
config list List all configured API keys
894-
config remove Remove an API key
895-
896856
Options:
897857
-h, --help Show this help message
898858
@@ -917,10 +877,6 @@ Route Options (for route add/remove):
917877
--pattern REGEX Custom regex pattern (alternative to --trigger)
918878
--rule-id ID Rule ID to remove (required for remove)
919879
920-
Config Options (for config add/remove):
921-
--provider PROVIDER Provider name (dashscope, deepseek, moonshot, etc.)
922-
--key KEY API key to set (required for add)
923-
924880
LLM Provider API Keys:
925881
--dashscope-key KEY Aliyun Dashscope (Qwen) API key
926882
--deepseek-key KEY DeepSeek API key
@@ -975,15 +931,6 @@ Examples:
975931
976932
# Remove a routing rule
977933
./get-ai-gateway.sh route remove --rule-id 0
978-
979-
# List all configured API keys
980-
./get-ai-gateway.sh config list
981-
982-
# Add or update an API key
983-
./get-ai-gateway.sh config add --provider deepseek --key sk-xxx
984-
985-
# Remove an API key
986-
./get-ai-gateway.sh config remove --provider deepseek
987934
'
988935
}
989936

@@ -1197,279 +1144,6 @@ delete() {
11971144
fi
11981145
}
11991146

1200-
# ============================================================================
1201-
# Config Command Functions
1202-
# ============================================================================
1203-
1204-
# Get provider name from environment variable name
1205-
getProviderName() {
1206-
local env_var="$1"
1207-
case "$env_var" in
1208-
DASHSCOPE_API_KEY) echo "Aliyun Dashscope (Qwen)" ;;
1209-
DEEPSEEK_API_KEY) echo "DeepSeek" ;;
1210-
MOONSHOT_API_KEY) echo "Moonshot (Kimi)" ;;
1211-
ZHIPUAI_API_KEY) echo "Zhipu AI" ;;
1212-
OPENAI_API_KEY) echo "OpenAI" ;;
1213-
OPENROUTER_API_KEY) echo "OpenRouter" ;;
1214-
CLAUDE_API_KEY) echo "Claude" ;;
1215-
GEMINI_API_KEY) echo "Google Gemini" ;;
1216-
GROQ_API_KEY) echo "Groq" ;;
1217-
DOUBAO_API_KEY) echo "Doubao" ;;
1218-
BAICHUAN_API_KEY) echo "Baichuan AI" ;;
1219-
YI_API_KEY) echo "01.AI (Yi)" ;;
1220-
STEPFUN_API_KEY) echo "Stepfun" ;;
1221-
MINIMAX_API_KEY) echo "Minimax" ;;
1222-
COHERE_API_KEY) echo "Cohere" ;;
1223-
MISTRAL_API_KEY) echo "Mistral AI" ;;
1224-
GITHUB_API_KEY) echo "Github Models" ;;
1225-
FIREWORKS_API_KEY) echo "Fireworks AI" ;;
1226-
TOGETHERAI_API_KEY) echo "Together AI" ;;
1227-
GROK_API_KEY) echo "Grok" ;;
1228-
*) echo "Unknown ($env_var)" ;;
1229-
esac
1230-
}
1231-
1232-
# Get environment variable name from provider shorthand
1233-
getEnvVarName() {
1234-
local provider="$1"
1235-
case "$provider" in
1236-
dashscope|qwen) echo "DASHSCOPE_API_KEY" ;;
1237-
deepseek) echo "DEEPSEEK_API_KEY" ;;
1238-
moonshot|kimi) echo "MOONSHOT_API_KEY" ;;
1239-
zhipuai|zhipu) echo "ZHIPUAI_API_KEY" ;;
1240-
openai) echo "OPENAI_API_KEY" ;;
1241-
openrouter) echo "OPENROUTER_API_KEY" ;;
1242-
claude) echo "CLAUDE_API_KEY" ;;
1243-
gemini) echo "GEMINI_API_KEY" ;;
1244-
groq) echo "GROQ_API_KEY" ;;
1245-
doubao) echo "DOUBAO_API_KEY" ;;
1246-
baichuan) echo "BAICHUAN_API_KEY" ;;
1247-
yi) echo "YI_API_KEY" ;;
1248-
stepfun) echo "STEPFUN_API_KEY" ;;
1249-
minimax) echo "MINIMAX_API_KEY" ;;
1250-
cohere) echo "COHERE_API_KEY" ;;
1251-
mistral) echo "MISTRAL_API_KEY" ;;
1252-
github) echo "GITHUB_API_KEY" ;;
1253-
fireworks) echo "FIREWORKS_API_KEY" ;;
1254-
togetherai|together) echo "TOGETHERAI_API_KEY" ;;
1255-
grok) echo "GROK_API_KEY" ;;
1256-
*) echo "" ;;
1257-
esac
1258-
}
1259-
1260-
# Mask API key for display
1261-
maskApiKey() {
1262-
local key="$1"
1263-
if [ -z "$key" ]; then
1264-
echo "<not set>"
1265-
return
1266-
fi
1267-
local len=${#key}
1268-
if [ $len -le 8 ]; then
1269-
echo "${key:0:2}***"
1270-
else
1271-
echo "${key:0:4}***${key: -4}"
1272-
fi
1273-
}
1274-
1275-
# Config list: List all configured API keys
1276-
configList() {
1277-
local config_file="$ROOT/$CONFIG_FILENAME"
1278-
1279-
if [ ! -f "$config_file" ]; then
1280-
echo "Error: Configuration file not found: $config_file"
1281-
echo "Please start the gateway first with: $0 start"
1282-
exit 1
1283-
fi
1284-
1285-
echo "Current LLM Provider API Keys:"
1286-
echo
1287-
1288-
# List of known API key environment variables
1289-
local api_keys=(
1290-
"DASHSCOPE_API_KEY"
1291-
"DEEPSEEK_API_KEY"
1292-
"MOONSHOT_API_KEY"
1293-
"ZHIPUAI_API_KEY"
1294-
"OPENAI_API_KEY"
1295-
"OPENROUTER_API_KEY"
1296-
"CLAUDE_API_KEY"
1297-
"GEMINI_API_KEY"
1298-
"GROQ_API_KEY"
1299-
"DOUBAO_API_KEY"
1300-
"BAICHUAN_API_KEY"
1301-
"YI_API_KEY"
1302-
"STEPFUN_API_KEY"
1303-
"MINIMAX_API_KEY"
1304-
"COHERE_API_KEY"
1305-
"MISTRAL_API_KEY"
1306-
"GITHUB_API_KEY"
1307-
"FIREWORKS_API_KEY"
1308-
"TOGETHERAI_API_KEY"
1309-
"GROK_API_KEY"
1310-
)
1311-
1312-
local found=0
1313-
for env_var in "${api_keys[@]}"; do
1314-
local value=$(grep "^${env_var}=" "$config_file" | cut -d'=' -f2-)
1315-
if [ -n "$value" ]; then
1316-
local provider_name=$(getProviderName "$env_var")
1317-
local masked=$(maskApiKey "$value")
1318-
printf " %-25s %s\n" "$provider_name:" "$masked"
1319-
found=1
1320-
fi
1321-
done
1322-
1323-
if [ $found -eq 0 ]; then
1324-
echo " No API keys configured."
1325-
echo
1326-
echo "Add an API key with:"
1327-
echo " $0 config add --provider <provider> --key <api-key>"
1328-
else
1329-
echo
1330-
echo "Update an API key with:"
1331-
echo " $0 config add --provider <provider> --key <new-api-key>"
1332-
echo
1333-
echo "Remove an API key with:"
1334-
echo " $0 config remove --provider <provider>"
1335-
fi
1336-
}
1337-
1338-
# Config add: Add or update an API key
1339-
configAdd() {
1340-
if [ -z "$CONFIG_PROVIDER" ]; then
1341-
echo "Error: --provider is required"
1342-
echo
1343-
echo "Supported providers:"
1344-
echo " dashscope, deepseek, moonshot, zhipuai, openai, openrouter,"
1345-
echo " claude, gemini, groq, doubao, baichuan, yi, stepfun, minimax,"
1346-
echo " cohere, mistral, github, fireworks, togetherai, grok"
1347-
echo
1348-
echo "Usage: $0 config add --provider <provider> --key <api-key>"
1349-
exit 1
1350-
fi
1351-
1352-
if [ -z "$CONFIG_KEY" ]; then
1353-
echo "Error: --key is required"
1354-
echo "Usage: $0 config add --provider <provider> --key <api-key>"
1355-
exit 1
1356-
fi
1357-
1358-
local config_file="$ROOT/$CONFIG_FILENAME"
1359-
1360-
if [ ! -f "$config_file" ]; then
1361-
echo "Error: Configuration file not found: $config_file"
1362-
echo "Please start the gateway first with: $0 start"
1363-
exit 1
1364-
fi
1365-
1366-
local env_var=$(getEnvVarName "$CONFIG_PROVIDER")
1367-
if [ -z "$env_var" ]; then
1368-
echo "Error: Unknown provider: $CONFIG_PROVIDER"
1369-
echo
1370-
echo "Supported providers:"
1371-
echo " dashscope, deepseek, moonshot, zhipuai, openai, openrouter,"
1372-
echo " claude, gemini, groq, doubao, baichuan, yi, stepfun, minimax,"
1373-
echo " cohere, mistral, github, fireworks, togetherai, grok"
1374-
exit 1
1375-
fi
1376-
1377-
local provider_name=$(getProviderName "$env_var")
1378-
1379-
# Check if the key already exists
1380-
if grep -q "^${env_var}=" "$config_file"; then
1381-
echo "Updating existing API key for $provider_name..."
1382-
sedInPlace "/^${env_var}=/c\\${env_var}=${CONFIG_KEY}" "$config_file"
1383-
else
1384-
echo "Adding new API key for $provider_name..."
1385-
echo "${env_var}=${CONFIG_KEY}" >> "$config_file"
1386-
fi
1387-
1388-
if [ $? -eq 0 ]; then
1389-
echo
1390-
echo "✅ API key updated successfully!"
1391-
echo
1392-
echo "Provider: $provider_name"
1393-
echo "Key: $(maskApiKey "$CONFIG_KEY")"
1394-
echo
1395-
echo "Restart the gateway to apply changes:"
1396-
echo " $0 stop && $0 start"
1397-
else
1398-
echo "Error: Failed to update configuration file"
1399-
exit 1
1400-
fi
1401-
}
1402-
1403-
# Config remove: Remove an API key
1404-
configRemove() {
1405-
if [ -z "$CONFIG_PROVIDER" ]; then
1406-
echo "Error: --provider is required"
1407-
echo "Usage: $0 config remove --provider <provider>"
1408-
exit 1
1409-
fi
1410-
1411-
local config_file="$ROOT/$CONFIG_FILENAME"
1412-
1413-
if [ ! -f "$config_file" ]; then
1414-
echo "Error: Configuration file not found: $config_file"
1415-
echo "Please start the gateway first with: $0 start"
1416-
exit 1
1417-
fi
1418-
1419-
local env_var=$(getEnvVarName "$CONFIG_PROVIDER")
1420-
if [ -z "$env_var" ]; then
1421-
echo "Error: Unknown provider: $CONFIG_PROVIDER"
1422-
echo
1423-
echo "Supported providers:"
1424-
echo " dashscope, deepseek, moonshot, zhipuai, openai, openrouter,"
1425-
echo " claude, gemini, groq, doubao, baichuan, yi, stepfun, minimax,"
1426-
echo " cohere, mistral, github, fireworks, togetherai, grok"
1427-
exit 1
1428-
fi
1429-
1430-
local provider_name=$(getProviderName "$env_var")
1431-
1432-
# Check if the key exists
1433-
if ! grep -q "^${env_var}=" "$config_file"; then
1434-
echo "Error: No API key configured for $provider_name"
1435-
echo
1436-
echo "Current configuration:"
1437-
echo " $0 config list"
1438-
exit 1
1439-
fi
1440-
1441-
# Remove the key
1442-
sedInPlace "/^${env_var}=/d" "$config_file"
1443-
1444-
if [ $? -eq 0 ]; then
1445-
echo
1446-
echo "✅ API key removed successfully!"
1447-
echo
1448-
echo "Provider: $provider_name"
1449-
echo
1450-
echo "Restart the gateway to apply changes:"
1451-
echo " $0 stop && $0 start"
1452-
else
1453-
echo "Error: Failed to update configuration file"
1454-
exit 1
1455-
fi
1456-
}
1457-
1458-
# Config command dispatcher
1459-
config() {
1460-
case "$CONFIG_SUBCOMMAND" in
1461-
"$CONFIG_ADD")
1462-
configAdd
1463-
;;
1464-
"$CONFIG_LIST")
1465-
configList
1466-
;;
1467-
"$CONFIG_REMOVE")
1468-
configRemove
1469-
;;
1470-
esac
1471-
}
1472-
14731147
# ============================================================================
14741148
# Route Command Functions
14751149
# ============================================================================
@@ -1785,7 +1459,4 @@ case $COMMAND in
17851459
"$COMMAND_ROUTE")
17861460
route
17871461
;;
1788-
"$COMMAND_CONFIG")
1789-
config
1790-
;;
17911462
esac

0 commit comments

Comments
 (0)