Enhancement Request: Interactive Configuration for Existing Deploy Command
Problem
The current catalyst-packs deploy command shows "WARNING: Deployment functionality is under development" but the infrastructure is already in place. Users face configuration challenges like:
- Variable name mismatches (
SPLUNK_USER vs SPLUNK_USERNAME)
- Manual
.env file editing prone to errors
- No validation of API connectivity during setup
- Docker networking confusion (localhost vs host.docker.internal)
- Missing environment variables causing deployment failures
Current Architecture Analysis
Existing Infrastructure (Ready to Enhance):
- ✅
catalyst-packs deploy CLI command structure exists
- ✅ Environment file handling (
--env-file option) implemented
- ✅
DeploymentTarget and DeploymentOptions classes defined
- ✅ Pack parsing and validation system working
- ✅
catalyst_mcp integration with MCPConfig.from_env()
- ✅ Template scaffolding and pack discovery systems
Proposed Enhancement
Complete the existing deploy command implementation with interactive configuration mode:
New CLI Options
# Current (partially implemented)
catalyst-packs deploy splunk_enterprise --env-file .env --target docker
# Enhanced interactive modes
catalyst-packs deploy splunk_enterprise --interactive
catalyst-packs deploy splunk_enterprise --configure-only
catalyst-packs configure --pack splunk_enterprise # New subcommand alternative
Interactive Configuration Flow
🔧 Catalyst Pack Deployment Configuration
📦 Pack: splunk_enterprise (v1.0.0)
🎯 Target: Docker (catalyst-mcp container)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 Discovered required variables from pack.yaml:
- SPLUNK_URL, SPLUNK_USERNAME, SPLUNK_PASSWORD
- SPLUNK_VERIFY_SSL, SPLUNK_DEFAULT_INDEX
📋 Pack Configuration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Splunk Server URL [https://localhost:8089]: https://host.docker.internal:8089
💡 Using host.docker.internal for Docker deployment
Splunk Username [admin]: admin
Splunk Password: ••••••••••••••
SSL Verification [false]: false
Default Index [main]: main
✅ Testing connection to https://host.docker.internal:8089... Success!
✅ Authentication verified for user: admin
✅ Index 'main' accessible
🤖 AI Model Configuration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Anthropic API Key: sk-ant-api03-...
✅ Testing Anthropic API... Success!
💾 Configuration Summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Pack: splunk_enterprise validated
✅ Target: Docker container ready
✅ Environment: 8 variables configured
✅ Connectivity: All services reachable
Save configuration to .env? [Y/n]: y
Deploy pack now? [Y/n]: y
🚀 Deploying pack...
✅ Pack validated successfully
✅ Environment configured
✅ MCP server restarted
✅ 54 tools loaded and ready
🎉 Deployment complete! Chat interface: http://localhost:3081
Implementation Strategy
Phase 1: Environment Discovery & Validation
- Enhance
_deploy_pack() in cli.py to parse pack.yaml for {VARIABLE_NAME} patterns
- Use existing
PackValidator to identify required environment variables
- Integrate with
MCPConfig.validate() for connectivity testing
Phase 2: Interactive Configuration
- Add
--interactive flag to existing deploy command
- Use libraries like
click for prompts and rich for enhanced output
- Leverage existing
DeploymentOptions.env_file handling
- Smart defaults based on
DeploymentTarget.type (Docker vs local)
Phase 3: Real-time Validation
- Test API connectivity during configuration (like current MCP config validation)
- Validate pack structure before deployment
- Pre-flight checks using existing validation infrastructure
Phase 4: Deployment Integration
- Complete the existing deployment handlers (
DockerDeploymentHandler, etc.)
- Use existing
PackInstaller for actual deployment
- Integrate with MCP server restart/reload mechanisms
Benefits
- Builds on existing architecture - no new tools or dependencies
- Completes half-implemented features - deploy command becomes fully functional
- Maintains consistency - uses existing CLI patterns and validation
- Immediate value - addresses real configuration pain points experienced during testing
- Backward compatible - existing
--env-file usage continues to work
Files to Enhance
catalyst_pack_schemas/cli.py - Complete _deploy_pack() implementation
catalyst_pack_schemas/installer.py - Enhance deployment handlers
catalyst_pack_schemas/utils.py - Add environment variable discovery
- Add new
catalyst_pack_schemas/interactive.py - Interactive configuration logic
Use Cases Addressed
- ✅ New users deploying their first pack
- ✅ Troubleshooting configuration mismatches
- ✅ Docker networking setup automation
- ✅ API key validation before deployment
- ✅ Team onboarding with guided setup
- ✅ Environment migration (dev → staging → prod)
This enhancement completes the existing deployment infrastructure while solving real user configuration challenges discovered during recent Splunk pack deployment and testing.
Related Issues
This addresses configuration problems encountered in catalyst_mcp deployment testing, specifically variable name mismatches and Docker networking issues that required manual troubleshooting.
Enhancement Request: Interactive Configuration for Existing Deploy Command
Problem
The current
catalyst-packs deploycommand shows "WARNING: Deployment functionality is under development" but the infrastructure is already in place. Users face configuration challenges like:SPLUNK_USERvsSPLUNK_USERNAME).envfile editing prone to errorsCurrent Architecture Analysis
Existing Infrastructure (Ready to Enhance):
catalyst-packs deployCLI command structure exists--env-fileoption) implementedDeploymentTargetandDeploymentOptionsclasses definedcatalyst_mcpintegration withMCPConfig.from_env()Proposed Enhancement
Complete the existing
deploycommand implementation with interactive configuration mode:New CLI Options
Interactive Configuration Flow
Implementation Strategy
Phase 1: Environment Discovery & Validation
_deploy_pack()incli.pyto parse pack.yaml for{VARIABLE_NAME}patternsPackValidatorto identify required environment variablesMCPConfig.validate()for connectivity testingPhase 2: Interactive Configuration
--interactiveflag to existing deploy commandclickfor prompts andrichfor enhanced outputDeploymentOptions.env_filehandlingDeploymentTarget.type(Docker vs local)Phase 3: Real-time Validation
Phase 4: Deployment Integration
DockerDeploymentHandler, etc.)PackInstallerfor actual deploymentBenefits
--env-fileusage continues to workFiles to Enhance
catalyst_pack_schemas/cli.py- Complete_deploy_pack()implementationcatalyst_pack_schemas/installer.py- Enhance deployment handlerscatalyst_pack_schemas/utils.py- Add environment variable discoverycatalyst_pack_schemas/interactive.py- Interactive configuration logicUse Cases Addressed
This enhancement completes the existing deployment infrastructure while solving real user configuration challenges discovered during recent Splunk pack deployment and testing.
Related Issues
This addresses configuration problems encountered in catalyst_mcp deployment testing, specifically variable name mismatches and Docker networking issues that required manual troubleshooting.