Skip to content

Latest commit

 

History

History
553 lines (465 loc) · 22.9 KB

File metadata and controls

553 lines (465 loc) · 22.9 KB
Flux CD Logo

Flux at KubeCon EU 2026

Welcome, Flux friends! We're excited to see you in Amsterdam. Here's your guide to all things Flux and GitOps at KubeCon Europe 2025.

FluxCon Europe

FluxCon is here!

FluxCon is back for its second year as a CNCF-hosted co-located event - a dedicated half-day for the whole Flux community.

When: Monday, March 23, 2026 - 09:00 - 12:45 CET

Where: Elicium 1, RAI Amsterdam

View the Full FluxCon Schedule

FluxCon Sessions

A full morning of Flux talks featuring production stories from Air France–KLM, NatWest, Orange, and our maintainers.

Tiffany Wang Francesco Beltramini

FluxCon | Welcome + Opening Remarks

Tiffany Wang, Morgan Stanley & Francesco Beltramini, ControlPlane

Mon, Mar 23 • 09:00 - 09:05 CET
Elicium 1
View on Sched
Stefan Prodan

Vibe Coding Meets GitOps

Stefan Prodan, ControlPlane

Mon, Mar 23 • 09:10 - 09:35 CET
Elicium 1
View on Sched
Amine Alaoui Echerif Ravi Ramrattan

Air France–KLM's GitOps Takeoff: Real Stories From the Flight Deck

Alaoui Echerif Amine & Ravi Ramrattan, Air France KLM

Mon, Mar 23 • 09:40 - 10:05 CET
Elicium 1
View on Sched
Andy Martin

Agentic GitOps: Evolving Enterprise Delivery

Andy Martin, ControlPlane

Mon, Mar 23 • 10:10 - 10:15 CET
Elicium 1
View on Sched
Joel King Lee Coupe

May the Flux Be With You: Tales From the GitOps Trenches at NatWest

Joel King & Lee Coupe, NatWest Group

Mon, Mar 23 • 10:20 - 10:45 CET
Elicium 1
View on Sched
Sanskar Jaiswal

Towards Better Canary Releases With Flagger and Gateway API

Sanskar Jaiswal, Kong

Mon, Mar 23 • 11:00 - 11:25 CET
Elicium 1
View on Sched
William Rizzo

Talking to Your Cluster: Conversational GitOps with Flux MCP

William Rizzo, Mirantis

Mon, Mar 23 • 11:30 - 11:55 CET
Elicium 1
View on Sched
Paris Nakita Kejser

⚡ Lightning Talk: Flux-Powered Bootstrapping a Kubernetes With GitOps and CaC

Paris Nakita Kejser, Astrona

Mon, Mar 23 • 12:00 - 12:10 CET
Elicium 1
View on Sched
Francois Eleouet Thomas Morin

Sylva, Taming Complexity With FluxCD Dependency Management

Thomas Morin & Francois Eleouet, Orange

Mon, Mar 23 • 12:15 - 12:40 CET
Elicium 1
View on Sched
Flux Maintainer, Stefan Prodan, speaking to a crowd at KubeCon

Flux at KyvernoCon

Flux and Kyverno together - attend this cross-project session in the afternoon:

Leigh Capili Cortney Nickerson

Policy & GitOps Unite! Kyverno and Flux Save Cluster City

Cortney Nickerson, Nirmata & Leigh Capili, ControlPlane

Mon, Mar 23 • 13:35 - 14:00 CET
E106-108
View on Sched
Stefan Prodan speaking to a crowd at KubeCon

Visit the Flux Project Booth

Have questions? Want to talk GitOps? Or just want to grab some stickers? Come say hi to the Flux maintainers! Stefan will also be be at the booth for extended Q&A after each session.

Booth 5B, Project Pavilion

We'll be using Flux Operator MCP Server to show off AI Assisted GitOps.

The Project Pavilion is located in the Solutions Showcase. We're near the center :)

Flux at KubeCon

Catch these Flux sessions during the main conference:

Tamao Nakahara

⚡ Project Lightning Talk: FluxCD - Gitops For All Sizes

Tamao Nakahara, Community Maintainer

Mon, Mar 23 • 14:15 - 14:20 CET
Elicium 2
View on Sched
Lucas Hornung Christian Matthaei

From "No Time for GitOps" to Enterprise Adoption: Selling Flux the Human Way

Lucas Hornung & Christian Matthaei, Tchibo GmbH

Wed, Mar 25 • 11:45 - 12:15 CET
Hall 7 | Room B
View on Sched
Matteo Bianchi Stefan Prodan

Pull Request Wars: The Flux Awakens - Ephemeral Kubernetes Environments Strike Back

Matteo Bianchi, GitHub & Stefan Prodan, ControlPlane

Wed, Mar 25 • 15:00 - 15:30 CET
Hall 8 | Room G
View on Sched
Luiz Ariza

From Chaos to Control: A Prescription for Managing Apps on Private Cellular Networks

Luiz Ariza, Beanters

Thurs, Mar 26 • 11:00 - 11:30 CET
Hall 7 | Room C
View on Sched
Stefan Prodan

Visualizing GitOps: A Tour of Flux UIs in the Open Source Ecosystem

Stefan Prodan, ControlPlane

Thurs, Mar 26 • 13:45 - 14:15 CET
Elicium 2
View on Sched
Flux maintainers at FluxCon NA 2025
Stefan Prodan speaking to a crowd at KubeCon

Announcing Flux 2.8 GA

We're thrilled to announce the Flux 2.8 General Availability release. This is a major milestone, bringing Helm v4 support natively to Flux.

Key highlights include:

  • Helm v4 support with server-side apply and kstatus-based health checking
  • Helm v3 backward compatibility for existing releases + opt-ins
  • Reduced mean time to recovery - new revisions can immediately cancel stale health checks
  • CEL expressions for readiness evaluation of Helm-managed objects
  • ArtifactGenerator support for extracting and modifying Helm charts
  • PR/MR comment providers for preview environment feedback loops
  • Cosign v3 support for verifying OCI artifacts and container images
  • Custom SSA apply stages for ordering resource application in kustomize-controller

Read the full 2.8 Release Announcement

Flux 2.8.x Upgrade Instructions Releases of Flux 2.7+ and up remove old API versions. To ensure a smooth upgrade, please follow the detailed instructions before updating your clusters.

Upgrade instructions & Support here

Flux Resources

Flux (and Flagger) is a set of continuous and progressive delivery solutions for Kubernetes that are open and extensible. It is the GitOps engine for Microsoft's Arc Kubernetes, AWS's EKS-Anywhere, GitLab, and many more.

Flux is a CNCF graduated project and is General Availability.

Ecosystem

Flux has a rich ecosystem of extensions and compatible, open software. Here are a few things to look at:

