- Updated DREAMS.md and MEMORY.md with new entries - Added daily dreaming session corpus (2026-07-05 through 2026-07-18) - Added deep/light/REM dream analysis files for July 6-19 - Added Intune rollout outputs for KMCC client - Added Vault API integration scripts and documentation - Added container update playbook (update-containers.yml) - Added .gitignore for generated/noise files
4.2 KiB
4.2 KiB
Vault API Integration Guide
Date: July 16, 2026
Purpose: Document generic API wrapper and Vault token storage
What's Been Built
Generic API Wrapper (vault_api.py)
Location: /home/jcbeasley/.openclaw/workspace/scripts/vault_api.py
Usage:
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_KEY> [header_type] [payload_file]
Examples:
# Grist (Bearer token - default)
python3 vault_api.py GET "https://grist.beawit.net" "/api/docs/..." "api/integration/grist"
# NocoDB (xc-token)
python3 vault_api.py GET "http://192.168.25.5:8080" "/api/..." "api/integration/nocodb" "xc-token"
# Generic service with X-Api-Key
python3 vault_api.py GET "https://api.example.com" "/endpoint" "api/integration/service" "X-Api-Key"
Supported Header Types:
Bearer(default) —Authorization: Bearer <token>xc-token—xc-token: <token>(NocoDB)X-Api-Key—X-Api-Key: <token>api-key—API-Key: <token>
Features:
- ✅ Self-healing Vault auth (auto-refreshes on expiry)
- ✅ No local token caching (fetches from Vault every time)
- ✅ SSL verification disabled for self-signed certs
- ✅ Supports GET, POST, PATCH
Current Vault Status
What's Available in Vault
Integration Tokens:
| Service | Vault Path | Status | Tested |
|---|---|---|---|
| Grist | kv/data/api/integration/grist |
✅ Available | ✅ Works |
| NocoDB | kv/data/api/integration/nocodb |
❌ Not Found | ❌ N/A |
| Qdrant | kv/data/api/integration/qdrant |
❓ Unknown | ❌ N/A |
| Metabase | kv/data/api/integration/metabase |
❓ Unknown | ❌ N/A |
| Odoo | kv/data/api/integration/odoo |
❓ Unknown | ❌ N/A |
| HomeAssistant | kv/data/api/integration/homeassistant |
❓ Unknown | ❌ N/A |
Other Vault Paths (from TOOLS.md):
kv/data/api/ai-ml— DeepSeek, Groq, OpenRouter, etc.kv/data/api/business— Stripe, Apollo, Hunter, etc.kv/data/api/communication— Discord, Twitter, etc.kv/data/api/infrastructure— NocoDB, Metabase, Qdrant, etc.kv/data/api/media— Pexels, YouTube, etc.kv/data/api/search— SerpAPI, Firecrawl, etc.
What's Missing / Needed
Tokens to Store in Vault
Based on your TOOLS.md, these tokens should be added to Vault under kv/data/api/integration/:
-
NocoDB Token
- URL:
http://192.168.25.5:8080 - Currently in TOOLS.md as:
[in vault: nocodb-token] - Need to verify it's actually stored at
kv/data/api/integration/nocodb
- URL:
-
Qdrant API Key
- URL:
http://192.168.19.17:6333 - Currently in TOOLS.md as:
[in vault: qdrant-api-key] - Path may be
kv/data/api/infrastructure/qdrant
- URL:
-
Metabase Password
- URL:
http://metabase.beawit.net:3000 - Currently in TOOLS.md as:
[in vault: metabase-password] - Path may be
kv/data/api/infrastructure/metabase
- URL:
-
Odoo API Key
- URL:
http://192.168.16.4:8069 - Currently in TOOLS.md as:
[in vault: odoo-api-key] - Path may be
kv/data/api/business/odoo
- URL:
How to Store Tokens in Vault
Step 1: Get Vault Token
export VAULT_TOKEN=$(curl -sk -X POST \
-d '{"role_id":"75d2dcfb-9c65-7f60-59b4-eee8c7f8dc0e","secret_id":"6202b465-2f25-547c-ec07-f47cfc4dda3e"}' \
"https://beavault.beawit.net:8200/v1/auth/approle/login" | jq -r '.auth.client_token')
Step 2: Store Service Token
# For NocoDB
curl -sk -X POST \
-H "X-Vault-Token: $VAULT_TOKEN" \
-d '{"data":{"token":"YOUR_NOCODB_TOKEN_HERE"}}' \
"https://beavault.beawit.net:8200/v1/kv/data/api/integration/nocodb"
# For Qdrant
curl -sk -X POST \
-H "X-Vault-Token: $VAULT_TOKEN" \
-d '{"data":{"token":"YOUR_QDRANT_KEY_HERE"}}' \
"https://beavault.beawit.net:8200/v1/kv/data/api/integration/qdrant"
Step 3: Verify
python3 vault_api.py GET "http://192.168.25.5:8080" "/api/v1/db/meta/projects" "api/integration/nocodb" "xc-token"
Next Steps
- Store remaining tokens in Vault — Add NocoDB, Qdrant, etc. to
api/integration/ - Test each service — Verify
vault_api.pyworks with all services - Document service-specific paths — Create mapping of services → Vault keys → header types
Want me to help store any specific tokens in Vault now?