Skip to main content

Troubleshooting Guide

Common issues and solutions when working with Orchestr8.

Platform Health

Doctor Command

The o8 doctor command is your first line of defense for diagnosing issues:

# Basic health check
o8 doctor

# Verbose diagnostics
o8 doctor --verbose

# Show fix suggestions
o8 doctor --fix

Platform Status

# Check platform components
o8 status

# List all applications
o8 apps

# Check specific application
o8 apps status my-app

Common Issues

1. CLI Installation Problems

Issue: o8 command not found

# Verify installation
uv tool list | grep orchestr8

# Reinstall if needed
uv tool install orchestr8-platform --force

Issue: Permission errors

# On Linux/macOS, ensure PATH includes uv tools
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2. Kubernetes Connection Issues

Issue: kubectl context not set

# List available contexts
kubectl config get-contexts

# Set correct context
kubectl config use-context your-cluster-context

# Verify connection
kubectl cluster-info

Issue: Cluster not accessible

# For local development
docker desktop start # or start minikube/kind

# For cloud providers
gcloud auth login # GCP
aws configure # AWS
az login # Azure

3. ArgoCD Issues

Issue: Applications stuck in "Progressing" state

# Check ArgoCD logs
kubectl logs -n argocd -l app.kubernetes.io/name=argocd-application-controller

# Force refresh application
kubectl patch app my-app -n argocd --type=merge -p='{"metadata":{"annotations":{"argocd.argoproj.io/refresh":"now"}}}'

# Manual sync
o8 sync my-app --force

Issue: ArgoCD UI not accessible

# Check ArgoCD server status
kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server

# Port forward for local access (if needed)
kubectl port-forward svc/argocd-server -n argocd 8080:80

4. Module Deployment Issues

Issue: Module fails to deploy

# Check module validation
o8 module validate ./my-module

# Check deployment logs
kubectl logs -n my-module deployment/my-module

# Check events
kubectl get events -n my-module --sort-by='.lastTimestamp'

Issue: Image pull errors

# Check if image exists
docker pull your-image:tag

# Verify image registry authentication
kubectl get secret -n my-module | grep regcred

# Check node logs for pull errors
kubectl describe pod pod-name -n my-namespace

5. Networking Issues

Issue: Service mesh connectivity problems

# Check Istio sidecar injection
kubectl get pods -n my-namespace -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.containers[*].name}{"\n"}{end}'

# Verify service mesh configuration
istioctl analyze -n my-namespace

# Check network policies
kubectl get networkpolicy -n my-namespace

Issue: Ingress not working

# Check ingress controller
kubectl get pods -n istio-system -l app=istio-ingressgateway

# Verify ingress configuration
kubectl get gateway,virtualservice -n my-namespace

# Check external IP
kubectl get svc -n istio-system istio-ingressgateway

6. Secrets Management Issues

Issue: External Secrets not syncing

# Check External Secrets Operator
kubectl get pods -n external-secrets-system

# Check SecretStore configuration
kubectl get secretstore,externalsecret -n my-namespace

# Check ESO logs
kubectl logs -n external-secrets-system -l app.kubernetes.io/name=external-secrets

Issue: Cloud provider authentication

# AWS - verify credentials
aws sts get-caller-identity

# GCP - verify auth
gcloud auth list

# Azure - verify login
az account show

7. Performance Issues

Issue: Slow deployment times

  • Check cluster resources: kubectl top nodes
  • Review image sizes and optimization
  • Verify network connectivity to registries
  • Check for resource constraints

Issue: High memory/CPU usage

# Check resource usage
kubectl top pods -n my-namespace

# Review resource limits
kubectl describe deployment my-app -n my-namespace

# Check cluster capacity
kubectl describe nodes

Getting Help

Log Collection

# Collect platform logs
o8 doctor --verbose > orchestr8-diagnostics.log

# Collect Kubernetes logs
kubectl logs --previous -n argocd deployment/argocd-application-controller > argocd-logs.txt

# Export cluster info
kubectl cluster-info dump > cluster-info.txt

Support Channels

Debug Mode

Enable debug logging for more detailed troubleshooting:

# Enable debug mode
export O8_DEBUG=true

# Run commands with verbose output
o8 setup --provider local --verbose