64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
# Kaigen Service Configuration
|
|
|
|
The Kaigen service is used for managing user credits during backtest operations. It requires proper configuration to function correctly.
|
|
|
|
## Environment Variables
|
|
|
|
### Required Environment Variable
|
|
|
|
- **`KAIGEN_PRIVATE_KEY`**: The private key used for signing API requests to the Kaigen service.
|
|
|
|
### Setting the Environment Variable
|
|
|
|
#### Development
|
|
```bash
|
|
export KAIGEN_PRIVATE_KEY="your-private-key-here"
|
|
```
|
|
|
|
#### Production
|
|
Set the environment variable in your deployment configuration:
|
|
```bash
|
|
KAIGEN_PRIVATE_KEY=your-private-key-here
|
|
```
|
|
|
|
#### Docker
|
|
```bash
|
|
docker run -e KAIGEN_PRIVATE_KEY=your-private-key-here your-app
|
|
```
|
|
|
|
#### Docker Compose
|
|
```yaml
|
|
environment:
|
|
- KAIGEN_PRIVATE_KEY=your-private-key-here
|
|
```
|
|
|
|
## Configuration Structure
|
|
|
|
The Kaigen service configuration is defined in `appsettings.json`:
|
|
|
|
```json
|
|
{
|
|
"Kaigen": {
|
|
"BaseUrl": "https://api.kaigen.managing.live",
|
|
"DebitEndpoint": "/api/credits/debit",
|
|
"RefundEndpoint": "/api/credits/refund",
|
|
"PrivateKey": "${KAIGEN_PRIVATE_KEY}"
|
|
}
|
|
}
|
|
```
|
|
|
|
## API Endpoints
|
|
|
|
- **PUT** `/api/credits/debit` - Debit credits from user account
|
|
- **PUT** `/api/credits/refund` - Refund credits to user account
|
|
|
|
## Security Notes
|
|
|
|
- The private key should never be committed to source control
|
|
- Use environment variables or secure configuration management systems
|
|
- The private key is used for signing API requests to ensure authenticity
|
|
- Rotate the private key regularly for enhanced security
|
|
|
|
## Error Handling
|
|
|
|
If the `KAIGEN_PRIVATE_KEY` environment variable is not set, the application will throw an `InvalidOperationException` with a clear error message during startup. |