Update files
This commit is contained in:
parent
4900274887
commit
f7bcd16212
5 changed files with 0 additions and 2188 deletions
|
|
@ -124,12 +124,6 @@ Proxy container needs its own fail2ban for HTTP flood protection:
|
|||
|
||||
---
|
||||
|
||||
## Bot Compiler — Known Issues Fixed
|
||||
|
||||
**Tools without PARAM declarations** (e.g. `USE KB` only tools) were not getting `.mcp.json` generated, causing `USE TOOL` to silently skip them. Fixed in compiler: always generate `.mcp.json` even for parameterless tools.
|
||||
|
||||
---
|
||||
|
||||
## Git Workflow
|
||||
|
||||
Push to both remotes after every change:
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
# Config from Vault Plan - ALL COMPONENTS
|
||||
|
||||
## Goal
|
||||
ALL component configs read from Vault at runtime instead of hardcoded `InternalUrls`.
|
||||
|
||||
## Current State
|
||||
- Only `VAULT_ADDR` and `VAULT_TOKEN` in `.env`
|
||||
- ALL other configs hardcoded in `InternalUrls` (urls.rs)
|
||||
- Component credentials stored in Vault defaults but NOT read at runtime
|
||||
|
||||
## ALL Components to Update
|
||||
|
||||
| Component | Current Hardcoded | Vault Path | Keys Needed |
|
||||
|-----------|-----------------|------------|-------------|
|
||||
| **Drive** | `localhost:9100` | `secret/gbo/drive` | host, port, accesskey, secret |
|
||||
| **Database** | `localhost:5432` | `secret/gbo/tables` | host, port, database, username, password |
|
||||
| **Cache** | `localhost:6379` | `secret/gbo/cache` | host, port, password |
|
||||
| **Directory** | `localhost:8300` | `secret/gbo/directory` | url, project_id, client_id, client_secret |
|
||||
| **Email/SMTP** | `localhost:8025` | `secret/gbo/email` | smtp_host, smtp_port, smtp_user, smtp_password, smtp_from |
|
||||
| **LLM** | `localhost:8081` | `secret/gbo/llm` | url, model, openai_key, anthropic_key, ollama_url |
|
||||
| **LiveKit** | `localhost:7880` | `secret/gbo/meet` | url, app_id, app_secret |
|
||||
| **VectorDB** | `localhost:6334` | `secret/gbo/vectordb` | url, api_key |
|
||||
| **Embedding** | `localhost:8082` | `secret/gbo/embedding` | url |
|
||||
| **Qdrant** | `localhost:6334` | `secret/gbo/qdrant` | url, api_key |
|
||||
| **Forgejo** | `localhost:3000` | `secret/gbo/forgejo` | url, token |
|
||||
| **Observability** | `localhost:8086` | `secret/gbo/observability` | url, org, bucket, token |
|
||||
| **ALM** | `localhost:9000` | `secret/gbo/alm` | url, token, default_org |
|
||||
| **Cloud** | - | `secret/gbo/cloud` | region, access_key, secret_key |
|
||||
|
||||
## Implementation Steps
|
||||
|
||||
### Step 1: Modify `config/mod.rs`
|
||||
Change ALL configs to read from Vault.
|
||||
|
||||
**Before:**
|
||||
```rust
|
||||
let drive = DriveConfig {
|
||||
server: InternalUrls::DRIVE.to_string(),
|
||||
...
|
||||
};
|
||||
```
|
||||
|
||||
**After:**
|
||||
```rust
|
||||
let drive = DriveConfig {
|
||||
server: get_vault_or_default("gbo/drive", "host", "localhost:9100"),
|
||||
access_key: get_vault_or_default("gbo/drive", "accesskey", "minioadmin"),
|
||||
secret_key: get_vault_or_default("gbo/drive", "secret", "minioadmin"),
|
||||
};
|
||||
```
|
||||
|
||||
Same pattern for Database, Cache, Email, LLM, etc.
|
||||
|
||||
### Step 2: Add Helper Function
|
||||
Create in `secrets/mod.rs`:
|
||||
```rust
|
||||
pub fn get_vault_or_default(path: &str, key: &str, default: &str) -> String {
|
||||
// Try to get from Vault at runtime
|
||||
// Fallback to default if not found
|
||||
}
|
||||
```
|
||||
|
||||
### Step 3: Container Installer (`facade.rs`)
|
||||
When running `botserver install <component> --container`:
|
||||
1. Create container
|
||||
2. Install component
|
||||
3. **Store URL + credentials in Vault** (`secret/gbo/<component>`)
|
||||
4. Botserver reads from Vault at runtime
|
||||
|
||||
### Step 4: Default Values
|
||||
Keep defaults in `secrets/mod.rs` for fallback when Vault not available.
|
||||
|
||||
## Files to Modify
|
||||
- `src/core/config/mod.rs` - Read ALL from Vault
|
||||
- `src/core/secrets/mod.rs` - Add helper + keep defaults
|
||||
- `src/core/package_manager/facade.rs` - Container installer stores in Vault
|
||||
|
||||
## Test Commands
|
||||
```bash
|
||||
# Store ANY component config in Vault (secure interactive)
|
||||
botserver vault put gbo/drive
|
||||
botserver vault put gbo/tables
|
||||
botserver vault put gbo/cache
|
||||
|
||||
# Verify
|
||||
botserver vault get gbo/drive
|
||||
```
|
||||
|
||||
## Key Principle
|
||||
**Only VAULT_ADDR and VAULT_TOKEN in .env!**
|
||||
All other configs from Vault at runtime.
|
||||
2091
prompts/vib.md
2091
prompts/vib.md
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue