- Add Firecrawl application with full stack: - Firecrawl API (main service) - Firecrawl Worker (background jobs) - Playwright Service (browser automation) - Redis (cache & job queue) - PostgreSQL (state management) - RabbitMQ (message queue) - Configure dual DNS names: - Primary: spaceship-earth.local.mk-labs.cloud (EPCOT theme) - Secondary: firecrawl.local.mk-labs.cloud - Add Gateway API HTTPRoutes with TLS certificates - Update ReferenceGrant for firecrawl namespace - Configure ArgoCD application (wave 20) - Set USE_DB_AUTHENTICATION=false for internal deployment This provides JARVIS with web scraping and search capabilities.
47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
# ------------------------------------------------------------------------------
|
|
# 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)
|
|
# - PostgreSQL (state management)
|
|
# - RabbitMQ (message queue)
|
|
# ------------------------------------------------------------------------------
|
|
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
|
|
directory:
|
|
recurse: false
|
|
exclude: application.yaml # prevent self-reference loop
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: firecrawl
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- ServerSideApply=true
|