feat(tekton): Add Firecrawl build pipelines

- firecrawl-api: Multi-stage build (Go + Node.js + Rust)
- firecrawl-playwright: Node.js + Chromium browser automation
- firecrawl-postgres: PostgreSQL 16 with pg_cron extension

All pipelines validated with successful test builds.
Images pushed to Harbor library project.

Day 2 of Firecrawl deployment complete.
This commit is contained in:
Hermes Agent service account
2026-06-06 17:36:14 -05:00
parent f8e137b67b
commit e5d24f557a
3 changed files with 255 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
---
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: firecrawl-api-pipeline
namespace: innoventions
labels:
app.kubernetes.io/name: firecrawl-api
app.kubernetes.io/component: pipeline
app.kubernetes.io/part-of: firecrawl
spec:
description: |
Pipeline to build the Firecrawl API container image.
Multi-stage build with Go, Node.js, and Rust dependencies.
params:
- name: git-url
type: string
description: Git repository URL
default: https://github.com/mendableai/firecrawl
- name: git-revision
type: string
description: Git revision to checkout
default: main
- name: image-name
type: string
description: Target image name
default: the-seas.local.mk-labs.cloud/library/firecrawl-api
- name: image-tag
type: string
description: Image tag
default: latest
- name: dockerfile-path
type: string
description: Path to Dockerfile relative to repo root
default: ./Dockerfile
- name: build-context
type: string
description: Build context path
default: ./apps/api
workspaces:
- name: shared-data
description: Workspace for source code
- name: docker-credentials
description: Docker config for Harbor authentication
tasks:
- name: fetch-source
taskRef:
name: git-clone
workspaces:
- name: output
workspace: shared-data
params:
- name: url
value: $(params.git-url)
- name: revision
value: $(params.git-revision)
- name: depth
value: "1"
- name: sslVerify
value: "false"
- name: deleteExisting
value: "true"
- name: build-push
taskRef:
name: kaniko-build
runAfter:
- fetch-source
workspaces:
- name: source
workspace: shared-data
- name: dockerconfig
workspace: docker-credentials
params:
- name: IMAGE
value: $(params.image-name):$(params.image-tag)
- name: DOCKERFILE
value: $(params.dockerfile-path)
- name: CONTEXT
value: $(params.build-context)
- name: EXTRA_ARGS
value:
- --insecure
- --skip-tls-verify
- --cache=true
- --cache-ttl=24h