mirror of
https://github.com/github/awesome-copilot.git
synced 2026-04-11 02:35:55 +00:00
116 lines
4.4 KiB
Markdown
116 lines
4.4 KiB
Markdown
# ax Profile Setup
|
|
|
|
Consult this when authentication fails (401, missing profile, missing API key). Do NOT run these checks proactively.
|
|
|
|
Use this when there is no profile, or a profile has incorrect settings (wrong API key, wrong region, etc.).
|
|
|
|
## 1. Inspect the current state
|
|
|
|
```bash
|
|
ax profiles show
|
|
```
|
|
|
|
Look at the output to understand what's configured:
|
|
- `API Key: (not set)` or missing → key needs to be created/updated
|
|
- No profile output or "No profiles found" → no profile exists yet
|
|
- Connected but getting `401 Unauthorized` → key is wrong or expired
|
|
- Connected but wrong endpoint/region → region needs to be updated
|
|
|
|
## 2. Fix a misconfigured profile
|
|
|
|
If a profile exists but one or more settings are wrong, patch only what's broken.
|
|
|
|
**Never pass a raw API key value as a flag.** Always reference it via the `ARIZE_API_KEY` environment variable. If the variable is not already set in the shell, instruct the user to set it first, then run the command:
|
|
|
|
```bash
|
|
# If ARIZE_API_KEY is already exported in the shell:
|
|
ax profiles update --api-key $ARIZE_API_KEY
|
|
|
|
# Fix the region (no secret involved — safe to run directly)
|
|
ax profiles update --region us-east-1b
|
|
|
|
# Fix both at once
|
|
ax profiles update --api-key $ARIZE_API_KEY --region us-east-1b
|
|
```
|
|
|
|
`update` only changes the fields you specify — all other settings are preserved. If no profile name is given, the active profile is updated.
|
|
|
|
## 3. Create a new profile
|
|
|
|
If no profile exists, or if the existing profile needs to point to a completely different setup (different org, different region):
|
|
|
|
**Always reference the key via `$ARIZE_API_KEY`, never inline a raw value.**
|
|
|
|
```bash
|
|
# Requires ARIZE_API_KEY to be exported in the shell first
|
|
ax profiles create --api-key $ARIZE_API_KEY
|
|
|
|
# Create with a region
|
|
ax profiles create --api-key $ARIZE_API_KEY --region us-east-1b
|
|
|
|
# Create a named profile
|
|
ax profiles create work --api-key $ARIZE_API_KEY --region us-east-1b
|
|
```
|
|
|
|
To use a named profile with any `ax` command, add `-p NAME`:
|
|
```bash
|
|
ax spans export PROJECT_ID -p work
|
|
```
|
|
|
|
## 4. Getting the API key
|
|
|
|
**Never ask the user to paste their API key into the chat. Never log, echo, or display an API key value.**
|
|
|
|
If `ARIZE_API_KEY` is not already set, instruct the user to export it in their shell:
|
|
|
|
```bash
|
|
export ARIZE_API_KEY="..." # user pastes their key here in their own terminal
|
|
```
|
|
|
|
They can find their key at https://app.arize.com/admin > API Keys. Recommend they create a **scoped service key** (not a personal user key) — service keys are not tied to an individual account and are safer for programmatic use. Keys are space-scoped — make sure they copy the key for the correct space.
|
|
|
|
Once the user confirms the variable is set, proceed with `ax profiles create --api-key $ARIZE_API_KEY` or `ax profiles update --api-key $ARIZE_API_KEY` as described above.
|
|
|
|
## 5. Verify
|
|
|
|
After any create or update:
|
|
|
|
```bash
|
|
ax profiles show
|
|
```
|
|
|
|
Confirm the API key and region are correct, then retry the original command.
|
|
|
|
## Space ID
|
|
|
|
There is no profile flag for space ID. Save it as an environment variable:
|
|
|
|
**macOS/Linux** — add to `~/.zshrc` or `~/.bashrc`:
|
|
```bash
|
|
export ARIZE_SPACE_ID="U3BhY2U6..."
|
|
```
|
|
Then `source ~/.zshrc` (or restart terminal).
|
|
|
|
**Windows (PowerShell):**
|
|
```powershell
|
|
[System.Environment]::SetEnvironmentVariable('ARIZE_SPACE_ID', 'U3BhY2U6...', 'User')
|
|
```
|
|
Restart terminal for it to take effect.
|
|
|
|
## Save Credentials for Future Use
|
|
|
|
At the **end of the session**, if the user manually provided any credentials during this conversation **and** those values were NOT already loaded from a saved profile or environment variable, offer to save them.
|
|
|
|
**Skip this entirely if:**
|
|
- The API key was already loaded from an existing profile or `ARIZE_API_KEY` env var
|
|
- The space ID was already set via `ARIZE_SPACE_ID` env var
|
|
- The user only used base64 project IDs (no space ID was needed)
|
|
|
|
**How to offer:** Use **AskQuestion**: *"Would you like to save your Arize credentials so you don't have to enter them next time?"* with options `"Yes, save them"` / `"No thanks"`.
|
|
|
|
**If the user says yes:**
|
|
|
|
1. **API key** — Run `ax profiles show` to check the current state. Then run `ax profiles create --api-key $ARIZE_API_KEY` or `ax profiles update --api-key $ARIZE_API_KEY` (the key must already be exported as an env var — never pass a raw key value).
|
|
|
|
2. **Space ID** — See the Space ID section above to persist it as an environment variable.
|