Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
323 changes: 323 additions & 0 deletions KUBECON-2025-atlanta.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,323 @@
<div class="kubecon-page">

<img src="https://fluxcd.io/img/flux-horizontal-color.png" alt="Flux CD Logo" class="page-logo">

<h1>Flux at KubeCon NA 2025</h1>
<p style="text-align: center; font-size: 1.2rem; font-weight: 500;"> Welcome, Flux friends! We're excited to see you in Atlanta. Here's your guide to all things Flux and GitOps at KubeCon North America 2025. </p>

<div class="fluxcon-card"> <img src="https://events.linuxfoundation.org/wp-content/uploads/2025/05/fluxCon-horizontal-color.svg" alt="FluxCon"> <h3>FluxCon is Here!</h3> <div class="fluxcon-details"> The first-ever FluxCon is our co-located event for the whole community.

<strong>When:</strong> Monday, November 10, 2025 - 1:20 pm - 5:40 pm

<strong>Where:</strong> Building B | Level 3 | B309 </div> <a class="sched-link" href="https://colocatedeventsna2025.sched.com/list/descriptions/area/FluxCon" target="_blank" rel="noopener"> View the Full FluxCon Schedule </a> </div>

<div class="info-box"> <h3>Visit the Flux Project Booth</h3>
<p> 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.</p>
<p style="font-size: 1.3rem; font-weight: 600; text-align: left; margin-top: 1rem; padding-left: 1rem;">Booth 8A, Project Pavilion

We'll be using
<strong>
Flux Operator MCP Server</strong>
to show off
<a href="https://fluxcd.io/blog/2025/05/ai-assisted-gitops">
AI Assisted GitOps</a>.

The Project Pavilion is located in the Solutions Showcase. We're near the center :)</p> </div>

<h2>Talks on Flux</h2>
<p>Don't miss these Flux and GitOps-ecosystem sessions during the main conference.</p>

<div class="talk-list">

<div class="talk-card">
<div class="talk-avatars">
<img src="https://avatars.sched.co/6/73/23335813/avatar.jpg?490" alt="Tamao Nakahara">
</div>
<div class="talk-details">
<h3>Project Lightning Talk: ⚡ GitOps With Or Without Git Using Flux</h3>
<h4>Tamao Nakahara, Community Maintainer</h4>
<span class="talk-time">
<strong>Mon, Nov 10</strong> • 11:55pm - noon EST (and outside the venue for Q&A)
<br>
Building C | Level 3 | Georgia Ballroom 2
</span>
<a class="sched-link" href="https://kccncna2025.sched.com/event/27d61" target="_blank" rel="noopener">
View on Sched
</a>
</div>
</div>

<div class="talk-card">
<div class="talk-avatars">
<img src="https://i.imgur.com/b0xE9fJ.png" alt="Stefan Prodan">
<img src="https://avatars.sched.co/a/60/22649481/avatar.jpg?7f8" alt="Dipti Pai">
</div>
<div class="talk-details">
<h3>Flux - The GitLess GitOps Edition</h3>
<h4>Stefan Prodan, ControlPlane & Dipti Pai, Microsoft</h4>
<span class="talk-time">
<strong>Tues, Nov 11</strong> • 5:45pm - 6:15pm EST
<br>
Building C | Level 3 | Georgia Ballroom 2
</span>
<a class="sched-link" href="https://kccncna2025.sched.com/event/27NnQ" target="_blank" rel="noopener">
View on Sched
</a>
</div>
</div>

<div class="talk-card">
<div class="talk-avatars">
<img src="https://i.imgur.com/b0xE9fJ.png" alt="Stefan Prodan">
</div>
<div class="talk-details">
<h3>AI-Assisted GitOps With Flux MCP Server</h3>
<h4>Stefan Prodan, ControlPlane</h4>
<span class="talk-time">
<strong>Thurs, Nov 13</strong> • 11:00am - 11:30am EST
<br>
Building B | Level 2 | B206
</span>
<a class="sched-link" href="https://kccncna2025.sched.com/event/27Fco" target="_blank" rel="noopener">
View on Sched
</a>
</div>
</div>
<div class="banner-image">
<img src="https://i.imgur.com/U4dbhWJ.jpeg" alt="Flux Maintainer, Stefan Prodan, speaking to a crowd at KubeCon">
</div>
<h2>Talks about GitOps</h2>
<p>These talks cover techniques that are useful with Flux. Make a friend and share your experiences!</p>
<div class="talk-card">
<div class="talk-avatars">
<img src="https://avatars.sched.co/0/fc/6825234/avatar.jpg?9cc" alt="Jesse Suen">
</div>
<div class="talk-details">
<h3>Bringing OCI into the GitOps World</h3>
<h4>Jesse Suen, Akuity</h4>
<span class="talk-time">
<strong>Thurs, Nov 13</strong> • 11:45am - 12:15pm EST
<br>
Building B | Level 4 | B406b-407
</span>
<a class="sched-link" href="https://kccncna2025.sched.com/event/27Fdg" target="_blank" rel="noopener">
View on Sched
</a>
</div>
</div>

