# ------------------------------------------------------------------------------ # Application: firecrawl (spaceship-earth) # Wave 20 — applications tier # Web scraping and search service for JARVIS # # Primary DNS: spaceship-earth.local.mk-labs.cloud (EPCOT theme) # Secondary DNS: firecrawl.local.mk-labs.cloud # # Components: # - Firecrawl API (main service) # - Firecrawl Worker (background job processor) # - Playwright Service (browser automation) # - Redis (cache and job queue) - WITH PERSISTENT STORAGE # - PostgreSQL (state management) - WITH PERSISTENT STORAGE # - RabbitMQ (message queue) - WITH PERSISTENT STORAGE # # PRODUCTION-READY FEATURES: # - All stateful services use PersistentVolumeClaims # - All images pinned to specific versions # - Helm chart for configuration management # - Resource limits and requests properly configured # ------------------------------------------------------------------------------ apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: firecrawl namespace: argocd labels: app.kubernetes.io/name: firecrawl app.kubernetes.io/part-of: mk-labs epcot.theme/name: spaceship-earth annotations: argocd.argoproj.io/sync-wave: "20" # Wave 20 — applications tier spec: project: default source: repoURL: https://gitea.mk-labs.cloud/rblundon/homelab.git targetRevision: main path: cluster/applications/firecrawl/chart helm: releaseName: firecrawl values: | # Production configuration # Storage classes use nfs-emporium (Synology NFS) # All images pinned to specific versions for stability destination: server: https://kubernetes.default.svc namespace: firecrawl syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true - ServerSideApply=true