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:
@@ -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
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
---
|
||||||
|
apiVersion: tekton.dev/v1
|
||||||
|
kind: Pipeline
|
||||||
|
metadata:
|
||||||
|
name: firecrawl-playwright-pipeline
|
||||||
|
namespace: innoventions
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: firecrawl-playwright
|
||||||
|
app.kubernetes.io/component: pipeline
|
||||||
|
app.kubernetes.io/part-of: firecrawl
|
||||||
|
spec:
|
||||||
|
description: |
|
||||||
|
Pipeline to build the Firecrawl Playwright service container image.
|
||||||
|
Node.js application with Chromium browser 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-playwright
|
||||||
|
- 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/playwright-service-ts
|
||||||
|
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
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
---
|
||||||
|
apiVersion: tekton.dev/v1
|
||||||
|
kind: Pipeline
|
||||||
|
metadata:
|
||||||
|
name: firecrawl-postgres-pipeline
|
||||||
|
namespace: innoventions
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: firecrawl-postgres
|
||||||
|
app.kubernetes.io/component: pipeline
|
||||||
|
app.kubernetes.io/part-of: firecrawl
|
||||||
|
spec:
|
||||||
|
description: |
|
||||||
|
Pipeline to build the Firecrawl PostgreSQL container image.
|
||||||
|
PostgreSQL with pg_cron extension and custom configuration.
|
||||||
|
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-postgres
|
||||||
|
- name: image-tag
|
||||||
|
type: string
|
||||||
|
description: Image tag
|
||||||
|
default: latest
|
||||||
|
- name: dockerfile-path
|
||||||
|
type: string
|
||||||
|
description: Path to Dockerfile relative to repo root
|
||||||
|
default: ./apps/nuq-postgres/Dockerfile
|
||||||
|
- name: build-context
|
||||||
|
type: string
|
||||||
|
description: Build context path
|
||||||
|
default: ./apps/nuq-postgres
|
||||||
|
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
|
||||||
Reference in New Issue
Block a user