<style> /* --- Flux KubeCon Page Styles --- */ /* --- Variables & Globals --- */ :root { --flux-dark-blue: #264185; --flux-light-blue: rgb(193, 210, 247); --flux-blue: rgb(50, 108, 229); --text-primary: #333; --text-secondary: #555; --bg-light: #f8f9fa; --bg-white: #ffffff; --border-color: #dee2e6; --psa-bg: #fff3cd; --psa-border: #ffeeba; --psa-text: #856404; } .kubecon-page { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.6; color: var(--text-primary); background-color: var(--bg-white); max-width: 900px; margin: 0 auto; padding: 1rem; } /* --- Logo & Headers --- */ .kubecon-page .page-logo { display: block; width: 250px; max-width: 60%; margin: 0 auto 1rem auto; } .kubecon-page h1, .kubecon-page h2, .kubecon-page h3 { font-weight: 600; line-height: 1.3; color: var(--flux-dark-blue); } .kubecon-page h1 { font-size: 2.5rem; text-align: center; border-bottom: 2px solid var(--border-color); padding-bottom: 0.5rem; margin-bottom: 1rem; } .kubecon-page h2 { font-size: 2rem; color: var(--flux-blue); border-bottom: 1px solid var(--border-color); padding-bottom: 0.25rem; margin-top: 2.5rem; margin-bottom: 1.5rem; } .kubecon-page h3 { font-size: 1.5rem; color: var(--flux-dark-blue); margin-bottom: 0.5rem; } .kubecon-page p { margin-bottom: 1rem; font-size: 1.1rem; } .kubecon-page a { color: var(--flux-blue); text-decoration: none; font-weight: 600; } .kubecon-page a:hover { text-decoration: underline; } /* --- PSA Banner --- */ .psa-banner { background-color: var(--psa-bg); border: 1px solid var(--psa-border); color: var(--psa-text); padding: 1rem 1.5rem; border-radius: 8px; margin: 1.5rem 0; font-size: 1.1rem; } .psa-banner p { margin: 0; } .psa-banner strong { font-size: 1.2rem; display: block; margin-bottom: 0.25rem; } .psa-banner a { color: var(--psa-text); font-weight: 700; text-decoration: underline; } /* --- Info Box (for Blog, Booth, etc.) --- */ .info-box { background-color: var(--bg-light); border: 1px solid var(--border-color); padding: 1.5rem; border-radius: 8px; margin-bottom: 1.5rem; } .info-box h3 { margin-top: 0; } .info-box ul { margin-top: 0.5rem; padding-left: 1.5rem; } .info-box li { margin-bottom: 0.5rem; } /* --- Banner Image (with object-fit) --- */ .banner-image { margin: 2.5rem 0; } .banner-image img { width: 100%; height: 300px; object-fit: cover; object-position: left center; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); display: block; } @media (max-width: 768px) { .banner-image img { height: 200px; } } /* --- FluxCon Card --- */ .fluxcon-card { background-color: var(--bg-white); border: 2px solid var(--flux-light-blue); border-radius: 8px; padding: 1.5rem; margin: 2rem 0; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,0.05); } .fluxcon-card img { width: 150px; margin-bottom: 1rem; } .fluxcon-card h3 { font-size: 1.75rem; color: var(--flux-blue); margin: 0; } .fluxcon-card .fluxcon-details { font-size: 1.15rem; color: var(--text-secondary); margin: 0.5rem 0 1.5rem 0; } .fluxcon-card .sched-link { display: inline-block; font-size: 1.1rem; font-weight: 600; padding: 0.75rem 1.5rem; background-color: var(--flux-blue); color: white; border-radius: 5px; text-decoration: none; transition: background-color 0.2s; } .fluxcon-card .sched-link:hover { background-color: var(--flux-dark-blue); color: white; text-decoration: none; } /* --- FluxCon Schedule Details/Summary --- */ .fluxcon-schedule-details { margin: 2rem 0; } .fluxcon-schedule-details > .fluxcon-toggle { display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 600; padding: 0.75rem 1.5rem; background-color: var(--flux-blue); color: white; border-radius: 5px; text-decoration: none; transition: background-color 0.2s; cursor: pointer; list-style: none; text-align: center; width: 100%; box-sizing: border-box; } .fluxcon-schedule-details > .fluxcon-toggle::-webkit-details-marker { display: none; } .fluxcon-schedule-details > .fluxcon-toggle::marker { display: none; content: ""; } .fluxcon-schedule-details > .fluxcon-toggle:hover { background-color: var(--flux-dark-blue); color: white; } .fluxcon-schedule-details[open] > .fluxcon-toggle { margin-bottom: 1.5rem; } .fluxcon-toggle .toggle-icon { display: inline-flex; align-items: center; justify-content: center; margin-left: 0.5rem; width: 1.2em; height: 1.2em; font-size: 1.4em; font-weight: 700; line-height: 1; vertical-align: middle; transition: transform 0.3s ease; } .fluxcon-toggle .toggle-icon::before { content: "▾"; position: relative; top: -0.05em; } .fluxcon-schedule-details[open] > .fluxcon-toggle .toggle-icon::before { content: "+"; } .fluxcon-schedule-details[open] > .fluxcon-toggle .toggle-icon { transform: rotate(45deg); } /* --- Talk List & Cards --- */ .talk-list { display: grid; grid-template-columns: 1fr; gap: 1.25rem; } .talk-card { display: flex; flex-direction: row; align-items: flex-start; background: var(--bg-white); border: 1px solid var(--border-color); border-radius: 8px; padding: 1.5rem; transition: box-shadow 0.2s ease-in-out; } .talk-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.05); } .talk-avatars { flex-shrink: 0; width: 90px; height: 60px; margin-right: 1rem; margin-top: 0.25rem; position: relative; display: flex; align-items: center; } .talk-avatars img { width: 60px; height: 60px; border-radius: 50%; border: 2px solid var(--bg-white); box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: absolute; left: 0; top: 0; } .talk-avatars img:nth-child(2) { left: 30px; } .talk-details { flex-grow: 1; } .talk-card h3 { font-size: 1.4rem; color: var(--flux-dark-blue); margin: 0 0 0.25rem 0; } .talk-card h4 { font-size: 1.1rem; color: var(--text-primary); margin: 0 0 0.5rem 0; font-weight: 600; } .talk-time { font-size: 1rem; color: var(--text-secondary); margin-bottom: 1rem; display: block; font-weight: 500; } .talk-time strong { color: var(--text-primary); } .sched-link { display: inline-block; font-size: 1rem; font-weight: 600; padding: 0.5rem 1rem; background-color: var(--flux-light-blue); color: white; border-radius: 5px; text-decoration: none; transition: background-color 0.2s; } .sched-link:hover { background-color: var(--flux-blue); color: white; text-decoration: none; } /* --- Resources Section --- */ .resources-list { list-style-type: none; padding-left: 0; } .resources-list li { font-size: 1.1rem; margin-bottom: 0.75rem; } .resources-list strong { color: var(--text-primary); margin-right: 0.5rem; } /* --- Mobile Responsiveness --- */ @media (max-width: 768px) { .avatar-zoom { position: relative !important; left: auto !important; top: auto !important; } .kubecon-page { padding: 0.5rem; } .kubecon-page h1 { font-size: 2rem; } .kubecon-page h2 { font-size: 1.75rem; } .info-box, .psa-banner, .fluxcon-card, .talk-card { padding: 1.25rem; } .talk-card { flex-direction: column; align-items: stretch; } .talk-avatars { width: auto; height: 60px; margin-right: 0; margin-bottom: 1rem; display: flex; justify-content: center; } .talk-avatars img { position: relative; left: 0; top: 0; } .talk-avatars img:nth-child(2) { left: -15px; } .talk-details { text-align: center; } } </style>