Overview
Orphelix connects to Kubernetes clusters using your local kubeconfig file. Switch between multiple clusters and contexts seamlessly from the dashboard.
How Cluster Connection Works
Orphelix uses the standard Kubernetes authentication method:1
Read Kubeconfig
Loads
~/.kube/config on server startupLocation can be overridden with KUBECONFIG env var2
List Contexts
Extracts all available contexts from kubeconfigEach context represents a cluster + user + namespace combination
3
Select Context
User selects context from dropdown in header
4
Authenticate
Uses credentials from selected context:
- Client certificates
- Bearer tokens
- Cloud provider auth (AWS, GCP, Azure)
- Service account tokens
5
Connect to API Server
Establishes connection to Kubernetes API serverAll resource queries use this connection
Kubeconfig File
Standard Kubernetes configuration file:Location
- Default
- Custom
- Multiple Files
Path:
~/.kube/configStructure
Key Components
Clusters
Clusters
Kubernetes API server endpointsRequired fields:
server: API server URLcertificate-authority-data: CA certificate (or path)
insecure-skip-tls-verify: Skip TLS verification (not recommended)tls-server-name: Server name for TLS
Users
Users
Authentication credentialsMethods:
- Client certificates (cert + key)
- Bearer tokens
- Username + password (deprecated)
- Cloud provider auth plugins
- Exec plugins (custom auth)
Contexts
Contexts
Cluster + User + Namespace combinationFields:
cluster: Which cluster to connect touser: Which credentials to usenamespace: Default namespace (optional)
Context Selector
Switch contexts from the Orphelix header:
Features
Quick Switch
Click dropdown to change contexts instantly
Search
Filter contexts by name
Connection Status
Visual indicator shows connection health
Test Connection
Verify connectivity before switching
Context Display
Each context shows:- Name: Context identifier
- Cluster: Cluster name
- Server: API server URL (truncated)
- Namespace: Default namespace
- Status: Connection indicator
- 🟢 Connected: Active, healthy connection
- 🟡 Connecting: Establishing connection
- 🔴 Disconnected: Cannot connect
- ⚪ Unknown: Not yet tested
Switching Contexts
1
Click Context Dropdown
In the top header, click current context name
2
Select New Context
Click desired context from list
3
Wait for Connection
Orphelix connects to new cluster (1-2 seconds)
4
Page Refreshes
Data reloads for new cluster
- Deployments list updates
- Pods list updates
- Dashboard shows new cluster stats
Context selection persists across browser sessions (stored in cookies)
Testing Connection
Verify cluster connectivity before using:
Test Connection Dialog
1
Open Dialog
Click context dropdown → “Test Connection” button
2
Select Context
Choose context to test
3
Run Tests
Orphelix performs checks:
- DNS Resolution: Can resolve API server hostname?
- TCP Connection: Can reach API server port?
- TLS Handshake: Valid certificates?
- Authentication: Valid credentials?
- Authorization: Can list namespaces?
- API Version: Compatible Kubernetes version?
4
View Results
Each test shows:
- ✅ Pass: Test succeeded
- ❌ Fail: Test failed (with error message)
- ⏭️ Skipped: Test not applicable
Test Results
- All Pass
- Some Failures
- Complete Failure
Indicator: Green checkmark
Cluster Aliases
Give clusters friendly names:
Creating Aliases
1
Open Settings
Navigate to Settings → Cluster Configuration tab
2
Add Alias
Click “Add Alias” button
3
Configure Alias
- Context Name: Select from dropdown
- Friendly Name: Enter display name
- Icon: Choose emoji/icon (optional)
- Description: Add notes (optional)
4
Save
Click “Save” - alias appears in context selector
Alias Benefits
Readability
Readability
Replace long, cryptic context names with readable labelsBefore:
gke_my-project_us-central1-a_cluster-1After: 🌎 GKE ProductionSafety
Safety
Prevent accidental operations on wrong clusterClear visual distinction between prod/staging/dev
Team Consistency
Team Consistency
Everyone sees same cluster namesShared aliases configuration via settings file
Multi-Cluster Management
Manage multiple clusters simultaneously:Common Scenarios
- Multi-Environment
- Multi-Region
- Multi-Tenant
Setup: Dev, Staging, ProductionWorkflow:
- Test changes in dev
- Promote to staging
- Deploy to production
Switching Best Practices
Verify Before Actions
Verify Before Actions
Always check current context before:
- Restarting deployments
- Editing YAML
- Scaling resources
Use Clear Naming
Use Clear Naming
Context names should indicate:
- Environment (dev/staging/prod)
- Region (if multi-region)
- Purpose (monitoring/management)
prod-us-east-1-monitoringLimit Production Access
Limit Production Access
Separate kubeconfig files for production:Prevents accidental production changes
Authentication Methods
Orphelix supports all standard Kubernetes authentication:Client Certificates
Most common method:- Widely supported
- No token expiration
- Offline authentication
- Certificate rotation needed
- Key must be kept secure
Bearer Tokens
Service account or OAuth tokens:- Easy to distribute
- Can have expiration
- Revocable
- May expire
- Must be refreshed
Cloud Provider Auth
AWS, GCP, Azure authentication:- AWS EKS
- GCP GKE
- Azure AKS
- AWS CLI installed
- AWS credentials configured
- IAM permissions for EKS
Troubleshooting
Cannot List Contexts
Symptom: Context dropdown is empty Causes:-
Kubeconfig Not Found
-
Invalid Kubeconfig
-
Wrong KUBECONFIG Path
- Create valid kubeconfig file
- Fix YAML syntax errors
- Set correct KUBECONFIG environment variable
Connection Failed
Symptom: “Failed to connect to cluster” Diagnostic Steps:1
Test with kubectl
2
Check Network
3
Verify Credentials
4
Check Certificates
Authentication Failed
Symptom: “Unauthorized” or “Forbidden” errors Common Issues:Expired Tokens
Expired Tokens
Token-based auth expiredSolution: Refresh token:
Insufficient Permissions
Insufficient Permissions
User lacks RBAC permissionsSolution: Grant necessary permissions:
Wrong User
Wrong User
Context using incorrect userSolution: Update context:
Certificate Errors
Symptom: TLS handshake failures Solutions:-
Untrusted CA
-
Certificate Name Mismatch
-
Expired Certificate
- Renew cluster certificates
- Update kubeconfig with new certificates