7.5 KiB
7.5 KiB
DevOps Plugin - Configuration Management
You are managing DevOps configuration settings.
Task: Manage Configuration
The user wants to view or modify DevOps configuration.
Step 1: Check for Configuration
- Check if
.devops/config.jsonexists - If not and command is not
set:Then STOP.❌ DevOps not initialized 💡 Run /devops:init to create configuration
Step 2: Parse Config Command
Parse subcommand:
/devops:config- Show current configuration/devops:config get {key}- Get specific config value/devops:config set {key} {value}- Set config value/devops:config list- List all configuration keys/devops:config validate- Validate configuration/devops:config export- Export configuration/devops:config import {file}- Import configuration
Step 3: Show Configuration
For /devops:config (default):
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config get --all
Display:
⚙️ DevOps Configuration
Platform: {platform}
Environment: {environment}
Region: {region}
Deployment:
Strategy: {strategy}
Auto-deploy: {auto_deploy}
Rollback-on-failure: {rollback_enabled}
CI/CD:
Platform: {cicd_platform}
Auto-build: {auto_build}
Branch: {default_branch}
Secrets:
Mode: {secrets_mode}
Provider: {secrets_provider}
Encrypted: {is_encrypted}
Infrastructure:
Type: {infra_type}
Auto-scale: {auto_scale}
Min instances: {min_instances}
Max instances: {max_instances}
Monitoring:
Enabled: {monitoring_enabled}
Alerts: {alerts_enabled}
Log retention: {log_retention} days
Configuration file: .devops/config.json
Last updated: {last_updated}
💡 Modify: /devops:config set {key} {value}
💡 Validate: /devops:config validate
Step 4: Get Specific Config Value
For /devops:config get {key}:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config get --key "{key}"
Display:
{key}: {value}
Example:
$ /devops:config get platform
platform: aws
Step 5: Set Config Value
For /devops:config set {key} {value}:
-
Validate key exists:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config validate-key --key "{key}" -
If invalid key:
❌ Invalid configuration key: {key} Valid keys: - platform (aws, gcp, azure, netlify, vercel) - environment (dev, staging, production) - region (cloud-specific regions) - cicd_platform (github-actions, jenkins, netlify, vercel) - secrets_mode (local, aws, gcp, azure, manual) - auto_deploy (true, false) - auto_scale (true, false)Then STOP.
-
Set value:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config set \ --key "{key}" \ --value "{value}" -
Show confirmation:
✓ Configuration updated {key}: {old_value} → {new_value} 💡 Validate: /devops:config validate
Step 6: Validate Configuration
For /devops:config validate:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config validate
Display validation results:
🔍 Validating configuration...
Platform Configuration:
✓ Platform: aws (valid)
✓ Region: us-east-1 (valid)
✓ Credentials: configured
CI/CD Configuration:
✓ Platform: github-actions (valid)
⚠️ Auto-build: disabled (recommended: true)
✓ Branch: main (exists)
Secrets Configuration:
✓ Mode: aws (valid)
✓ Provider: AWS Secrets Manager (accessible)
✓ Encryption: enabled
Infrastructure Configuration:
✓ Type: full-stack (valid)
✓ Auto-scale: enabled
⚠️ Max instances: 10 (high cost warning)
✓ Min instances: 2 (valid)
Overall: Valid with 2 warnings
💡 Fix warnings or continue with current config
Step 7: Export Configuration
For /devops:config export:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config export \
--output ".devops/config-export-{timestamp}.json"
Show:
✓ Configuration exported
File: .devops/config-export-{timestamp}.json
Size: {size} KB
Exported settings:
- Platform configuration
- CI/CD settings
- Infrastructure config
- Monitoring settings
⚠️ Note: Secrets are NOT exported (security)
💡 Import to another project: /devops:config import {file}
Step 8: Import Configuration
For /devops:config import {file}:
-
Validate import file exists
-
Show preview:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config preview-import \ --file "{file}" -
Display changes:
📥 Configuration Import Preview File: {file} Settings to import: {count} Changes: - platform: {current} → {new} - region: {current} → {new} - cicd_platform: {current} → {new} New settings: + monitoring_enabled: true + log_retention: 30 ⚠️ This will overwrite current configuration -
Ask: "Import this configuration?"
- If no, STOP
- If yes, import
-
Import:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config import \ --file "{file}" \ --backup -
Show result:
✓ Configuration imported Backup saved: .devops/config-backup-{timestamp}.json Active config: .devops/config.json 💡 Validate: /devops:config validate 💡 Restore backup if needed: /devops:config import {backup_file}
Step 9: List All Keys
For /devops:config list:
node ${CLAUDE_PLUGIN_ROOT}/cli/devops-cli.js config list-keys
Display:
⚙️ Available Configuration Keys
Platform:
- platform (aws, gcp, azure, netlify, vercel)
- region (cloud-specific)
- environment (dev, staging, production)
Deployment:
- deployment_strategy (rolling, blue-green, canary)
- auto_deploy (true, false)
- rollback_on_failure (true, false)
- health_check_enabled (true, false)
CI/CD:
- cicd_platform (github-actions, jenkins, netlify, vercel)
- auto_build (true, false)
- default_branch (branch name)
- build_timeout (seconds)
Secrets:
- secrets_mode (local, aws, gcp, azure, manual)
- secrets_provider (provider name)
- encryption_enabled (true, false)
Infrastructure:
- infra_type (compute, serverless, static, full-stack)
- auto_scale (true, false)
- min_instances (number)
- max_instances (number)
- instance_type (instance size)
Monitoring:
- monitoring_enabled (true, false)
- alerts_enabled (true, false)
- log_retention (days)
- metrics_retention (days)
💡 Get value: /devops:config get {key}
💡 Set value: /devops:config set {key} {value}
Configuration Schema:
The .devops/config.json file structure:
{
"version": "1.0",
"platform": "aws",
"environment": "production",
"region": "us-east-1",
"deployment": {
"strategy": "rolling",
"auto_deploy": false,
"rollback_on_failure": true,
"health_check_enabled": true
},
"cicd": {
"platform": "github-actions",
"auto_build": true,
"default_branch": "main",
"build_timeout": 600
},
"secrets": {
"mode": "aws",
"provider": "AWS Secrets Manager",
"encryption_enabled": true
},
"infrastructure": {
"type": "full-stack",
"auto_scale": true,
"min_instances": 2,
"max_instances": 10,
"instance_type": "t3.medium"
},
"monitoring": {
"enabled": true,
"alerts_enabled": true,
"log_retention": 30,
"metrics_retention": 90
}
}
IMPORTANT:
- Configuration changes take effect immediately
- Always validate after making changes
- Backup created automatically on import
- Secrets are never stored in config.json
- Platform-specific settings validated against cloud APIs