|
| 1 | +# MCP Center Helm Chart Deployment Guide |
| 2 | + |
| 3 | +## Deployment Options |
| 4 | + |
| 5 | +### Option 1: Using Built-in PostgreSQL (Recommended for Development/Testing) |
| 6 | + |
| 7 | +```bash |
| 8 | +# Deploy with default configuration (includes PostgreSQL) |
| 9 | +helm install mcp-center . --create-namespace --namespace mcp-center |
| 10 | +``` |
| 11 | + |
| 12 | +### Option 2: Using External PostgreSQL (Recommended for Production) |
| 13 | + |
| 14 | +1. Copy the example configuration file: |
| 15 | +```bash |
| 16 | +cp values-external-postgres.yaml my-values.yaml |
| 17 | +``` |
| 18 | + |
| 19 | +2. Edit the configuration file and set your PostgreSQL connection information: |
| 20 | +```yaml |
| 21 | +postgresql: |
| 22 | + enabled: false |
| 23 | + |
| 24 | +externalPostgresql: |
| 25 | + host: "your-postgres-host.example.com" |
| 26 | + port: 5432 |
| 27 | + username: "mcpcenter" |
| 28 | + password: "your-secure-password" |
| 29 | + database: "mcpcenter" |
| 30 | +``` |
| 31 | +
|
| 32 | +3. Deploy with custom configuration: |
| 33 | +```bash |
| 34 | +helm install mcp-center . -f my-values.yaml --create-namespace --namespace mcp-center |
| 35 | +``` |
| 36 | + |
| 37 | +## Configuration |
| 38 | + |
| 39 | +### PostgreSQL Configuration |
| 40 | + |
| 41 | +- `postgresql.enabled`: Whether to enable built-in PostgreSQL |
| 42 | + - `true`: Use built-in PostgreSQL (requires storage class support) |
| 43 | + - `false`: Use external PostgreSQL |
| 44 | + |
| 45 | +### External PostgreSQL Configuration |
| 46 | + |
| 47 | +When `postgresql.enabled: false`, configure the following parameters: |
| 48 | + |
| 49 | +- `externalPostgresql.host`: PostgreSQL server address |
| 50 | +- `externalPostgresql.port`: PostgreSQL port (default 5432) |
| 51 | +- `externalPostgresql.username`: Database username |
| 52 | +- `externalPostgresql.password`: Database password (stored securely in Kubernetes Secret) |
| 53 | +- `externalPostgresql.database`: Database name |
| 54 | + |
| 55 | +### MCP Admin Token Configuration |
| 56 | + |
| 57 | +- `mcpAdminToken`: 32-character random string for MCP admin authentication |
| 58 | + - Default: Auto-generated 32-character random string |
| 59 | + - Custom: You can set your own token in values.yaml |
| 60 | + |
| 61 | +## Environment Variables |
| 62 | + |
| 63 | +The application will automatically receive the following environment variables: |
| 64 | + |
| 65 | +- `POSTGRES_HOST`: PostgreSQL host address |
| 66 | +- `POSTGRES_PORT`: PostgreSQL port |
| 67 | +- `POSTGRES_USERNAME`: Database username |
| 68 | +- `POSTGRES_PASSWORD`: Database password |
| 69 | +- `POSTGRES_DATABASE`: Database name |
| 70 | +- `MCP_ADMIN_TOKEN`: 32-character random string for admin authentication |
| 71 | + |
| 72 | +## Troubleshooting |
| 73 | + |
| 74 | +### Built-in PostgreSQL Cannot Start |
| 75 | +- Check if the cluster has available storage classes |
| 76 | +- Check if there is sufficient storage space |
| 77 | +- View Pod logs: `kubectl logs -n mcp-center <pod-name>` |
| 78 | + |
| 79 | +### External PostgreSQL Connection Failed |
| 80 | +- Check network connectivity |
| 81 | +- Verify if PostgreSQL service is accessible |
| 82 | +- Check if username, password, and database name are correct |
0 commit comments