Skip to content

Blog: How Kestra Ships Plugins#4559

Draft
elliotgunn wants to merge 2 commits intomainfrom
how-kestra-ships-plugins
Draft

Blog: How Kestra Ships Plugins#4559
elliotgunn wants to merge 2 commits intomainfrom
how-kestra-ships-plugins

Conversation

@elliotgunn
Copy link
Copy Markdown
Contributor

@elliotgunn elliotgunn commented Apr 10, 2026

still needs:

  • technical review
  • product screenshots
  • maybe relevant blueprint examples

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 10, 2026

☁️ Cloudflare Worker Preview Deployed!

🔗 https://ks-how-kestra-ships-plugins-docs.kestra-io.workers.dev
🔗 https://59c1d20e-docs.kestra-io.workers.dev

@github-actions
Copy link
Copy Markdown
Contributor

🔦 Lighthouse Benchmark

Last updated: 2026-04-10T20:40:57
Last commit: 70b149b

Tested: https://ks-how-kestra-ships-plugins-docs.kestra-io.workers.dev on 2026-04-10 20:40 UTC
Compared against main baseline from 2026-04-10

Scores (0–100, higher is better)

Page Performance Accessibility Best Practices SEO
Home 74 ▲ +17 79 59 92
Pricing 97 88 59 100
Enterprise 94 ▲ +10 78 59 100
Cloud 93 83 59 100
About Us 99 ▲ +4 87 59 100
Docs Landing 98 ▲ +10 84 59 92
Contribute to Kestra (simple docs) 95 84 59 92
Flow (full featured docs) 90 ▲ +3 86 59 92
Blog Index 65 ▼ -16 86 59 100
Blog Post (sample) 87 ▼ -10 83 59 100
VS Page (sample) 95 88 59 100
Plugins Landing 92 77 59 92
Plugin Page (sample) 96 87 59 100
Plugin Debug Page (sample) 96 87 59 100
Plugin Debug Return Page (sample) 94 87 59 100
Blueprints Landing 91 77 56 ▼ -3 92
Blueprint Audit Logs CSV Export 66 ▲ +5 82 59 100

Core Web Vitals (lower is better)

Page LCP FCP TBT CLS Speed Index
Home 1.93 s ▲ 1.11 s ▲ 221 ms ▼ 0.000 3.37 s ▲
Pricing 1.00 s ▲ 0.53 s ▲ 111 ms ▼ 0.000 0.78 s ▲
Enterprise 1.58 s ▲ 0.82 s ▲ 59 ms ▼ 0.003 1.05 s ▲
Cloud 1.70 s 0.51 s ▲ 36 ms 0.000 0.85 s ▲
About Us 0.92 s ▲ 0.59 s ▲ 47 ms ▲ 0.000 0.91 s
Docs Landing 0.83 s ▲ 0.56 s ▲ 102 ms ▲ 0.002 0.99 s ▲
Contribute to Kestra (simple docs) 0.95 s ▲ 0.52 s ▲ 151 ms ▼ 0.000 0.72 s ▲
Flow (full featured docs) 1.53 s ▼ 0.54 s ▲ 158 ms ▲ 0.000 1.19 s ▲
Blog Index 10.50 s ▼ 0.50 s ▲ 76 ms ▼ 0.000 21.32 s ▼
Blog Post (sample) 2.44 s ▼ 0.53 s ▲ 40 ms 0.000 0.76 s ▲
VS Page (sample) 1.48 s 0.51 s ▲ 49 ms 0.000 0.87 s ▲
Plugins Landing 1.08 s ▲ 0.48 s ▲ 118 ms ▼ 0.000 2.12 s ▼
Plugin Page (sample) 1.02 s ▲ 0.58 s ▲ 40 ms ▼ 0.000 ▲ 1.67 s ▼
Plugin Debug Page (sample) 0.92 s ▲ 0.47 s ▲ 90 ms ▼ 0.001 1.66 s ▼
Plugin Debug Return Page (sample) 1.07 s ▲ 0.46 s ▲ 85 ms ▼ 0.025 2.00 s ▼
Blueprints Landing 1.44 s ▲ 0.80 s ▼ 64 ms ▲ 0.000 1.91 s ▼
Blueprint Audit Logs CSV Export 0.88 s ▲ 0.57 s ▲ 225 ms ▼ 0.485 2.10 s
Legend

▲ improved  ·  ▼ regressed  ·  (blank) no significant change
Score threshold: ±3 pts  ·  Metric threshold: ±10% of baseline

@github-actions
Copy link
Copy Markdown
Contributor

Visual Changes Detected

Make sure changes are expected and review the Playwright report for details.

Playwright report artifact: https://github.com/kestra-io/docs/actions/runs/24262399880/artifacts/6379314859

To accept the updated visuals, click Accept, select the PR branch, and run the workflow.

Accept

---

The Plugins & Integrations team at Kestra is responsible for the 1200+ plugins that connect Kestra to the rest of the data and cloud ecosystem. [AWS](/plugins/plugin-aws), [GCP](/plugins/plugin-gcp), [Azure](/plugins/plugin-azure), [Snowflake](/plugins/plugin-jdbc-snowflake), [Kafka](/plugins/plugin-kafka), [dbt](/plugins/plugin-dbt), [Airbyte](/plugins/plugin-airbyte), and a few hundred more. Every release, every regression, every compatibility check across all of them falls to us.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@elliotgunn Let's wait my new flow to implement new features & fixes through calls to Claude Code GitHub Actions to automate our all workflow and also talk about how we automate and accelerate such a volume of plugins' maintenance & evolving. So that the post impact will be even more bigger.

Or maybe it can be a dedicated blog post actually? Because it involves a lot of skills & agents we're writing. I'll dig it up once my talk / flow will be ready :) What do you think?

@@ -0,0 +1,63 @@
---
title: "How Kestra Ships and Maintains 1200+ Plugins"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No mention about dogfooding? 🐶


`weekend_compatibility_check` runs every Saturday. It takes the entire plugin library and runs it against the latest `develop` branch of Kestra core. The results land in Slack before the week starts.

The fifth flow, `weekly_released_plugins`, compiles a digest of everything that shipped: new features, bug fixes, version bumps. It posts automatically to [Slack](/plugins/plugin-slack) and our [Notion](/plugins/plugin-notion) database. The team gets a summary without anyone writing one.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should mention it helps people outside Plugins Team, so other teams from engineering, product, customer success, marketing and sales teams to have a vision about what we're doing and delivering :)


## The floor we didn't know we were missing

Before we had these flows, a release that ran smoothly felt like a success. Now, a release that runs smoothly is the floor, not the ceiling. We get focus on the important questions that require human judgment. Why did this compatibility check fail? What changed in this dependency? Why is this plugin failing on the develop branch but not on main?
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plugins don't have "develop" branches ⚠️ just main and the features or fixes branches

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants