Rename blob_claude_key to generic blob_key for storing multiple secrets
This commit is contained in:
@@ -38,7 +38,7 @@ The installer automatically exposes scripts from the `scripts/` directory as glo
|
|||||||
- **`blob_glass [on|off|toggle]`**: A quick toggle to enable or disable window transparency on the fly.
|
- **`blob_glass [on|off|toggle]`**: A quick toggle to enable or disable window transparency on the fly.
|
||||||
- **`blob_boot [path]`**: Safely updates your Plymouth boot splash image (defaults to `branding/boot_flash.png`) and rebuilds the `initramfs` (GRUB compatible via `mkinitcpio`).
|
- **`blob_boot [path]`**: Safely updates your Plymouth boot splash image (defaults to `branding/boot_flash.png`) and rebuilds the `initramfs` (GRUB compatible via `mkinitcpio`).
|
||||||
- **`blob_wifi`**: A streamlined script to connect to the GMU Eduroam Wi-Fi network using `iwd` and `systemd-resolved` (replaces NetworkManager).
|
- **`blob_wifi`**: A streamlined script to connect to the GMU Eduroam Wi-Fi network using `iwd` and `systemd-resolved` (replaces NetworkManager).
|
||||||
- **`blob_claude_key <set|show|clear>`**: Stores your Claude Console Admin API key (`sk-ant-admin01-...`), used by the Claude Code Usage card in the quick settings panel to pull daily token and cost stats.
|
- **`blob_key <set|show|clear|list> [NAME] [VALUE]`**: Stores secrets/env values for widgets and services, e.g. `blob_key set ANTHROPIC_ADMIN_KEY sk-ant-admin01-...` for the Claude Code Usage card in the quick settings panel.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
KEY_FILE="$HOME/.config/ags/secrets/anthropic_admin_key"
|
KEY_FILE="$HOME/.config/ags/secrets/ANTHROPIC_ADMIN_KEY"
|
||||||
|
|
||||||
if [ ! -f "$KEY_FILE" ]; then
|
if [ ! -f "$KEY_FILE" ]; then
|
||||||
echo '{"available":false,"tokens":0,"costUsd":0}'
|
echo '{"available":false,"tokens":0,"costUsd":0}'
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
KEY_FILE="$HOME/.config/ags/secrets/anthropic_admin_key"
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage: blob_claude_key <set|show|clear>"
|
|
||||||
echo " set <key> Store your Anthropic Admin API key (sk-ant-admin01-...)"
|
|
||||||
echo " show Print the stored key, masked"
|
|
||||||
echo " clear Remove the stored key"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
set)
|
|
||||||
key="$2"
|
|
||||||
if [ -z "$key" ]; then
|
|
||||||
echo "Usage: blob_claude_key set <key>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
mkdir -p "$(dirname "$KEY_FILE")"
|
|
||||||
printf '%s' "$key" > "$KEY_FILE"
|
|
||||||
chmod 600 "$KEY_FILE"
|
|
||||||
echo "Admin key saved to $KEY_FILE"
|
|
||||||
;;
|
|
||||||
show)
|
|
||||||
if [ -f "$KEY_FILE" ]; then
|
|
||||||
key=$(cat "$KEY_FILE")
|
|
||||||
echo "${key:0:14}...${key: -4}"
|
|
||||||
else
|
|
||||||
echo "No admin key stored"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
clear)
|
|
||||||
rm -f "$KEY_FILE"
|
|
||||||
echo "Admin key removed"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
usage
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
Executable
+59
@@ -0,0 +1,59 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SECRETS_DIR="$HOME/.config/ags/secrets"
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage: blob_key <set|show|clear|list> [NAME] [VALUE]"
|
||||||
|
echo " set <NAME> <VALUE> Store a secret (e.g. ANTHROPIC_ADMIN_KEY)"
|
||||||
|
echo " show <NAME> Print a stored secret, masked"
|
||||||
|
echo " clear <NAME> Remove a stored secret"
|
||||||
|
echo " list List the names of stored secrets"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
set)
|
||||||
|
name="$2"
|
||||||
|
value="$3"
|
||||||
|
if [ -z "$name" ] || [ -z "$value" ]; then
|
||||||
|
echo "Usage: blob_key set <NAME> <VALUE>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
mkdir -p "$SECRETS_DIR"
|
||||||
|
printf '%s' "$value" > "$SECRETS_DIR/$name"
|
||||||
|
chmod 600 "$SECRETS_DIR/$name"
|
||||||
|
echo "Saved $name to $SECRETS_DIR/$name"
|
||||||
|
;;
|
||||||
|
show)
|
||||||
|
name="$2"
|
||||||
|
if [ -z "$name" ]; then
|
||||||
|
echo "Usage: blob_key show <NAME>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -f "$SECRETS_DIR/$name" ]; then
|
||||||
|
value=$(cat "$SECRETS_DIR/$name")
|
||||||
|
echo "${value:0:6}...${value: -4}"
|
||||||
|
else
|
||||||
|
echo "No key stored for $name"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
clear)
|
||||||
|
name="$2"
|
||||||
|
if [ -z "$name" ]; then
|
||||||
|
echo "Usage: blob_key clear <NAME>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rm -f "$SECRETS_DIR/$name"
|
||||||
|
echo "Removed $name"
|
||||||
|
;;
|
||||||
|
list)
|
||||||
|
if [ -d "$SECRETS_DIR" ]; then
|
||||||
|
ls -1 "$SECRETS_DIR"
|
||||||
|
else
|
||||||
|
echo "No keys stored"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
Reference in New Issue
Block a user