Files
JC Beasley 9891d7e4d5 Weekly sync: July 12-19 changes
- 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
2026-07-19 08:49:43 -07:00

114 lines
3.3 KiB
Markdown

# Vault API Wrapper — Test Results
**Date:** July 16, 2026
**Wrapper:** `/home/jcbeasley/.openclaw/workspace/scripts/vault_api.py`
---
## ✅ Verified Working Services
### 1. Grist
```bash
python3 vault_api.py GET "https://grist.beawit.net" \
"/api/docs/wmBGUbgBveCdeY8fZ6T6eL/tables/Intune/records" \
"api/integration" "grist" "Bearer"
```
**Status:** ✅ Works (63 records)
**Header:** Bearer
### 2. NocoDB
```bash
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/infrastructure" "nocodb-token" "xc-token"
```
**Status:** ✅ Works (7 projects)
**Header:** xc-token
### 3. Qdrant
```bash
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/infrastructure" "qdrant-api-key" "api-key"
```
**Status:** ✅ Works (29 collections)
**Header:** api-key
### 4. Home Assistant
```bash
python3 vault_api.py GET "http://homeassistant.beawit.net:8123" \
"/api/" \
"api/integration" "homeassistant-api-key" "Bearer"
```
**Status:** ✅ Works (API running)
**Header:** Bearer
---
## ⚠️ Service-Specific Issues
### n8n
**Issue:** SSL/TLS SNI error — `n8n.beawit.net` certificate mismatch
**Workaround:** Use HTTP or correct hostname
### Odoo
**Issue:** Returns 400 — Odoo uses different auth mechanism (not simple Bearer tokens)
**Workaround:** Requires session-based auth or API key in specific format
---
## Vault Structure Summary
### api/infrastructure
| Token Key | Service | Status | Header |
|-----------|---------|--------|--------|
| gitea-token | Gitea | Not tested | — |
| metabase-api-key | Metabase | Not tested | — |
| metabase-password | Metabase | Not tested | — |
| nocodb-token | NocoDB | ✅ Works | xc-token |
| odoo-api-key | Odoo | ⚠️ 400 | Custom |
| qdrant-api-key | Qdrant | ✅ Works | api-key |
| rustfs-access-key | RustFS | Not tested | — |
| rustfs-secret-key | RustFS | Not tested | — |
### api/integration
| Token Key | Service | Status | Header |
|-----------|---------|--------|--------|
| grist | Grist | ✅ Works | Bearer |
| homeassistant-api-key | Home Assistant | ✅ Works | Bearer |
| n8n-api-key | n8n | ⚠️ SSL | Bearer |
| tavily-api-key | Tavily | Not tested | — |
### Other Categories
- `api/ai-ml` — kokoro, ollama, openai, serpapi
- `api/business` — hunter, invoiceninja, kimai
- `api/media` — freepik, json2video, pexels, youtube
- `api/monitoring` — uptime-kuma
---
## Usage Pattern
```bash
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_PATH> <TOKEN_KEY> [header_type] [payload_file]
```
**Parameters:**
- `METHOD`: GET, POST, PATCH
- `BASE_URL`: Service base URL (e.g., `https://grist.beawit.net`)
- `API_PATH`: API endpoint (e.g., `/api/docs/xxx/records`)
- `VAULT_PATH`: Vault category path (e.g., `api/infrastructure`)
- `TOKEN_KEY`: Specific token key within category (e.g., `nocodb-token`)
- `header_type`: Bearer, xc-token, api-key, X-Api-Key
---
## Next Steps
1. **Fix n8n SSL** — Certificate/hostname issue
2. **Fix Odoo auth** — Requires session-based or API key auth
3. **Test remaining services** — Metabase, Gitea, RustFS, etc.
4. **Add service-specific wrappers** — Some services need custom auth flows
The generic wrapper is **production-ready** for services that use standard token-based auth (Bearer, api-key, xc-token).