Catalog Deployment
Deploy Porch using the Nephio catalog for production environments
This guide covers deploying Porch in production environments using the Nephio catalog.
Configuration Planning
Before deploying Porch, determine which features you need:
Optional Pre-deployment Configuration
These optional features must be configured before deployment if you need them:
Porch Server
- Cache Configuration - Switch to database cache (requires deployment args)
- Cert-Manager Webhooks - Enable cert-manager webhook integration (requires deployment env vars)
- Jaeger Tracing - Enable distributed tracing (requires deployment env vars)
-
Git Custom TLS - Enable custom TLS certificates for Git repositories (requires
--use-git-cabundle=truearg)
Function Runner
- Private Registries - Configure private container registries (requires deployment args and volume mounts)
Post-deployment Configuration
These features can be configured after deployment:
- Git Authentication - Configure Porch Server authentication for private Git repositories
Note
Repository Sync configuration is currently located in the system configuration section but should be moved to a more logical location as it’s about configuring individual Repository resources, not system-wide settings.Prerequisites
- Kubernetes cluster (v1.25+)
- kubectl configured for your cluster
- kpt CLI tool
- Cluster admin permissions
Installation Steps
1. Get the Porch Package
kpt pkg get https://github.com/nephio-project/catalog/tree/main/nephio/core/porch
2. Configure the Package (Optional)
Review and modify the configuration in the porch/ directory if needed:
cd porch/
# Review configuration files
ls -la
3. Render and Apply
# Render the package with any customizations
kpt fn render porch
# Initialize the package for lifecycle management
kpt live init porch
# Apply to your cluster
kpt live apply porch
Verification
Check Pod Status
Verify all Porch components are running:
kubectl get pods -n porch-system
Expected output:
NAME READY STATUS RESTARTS AGE
function-runner-xxx-xxx 1/1 Running 0 2m
function-runner-xxx-xxx 1/1 Running 0 2m
porch-controllers-xxx-xxx 1/1 Running 0 2m
porch-server-xxx-xxx 1/1 Running 0 2m
Verify API Resources
Confirm Porch CRDs are registered:
kubectl api-resources | grep porch
Troubleshooting
Common Issues
Pods not starting:
kubectl describe pods -n porch-system
kubectl logs -n porch-system -l app=porch-server
CRDs not registered:
kubectl get crd | grep porch
Getting Help
For additional support:
- Check the Porch GitHub issues
- Join the Nephio community