- Add .gitignore: exclude compiled binaries, build artifacts, and Helm values files containing real secrets (authentik, prometheus) - Add all Kubernetes deployment manifests (deployment/) - Add services source code: ha-sync, device-inventory, games-console, paperclip, parts-inventory - Add Ansible orchestration: playbooks, roles, inventory, cloud-init - Add hardware specs, execution plans, scripts, HOMELAB.md - Add skills/homelab/SKILL.md + skills/install.sh to preserve Copilot skill - Remove previously-tracked inventory-cli binary from git index Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
# To enable production sync: remove --dry-run from args below
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: ha-sync-photos-dell-to-hp
|
|
namespace: infrastructure
|
|
spec:
|
|
schedule: "*/15 * * * *"
|
|
concurrencyPolicy: Forbid
|
|
successfulJobsHistoryLimit: 3
|
|
failedJobsHistoryLimit: 3
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
serviceAccountName: ha-sync
|
|
restartPolicy: OnFailure
|
|
containers:
|
|
- name: ha-sync
|
|
image: ha-sync:latest
|
|
imagePullPolicy: Never
|
|
command: ["/usr/local/bin/ha-sync"]
|
|
args:
|
|
- --src=/mnt/dell/photos
|
|
- --dest=/mnt/hp/photos
|
|
- --pair=photos
|
|
- --direction=dell-to-hp
|
|
- --log-dir=/var/log/ha-sync
|
|
- --exclude=*.sock
|
|
- --exclude=*.pid
|
|
- --exclude=*.lock
|
|
- --exclude=lock
|
|
env:
|
|
- name: HA_SYNC_DB_DSN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: ha-sync-db-secret
|
|
key: HA_SYNC_DB_DSN
|
|
volumeMounts:
|
|
- name: dell-data
|
|
mountPath: /mnt/dell/photos
|
|
- name: hp-data
|
|
mountPath: /mnt/hp/photos
|
|
- name: logs
|
|
mountPath: /var/log/ha-sync
|
|
resources:
|
|
requests: { cpu: 50m, memory: 64Mi }
|
|
limits: { cpu: 500m, memory: 256Mi }
|
|
volumes:
|
|
- name: dell-data
|
|
persistentVolumeClaim:
|
|
claimName: pvc-dell-photos
|
|
- name: hp-data
|
|
persistentVolumeClaim:
|
|
claimName: pvc-hp-photos
|
|
- name: logs
|
|
persistentVolumeClaim:
|
|
claimName: pvc-ha-sync-logs
|