Overview
ConfigMaps and Secrets store configuration data and sensitive information used by your applications. Orphelix provides both table and grid views for easy management and tracks which resources use each ConfigMap or Secret.
ConfigMaps
What are ConfigMaps?
ConfigMaps store non-confidential configuration data in key-value pairs. They decouple configuration from container images, making applications more portable. Common Use Cases:- Application configuration files
- Environment variables
- Command-line arguments
- Configuration properties
- Feature flags
List View
Table View
Traditional table format with sorting and filtering
Grid View
Card-based layout for better visualization
- Name: ConfigMap name (clickable)
- Data Keys: Number of key-value pairs
- Age: Time since creation
- Usage: Number of resources using this ConfigMap
- Actions: View, Edit, Delete
Detail View
Click any ConfigMap name to view details:1
Metadata
- Name: ConfigMap identifier
- Namespace: Current namespace
- Labels: Key-value labels
- Annotations: Metadata annotations
- Created: Creation timestamp
2
Data
All key-value pairs stored in the ConfigMap:

- Key: Configuration key name
- Value: Configuration value (can be multi-line)
- Size: Value size in bytes
3
Usage Tracking
Shows which resources reference this ConfigMap:
- Deployments: As volumes or environment variables
- StatefulSets: Configuration mounts
- DaemonSets: Node-specific config
- Pods: Direct references
Click resource names to navigate to their detail pages
4
Events
Recent events related to this ConfigMap:
- Created
- Updated
- Mounted by pod
- Mount failures
Creating ConfigMaps
ConfigMaps can be created from:- Literal Values
- Files
- Directory
- YAML Manifest
Create from command-line literals:Result:
Using ConfigMaps
ConfigMaps can be consumed by pods in several ways:As Environment Variables
- All Keys
- Specific Keys
Import all ConfigMap keys as environment variables:Creates one env var per key
As Volume Mounts
Mount ConfigMap as files in pod:/etc/config/application.yaml/etc/config/database.host/etc/config/database.port
Grid View
Alternative card-based layout for ConfigMaps:
Card Contents:
- ConfigMap name
- Number of data keys
- Age
- Used by X resources (badge)
- Quick actions menu
- Better for browsing many ConfigMaps
- Visual grouping by namespace
- Quick access to most-used ConfigMaps
Secrets
What are Secrets?
Secrets store sensitive information like passwords, tokens, and keys. They’re similar to ConfigMaps but designed for confidential data. Common Use Cases:- Database credentials
- API keys and tokens
- TLS certificates
- SSH keys
- Docker registry credentials
- OAuth tokens
Secret Types
Opaque
Opaque
Generic secret for arbitrary data (default type)
kubernetes.io/tls
kubernetes.io/tls
TLS certificate and private keyUsed by Ingress for HTTPS
kubernetes.io/dockerconfigjson
kubernetes.io/dockerconfigjson
Docker registry credentialsUsed in imagePullSecrets
kubernetes.io/basic-auth
kubernetes.io/basic-auth
Basic authentication credentials
kubernetes.io/ssh-auth
kubernetes.io/ssh-auth
SSH private key
kubernetes.io/service-account-token
kubernetes.io/service-account-token
ServiceAccount token (auto-created)Automatically created for each ServiceAccount
List View
Same table and grid views as ConfigMaps: Table Columns:- Name: Secret name
- Type: Secret type (Opaque, TLS, etc.)
- Data Keys: Number of keys
- Age: Time since creation
- Usage: Resources using this Secret
Secret values are never displayed in the list view for security
Detail View
1
Metadata
- Name: Secret identifier
- Type: Secret type
- Namespace: Current namespace
- Labels & Annotations: Metadata
- Created: Creation timestamp
2
Data
Keys are displayed, but values are masked for security:

- Key: Data key name
- Value:
••••••••(masked) - Size: Value size in bytes
3
Usage Tracking
Shows which resources reference this Secret (same as ConfigMaps)
4
Events
Secret-related events (creation, mounting, errors)
Creating Secrets
- From Literal
- From File
- TLS Secret
- Docker Registry
Create from command-line:
Using Secrets
As Environment Variables
As Volume Mounts
/etc/secrets/db-username/etc/secrets/db-password
As ImagePullSecrets
For private container registries:Usage Tracking
Orphelix tracks which resources use each ConfigMap or Secret:
Tracking Information:
- Resource Type: Deployment, StatefulSet, Pod, etc.
- Resource Name: Specific resource using config
- Mount Type: Environment variable or volume
- Keys Used: Which keys are referenced
- Path: Mount path (for volumes)
- Identify unused ConfigMaps/Secrets
- Find dependencies before deletion
- Audit configuration usage
- Plan configuration updates
Best Practices
Use Secrets for Sensitive Data
Use Secrets for Sensitive Data
Never store credentials in ConfigMaps - always use Secrets
Enable Encryption at Rest
Enable Encryption at Rest
Configure Kubernetes to encrypt Secrets in etcd:
Use RBAC
Use RBAC
Limit who can read Secrets:
Rotate Secrets Regularly
Rotate Secrets Regularly
Update secrets periodically and restart pods to use new values
Use External Secret Managers
Use External Secret Managers
Consider tools like:
- AWS Secrets Manager
- HashiCorp Vault
- Azure Key Vault
- Google Secret Manager
Namespace Secrets Appropriately
Namespace Secrets Appropriately
Create secrets in the same namespace as pods using them
Document Secret Keys
Document Secret Keys
Use labels/annotations to document secret purpose and key meanings
Troubleshooting
Pod Can’t Mount ConfigMap/Secret
Symptom: Pod stuck in ContainerCreating Check Events:- Verify ConfigMap/Secret exists:
kubectl get configmap app-config - Check namespace - must be same as pod
- Verify name spelling in pod spec
- Check RBAC permissions
Application Not Using Updated Config
Symptom: Config changes don’t take effect Reasons:- Environment Variables: Don’t update automatically - must restart pod
- Volume Mounts: Update after sync period (up to 1 minute + cache TTL)
- Application Cache: App may cache config internally
- Restart deployment:
kubectl rollout restart deployment/app - Use ConfigMap/Secret update strategy with versioned names
- Implement file watch in application
Secret Values Not Working
Symptom: Application authentication fails Check:-
Base64 Encoding: Ensure values are properly encoded
-
No Trailing Newlines: Use
echo -nto avoid newlines - Special Characters: Quote complex passwords in manifests
- Key Names: Verify key names match application expectations