<div class="talk-card">
<div class="talk-avatars">
<img src="https://avatars.sched.co/b/ff/20351894/avatar.jpg?19e" alt="Alexis Richardson">
<img src="https://avatars.sched.co/f/a2/23272171/avatar.jpg?f4c" alt="Brian Grant">
</div>
<div class="talk-details">
<h3>GitOps Without Variables</h3>
<h4>Brian Grant & Alexis Richardson, ConfigHub Inc.</h4>
<span class="talk-time">
<strong>Thurs, Nov 13</strong> • 1:45pm - 2:15pm EST
<br>
Building B | Level 5 | Thomas Murphy Ballroom 1
</span>
<a class="sched-link" href="https://kccncna2025.sched.com/event/27FeG/" target="_blank" rel="noopener">
View on Sched
</a>
</div>
</div>

<div class="talk-card">
<div class="talk-avatars">
<img src="https://avatars.sched.co/9/08/20023096/avatar.jpg?d94" alt="Dag Bjerre-Andersen">
</div>
<div class="talk-details">
<h3>GitOps and the Manifest Dilemma: Helm, Kustomize, Crossplane, Kro, and Beyond</h3>
<h4>Dag Bjerre-Andersen, Egmont</h4>
<span class="talk-time">
<strong>Thurs, Nov 13</strong> • 1:45pm - 2:15pm EST
<br>
Building B | Level 3 | B312-314
</span>
<a class="sched-link" href="https://kccncna2025.sched.com/event/27Fe4" target="_blank" rel="noopener">
View on Sched
</a>
</div>
</div>

</div>

<div class="info-box" style="margin-top: 2.5rem;"> <h3>Announcing Flux 2.7 GA</h3>
<p> We're thrilled to announce the <strong>Flux 2.7 General Availability</strong> release. This is a major milestone, bringing GA status to our image update automation features. </p>
<p> Key highlights include: </p>
<ul>
<li>General Availability of Image Update Automation</li>
<li>New API: <code>ExternalArtifact</code> for extending Flux with your own sources</li>
<li>New API: <code>ArtifactGenerator</code> for composing sources and decomposing monorepos</li>
<li><code>HelmRelease</code> using <code>valuesFrom</code> can now watch ConfigMaps and Secrets for value changes</li>
<li>OpenTelemetry (OTEL) tracing support</li>
</ul>
<p> <a href="https://fluxcd.io/blog/2025/09/flux-v2.7.0/" target="_blank" rel="noopener"> Read the full 2.7 Release Announcement </a> </p> </div>

<div class="psa-banner">
<p> <strong>Flux 2.7.x Upgrade Instructions</strong> The Flux 2.7 release removes old API versions. To ensure a smooth upgrade, please follow the detailed instructions before updating your clusters.



<a href="https://github.com/fluxcd/flux2/discussions/5572" target="_blank" rel="noopener"> Upgrade instructions & Support here </a> </p> </div>

<h2>Flux Resources</h2>
<p> 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. </p>
<p> Flux is a CNCF graduated project and is General Availability. </p>

<ul class="resources-list">
<li>
<strong>Get started:</strong>
<a href="https://fluxcd.io" target="_blank" rel="noopener">fluxcd.io</a>
</li>
<li>
<strong>Get help:</strong>
<a href="https://fluxcd.io/support/" target="_blank" rel="noopener">fluxcd.io/support</a>
</li>
<li>
<strong>Add yourself!</strong>
<a href="https://fluxcd.io/adopters/" target="_blank" rel="noopener">fluxcd.io/adopters</a>
</li>
</ul>

<h3>Ecosystem</h3>
<p> Flux has a rich ecosystem of extensions and compatible, open software.
Here are a few things to look at: </p>

<ul class="resources-list">

<li>
<strong>Headlamp's UI for Flux:</strong>
<a href="https://headlamp.dev/blog/2025/03/26/flux-ui-updates/"
target="_blank" rel="noopener">Flux UI blog post</a>
</li>

<li>
<strong>Flux Operator:</strong> easier Flux upgrades -
<a href="https://github.com/controlplaneio-fluxcd/flux-operator"
target="_blank" rel="noopener">controlplaneio-fluxcd/flux-operator</a>
</li>

<li>
<strong>Flux Operator MCP Server:</strong>
<a href="https://fluxcd.io/blog/2025/05/ai-assisted-gitops"
target="_blank" rel="noopener">AI Assisted GitOps</a>
</li>

<li>
<strong>CI/CD for GenAI:</strong> GenAI example using Flux:
<a href="https://github.com/helixml/genai-cicd-ref"
target="_blank" rel="noopener">helixml/genai-cicd-ref</a>
</li>
</ul>

</div>



<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; /* Adds spacing above and below */
}

.banner-image img {
width: 100%; /* Make the image fill the container width */
height: 300px; /* Set a nice banner height for desktop */

/* This is the magic: */
object-fit: cover; /* Fill the box, maintain aspect ratio, and crop */
object-position: left center; /* Prioritize left side, crop from right */

border-radius: 8px; /* Softens the corners */
box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* Adds a subtle shadow */
display: block; /* Removes extra space below the image */
}

/* Adjust banner height for mobile */
@media (max-width: 768px) {
.banner-image img {
height: 200px; /* A shorter height is better for mobile screens */
}
}

/* --- 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; }

/* --- 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; /* Overlap */ }

.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) { .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; / Overlap on mobile */ }
.talk-details { text-align: center; } } </style>
Loading
Loading