Overview
The YAML Editor provides a powerful in-browser editing experience for Kubernetes manifests. Built on Monaco Editor (the same editor powering VS Code), it offers syntax highlighting, auto-completion, and real-time validation.
Opening the Editor
Access the YAML editor from several places:- Deployment Detail
- Repository Browser
- List View
Click “Edit YAML” button on deployment detail page
1
Navigate to Deployment
Go to Deployments → Click deployment name
2
Click Edit YAML
Button in top-right of detail page
3
Editor Opens
Modal displays full YAML manifest
Editor Features
Syntax Highlighting
Colored by token type:
- Blue: Keys (metadata, spec, containers)
- Green: String values
- Orange: Numbers and booleans
- Gray: Comments
- Red: Syntax errors
Auto-completion
Intelligent suggestions:
Key Suggestions
Key Suggestions
Type partial key name for suggestions:
Resource Types
Resource Types
Kubernetes resource type suggestions:
Enum Values
Enum Values
Known value suggestions:
Snippets
Snippets
Common patterns:Type
container → Full container template
Type probe → Health probe template
Type volume → Volume mount template- Automatic after typing
- Manual:
Ctrl+Space(Windows/Linux) orCmd+Space(Mac)
Error Detection
Real-time validation:
- Syntax Errors
- Schema Errors
- Hover for Details
Red squiggly underlines for YAML syntax issuesExamples:
- Invalid indentation
- Missing colons
- Quote mismatch
- Invalid characters
Code Actions
Right-click for quick actions:Quick Fixes
Quick Fixes
Automatic fixes for common issuesExample:
Refactoring
Refactoring
Code improvements:
- Extract to ConfigMap
- Move to Secret
- Add resource limits
Go to Definition
Go to Definition
Jump to resource definitions:
- ConfigMap reference → View ConfigMap
- Secret reference → View Secret
Keyboard Shortcuts
| Action | Windows/Linux | Mac |
|---|---|---|
| Save | Ctrl+S | Cmd+S |
| Find | Ctrl+F | Cmd+F |
| Replace | Ctrl+H | Cmd+H |
| Undo | Ctrl+Z | Cmd+Z |
| Redo | Ctrl+Y | Cmd+Shift+Z |
| Comment Line | Ctrl+/ | Cmd+/ |
| Format Document | Shift+Alt+F | Shift+Option+F |
| Go to Line | Ctrl+G | Cmd+G |
| Multi-cursor | Alt+Click | Option+Click |
| Select All Occurrences | Ctrl+Shift+L | Cmd+Shift+L |
Multi-cursor Editing
Edit multiple locations simultaneously:1
Add Cursors
- Alt+Click to add cursor
- Ctrl+Alt+↑/↓ to add cursor above/below
2
Select Occurrences
- Ctrl+D to select next occurrence
- Ctrl+Shift+L to select all occurrences
3
Edit
Type to edit all selected locations at once
nginx:1.20 to nginx:1.21:
- Select
nginx:1.20 - Press Ctrl+Shift+L
- Type
nginx:1.21
Common Editing Tasks
Update Container Image
- Find Image
- Change Tag
- Save Changes
Search for
image: in YAMLAdd Environment Variable
Update Resource Limits
Add Health Probes
Change Replica Count
File Matching
Orphelix can automatically find the YAML file in your repository:
AI-Powered Matching
Requires: OpenAI API key configured in settings1
Analyze Deployment
Extracts:
- Deployment name
- Namespace
- Labels
- Container images
2
Scan Repository
Reads files in repository:
- YAML files
- Kustomize bases
- Helm values
3
AI Matching
Uses GPT-4o-mini to:
- Compare deployment spec with files
- Calculate similarity scores
- Identify best match
4
Present Results
Shows matched file with confidence score:
Pattern-based Matching
Fallback method when AI unavailable: Matches by filename patterns:{deployment-name}.yamldeployment-{name}.yaml{name}-deployment.yamlk8s/{name}.yaml
Kustomize Support
Detects and handles Kustomize structure:
1
Detect Kustomize
Finds kustomization.yaml files
2
Show Tabs
Editor displays multiple tabs:
- Base:
base/deployment.yaml - Overlay:
overlays/production/deployment.yaml
3
Edit Both
Modify base or overlays as needed
4
Create Multi-file PR
Changes to multiple files in single PR
Creating Pull Requests
After editing, submit changes via GitHub:1
Review Changes
Editor shows diff of your modifications

- Green: Added lines
- Red: Removed lines
- Yellow: Modified lines
2
Add Commit Message
Enter descriptive commit message:
3
Select Branch
Choose branch strategy:
- Create New Branch
- Commit to Main
Recommended for productionBranch name:
update-myapp-v1.1.0Creates new branch → Opens PR4
Create PR
Click “Create Pull Request”Orphelix:
- Creates branch (if selected)
- Commits changes
- Opens PR on GitHub
- Returns PR URL
5
Review on GitHub
Click PR URL to view on GitHub:
- Review changes
- Request reviews from team
- Run CI/CD checks
- Merge when ready
PR Template
Orphelix auto-generates PR description:Best Practices
Small, Focused Changes
Small, Focused Changes
One logical change per PR:
- ✅ Update image tag
- ✅ Add health probe
- ❌ Update image + change replicas + add probes (too much!)
Descriptive Commit Messages
Descriptive Commit Messages
Clear, specific commit messages:✅ Good:❌ Bad:
Review Before Submitting
Review Before Submitting
Always review changes:
- Check diff for unintended modifications
- Verify indentation is correct
- Ensure no secrets are exposed
- Test in staging first
Use Branch Protection
Use Branch Protection
Configure GitHub branch protection:
- Require pull request reviews
- Require status checks
- Prevent force push to main
Link to Issues
Link to Issues
Reference related issues in PR:
Troubleshooting
File Not Found
Symptom: “Cannot find YAML file in repository” Solutions:-
Manual File Selection
- Click “Browse Files” button
- Navigate to correct file
- Select manually
-
Check Repository
- Verify correct repository selected
- Confirm file exists in repo
- Check branch (main vs master)
-
Update File Matching Settings
- Add custom file patterns in settings
- Configure OpenAI API key for AI matching
Permission Denied
Symptom: “Failed to create PR: permission denied” Check:-
GitHub App Permissions
- Contents: Read & Write
- Pull Requests: Read & Write
-
Repository Access
- Orphelix app installed on repository?
- Repository not archived/disabled?
-
Branch Protection
- Can create branches?
- PR allowed from fork?
Merge Conflicts
Symptom: PR shows merge conflicts Resolution:1
Fetch Latest
Pull latest changes from main
2
Resolve Conflicts
Open GitHub, resolve conflicts in UI
3
Alternative: Start Fresh
Close PR, fetch latest, make changes again