Files

Flux Deployment for Resume Site

This directory contains Flux CD manifests for automated deployment of the resume site to Kubernetes.

Prerequisites

  1. Flux CD installed in your cluster
  2. Gitea repository created and pushed
  3. Harbor credentials configured
  4. 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:

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