docs(features/ai-services): add Woodpecker production deployment instructions

- Add Production (Woodpecker CI/CD) section with secrets configuration
- List all required Woodpecker secrets for Mistral API
- Reference .woodpecker.yml and docker-compose.yml files
- Clarify development vs production configuration

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
Lasse Rune Hansen 2026-06-10 17:28:21 +02:00
parent 614682b422
commit 7b7ae98c31

View file

@ -93,6 +93,7 @@ As a learner, I want AI-powered features like generated stories, speech recognit
### Configuration Setup
#### Development (Local)
Add the following to your local `appsettings.Development.json` file:
```json
@ -112,8 +113,31 @@ Add the following to your local `appsettings.Development.json` file:
}
```
#### Production (Woodpecker CI/CD)
For production deployment via Woodpecker:
1. **Add secrets in Woodpecker UI:**
- Go to your repository settings in Woodpecker
- Add the following secrets:
- `MISTRAL_APIKEY` - Your Mistral API key
- `MISTRAL_BASEURL` - Base URL (default: `https://api.mistral.ai/v1/`)
- `MISTRAL_DEFAULTMODEL` - Default model (default: `mistral-medium`)
- `MISTRAL_TIMEOUTSECONDS` - Timeout in seconds (default: `30`)
- `MISTRAL_MAXRETRIES` - Max retry attempts (default: `3`)
- `MISTRAL_RATELIMITPERMINUTE` - Rate limit per minute (default: `10`)
- `MISTRAL_ENABLECACHING` - Enable caching (default: `true`)
- `MISTRAL_CACHETTLMINUTES` - Cache TTL in minutes (default: `60`)
- `MISTRAL_CIRCUITBREAKERFAILURETHRESHOLD` - Circuit breaker threshold (default: `5`)
- `MISTRAL_CIRCUITBREAKERRESETMINUTES` - Circuit breaker reset time (default: `1`)
2. **Secrets are automatically injected** via `.woodpecker.yml` and passed to docker compose as environment variables
**Note**: Do NOT commit your API key to version control. Use environment variables in production or keep it in local development configuration files only.
### Woodpecker Deployment Files
- `.woodpecker.yml` - CI/CD pipeline with secrets injection
- `docker-compose.yml` - Docker Compose with environment variable placeholders
### Data Flow
#### Story Generation Flow