Kind Full Demo¶
This guide provides a complete end-to-end demonstration of the Git Change Operator using a local Kind (Kubernetes in Docker) cluster. This is the fastest way to see the operator in action and understand its capabilities.
Prerequisites¶
Before starting, ensure you have:
- Docker installed and running
- Kind installed
- Helm installed
- A GitHub personal access token with repository permissions
- The git-change-operator source code cloned locally
Corporate Environment Support¶
If you're behind a corporate proxy or firewall, the demo includes built-in support for corporate CA certificates. Place your corporate CA certificate at ~/certs/zscaler.pem
(or adjust the path in kind-config.yaml
).
One-Command Demo¶
The simplest way to run the complete demo is with our comprehensive Makefile target:
This single command will: 1. Create a Kind cluster with proper configuration 2. Build and load the operator Docker image 3. Deploy the operator using Helm 4. Create a test GitCommit resource 5. Verify the commit was created on GitHub
Step-by-Step Breakdown¶
If you want to understand each step or run them individually, here's what the full demo does:
1. Create Kind Cluster¶
This creates a Kind cluster with: - Corporate proxy/CA certificate support - Proper networking configuration - Extended timeouts for corporate environments
2. Build and Deploy Operator¶
This will: - Build the operator Docker image with version tags - Load the image into the Kind cluster - Install/upgrade the Helm chart with conditional CRD installation - Verify all pods are running
3. Test the Operator¶
The demo creates a sample GitCommit resource that will: - Create a real commit on GitHub - Demonstrate the operator's core functionality - Show the reconciliation process in action
4. Verify Results¶
You can verify the demo worked by:
# Check operator logs
kubectl logs -n git-change-operator-system deployment/git-change-operator-controller-manager
# Check GitCommit resource status
kubectl get gitcommits -o yaml
# Verify the commit exists on GitHub (check the output for the commit URL)
Expected Output¶
When successful, you should see: - Kind cluster created and ready - Operator pods running in git-change-operator-system
namespace - GitCommit resource created and processed - Real commit created on your GitHub repository - Commit SHA and URL displayed in the resource status
Configuration¶
The demo uses these key files: - kind-config.yaml
- Kind cluster configuration with corporate support - corporate-config.env
- Environment variables for corporate proxy - Makefile
- Automation workflow with hidden helper targets
Troubleshooting¶
Common Issues¶
Docker image not found:
Operator pods not starting:
# Check pod status and logs
kubectl get pods -n git-change-operator-system
kubectl describe pods -n git-change-operator-system
GitHub authentication issues:
# Verify your GitHub token has proper permissions
# Check the secret was created correctly
kubectl get secrets -n git-change-operator-system
Corporate proxy issues: - Ensure ~/certs/zscaler.pem
exists and contains your CA certificate - Check corporate-config.env
has correct proxy settings - Verify Docker can pull images through your proxy
Clean Up¶
To remove the demo environment:
This removes the Kind cluster and cleans up all resources.
Next Steps¶
After running the demo successfully: 1. Explore the Configuration guide for production setup 2. Learn about advanced features in the Quick Start guide 3. Check the Installation guide for production deployment options
The Kind demo provides a safe, local environment to experiment with the Git Change Operator before deploying it to production clusters.