🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Flux Deployment for Resume Site
This directory contains Flux CD manifests for automated deployment of the resume site to Kubernetes.
Prerequisites
- Flux CD installed in your cluster
- Gitea repository created and pushed
- Harbor credentials configured
- Docker image built and pushed to Harbor
Setup Instructions
1. Update GitRepository URL
Edit gitrepository.yaml and replace the placeholder URL with your actual Gitea repository URL:
url: https://your-gitea-url/username/resume-site.git
2. Build and Push Docker Image
# Login to Harbor
docker login images.caffeinetux.com
# Build the image
docker build -t images.caffeinetux.com/production/resume-site:latest .
# Push to Harbor
docker push images.caffeinetux.com/production/resume-site:latest
3. Deploy with Flux
Apply the Flux manifests to your cluster:
kubectl apply -k flux/
Flux will:
- Clone the Git repository
- Deploy the Helm chart from
./helm - Create an Ingress at https://resume.caffeinetux.com
- Automatically sync changes from Git
4. Verify Deployment
# Check Flux GitRepository
kubectl get gitrepository -n flux-system resume-site
# Check Flux HelmRelease
kubectl get helmrelease -n default resume-site
# Check pods
kubectl get pods -n default -l app.kubernetes.io/name=resume-site
# Check ingress
kubectl get ingress -n default
Automatic Updates
Flux checks the Git repository every minute. Any changes to the helm/ directory will trigger an automatic update of the deployment.
Secrets
If you need to configure Harbor image pull secrets:
kubectl create secret docker-registry harbor-creds \
--docker-server=images.caffeinetux.com \
--docker-username=YOUR_USERNAME \
--docker-password=YOUR_PASSWORD \
--namespace=default
Then update helm/values.yaml:
imagePullSecrets:
- name: harbor-creds