This Terraform module deploys the Lunar MCPX application onto a Kubernetes cluster, providing a straightforward, ready-to-use deployment solution.
- To customize deployment variables, including MCPX configuration files (
app.yaml
,mcp.json
), refer to basic example.
- Customizable readiness and liveness probes
- Optional metrics collection with Prometheus annotations
- Resource allocation controls (CPU/memory)
- External secrets via
secret_ref
- Integration with control plane
- Optional Docker-in-Docker support
Name | Version |
---|---|
kubernetes | >= 2.30 |
Name | Description | Type | Default | Required |
---|---|---|---|---|
app_config | App configuration. Contents of this variable will be used to create 'app.yaml' configuration | any |
{ |
no |
control_plane | Control plane configuration | object({ |
{ |
no |
docker_in_docker_enabled | Enable Docker-in-Docker | bool |
false |
no |
healthcheck_path | Health check path | string |
"/healthcheck" |
no |
image_pull_policy | Image pull policy | string |
"IfNotPresent" |
no |
image_repository | Container image repository | string |
"us-central1-docker.pkg.dev/prj-common-442813/mcpx/mcpx" |
no |
image_tag | Container image tag | string |
"0.1.6" |
no |
liveness_probe | Liveness probe configuration | object({ |
{ |
no |
log_level | Log level | string |
"info" |
no |
mcp_target_servers_config | MCP configuration. Contents of this variable will be used to create 'mcp.json' configuration | any |
{ |
no |
metrics_enabled | Enable metrics collection | bool |
true |
no |
metrics_port | Metrics port | number |
3000 |
no |
name | Name of the deployment | string |
"lunar-mcpx" |
no |
namespace | Kubernetes namespace | string |
"default" |
no |
readiness_probe | Readiness probe configuration | object({ |
{ |
no |
replica_count | Number of replicas | number |
1 |
no |
resources | Resource limits and requests | object({ |
{ |
no |
secret_ref | Secret reference configuration | object({ |
{ |
no |
service_port | Service port | number |
9000 |
no |
service_type | Kubernetes service type | string |
"LoadBalancer" |
no |
Name | Description |
---|---|
config_map_name | Name of the Kubernetes ConfigMap |
deployment_name | Name of the Kubernetes deployment |
metrics_port | Metrics port (if enabled) |
namespace | Kubernetes namespace |
service_name | Name of the Kubernetes service |
service_port | Service port |