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
16 changes: 8 additions & 8 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@
# Owners can be @users, @org/teams, or email addresses.

# Default owners for everything in the repo
* @awanlin @backstage/framework-maintainers
* @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers

# Frontend components
/components/ @backstage/framework-maintainers
/app/ @backstage/framework-maintainers
/components/ @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers
/app/ @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers

# Configuration files
/package.json @backstage/framework-maintainers
/renovate.json @backstage/framework-maintainers
/.github/ @backstage/framework-maintainers
/package.json @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers
/renovate.json @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers
/.github/ @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers

# Documentation
/docs/ @backstage/framework-maintainers
/README.md @backstage/framework-maintainers
/docs/ @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers
/README.md @awanlin @stephenglass @hopehadfield @backstage/framework-maintainers
4 changes: 2 additions & 2 deletions app/issues/IssuesPageContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { useSearchParams } from 'next/navigation'
import { useMemo } from 'react'

// Set to true when ContribFest is active
const CONTRIBFEST_ACTIVE = false
const CONTRIBFEST_ACTIVE = true

export default function IssuesPageContent() {
const searchParams = useSearchParams()
Expand All @@ -19,7 +19,7 @@ export default function IssuesPageContent() {

// Check if access is allowed (after March 26, 2026 or admin bypass)
const { accessAllowed, targetDate } = useMemo(() => {
const target = new Date('2026-03-26T00:00:00')
const target = new Date('2026-11-11T00:00:00')
const now = new Date()
const allowed = now >= target || isAdmin

Expand Down
19 changes: 10 additions & 9 deletions app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,22 @@ import { WelcomeCard } from '@/components/WelcomeCard'
import type { ResourceCard } from '@/lib/types'

// Set to true when ContribFest is active
const CONTRIBFEST_ACTIVE = false
const CONTRIBFEST_ACTIVE = true

const sessionResources: ResourceCard[] = [
{
title: 'ContribFest Slide Deck',
description:
'Presentation slides with workshop overview, contribution tips, and resources. A handy reference for workshop structure and guidance throughout the session.',
url: `/KubeCon-Amsterdam-Backstage-ContribFest-2026.pdf`,
url: `/KubeCon-SLC-Backstage-ContribFest-2026.pdf`,
isExternal: true,
note: 'The slide deck will be available before the event.',
},
{
title: 'Assignment Sheet',
description:
'Google Sheet for participants to assign themselves to issues they want to work on. Claim your issue and track progress during the session.',
url: 'https://docs.google.com/spreadsheets/d/1lltOy3A25zWUXb3XdtkHBD5CHzrmfm8DRaWt7vh0WKU/edit?gid=232343915#gid=232343915',
url: 'https://docs.google.com/spreadsheets/d/1Bw3fclWcIt7_x7NlpWnJ0DTiaEQqjQ2KkvySiofoHZQ/edit?gid=232343915#gid=232343915',
isExternal: true,
note: 'Access to the Assignment Sheet will be provided on the day of the event.',
},
Expand Down Expand Up @@ -105,8 +106,8 @@ export default function Page() {
lineHeight: '1.6',
}}
>
Backstage ContribFest will return in November, with more details to be shared nearer
the date.
Backstage ContribFest will return at KubeCon Barcelona in March 2027, with more
details to be shared nearer the date.
</div>
)}

Expand All @@ -122,15 +123,15 @@ export default function Page() {
lineHeight: '1.6',
}}
>
The next Backstage ContribFest session takes place at KubeCon in Amsterdam on March 26,
2026 at 13:45 CET in room G107, be sure to{' '}
The next Backstage ContribFest session takes place at KubeCon in Salt Lake City on
November 11, 2026 at 4:10 PM MST in Room 255 D (Salt Palace, Level 2), be sure to{' '}
<a
href="https://kccnceu2026.sched.com/event/2EF7v/contribfest-supercharge-your-open-source-impact-backstage-contribfest-live-andre-wanlin-emma-indal-spotify-heikki-hellgren-op-financial-group-elaine-bezerra-db-systel-gmbh"
href="https://kubecon-cloudnativecon-north-america-2026.sessionize.com/session/1294770"
target="_blank"
rel="noopener noreferrer"
style={{ color: 'var(--bui-bg-solid, #1f5493)', fontWeight: 600 }}
>
add it to your schedule
check out the session
</a>
.
</div>
Expand Down
26 changes: 21 additions & 5 deletions lib/hosts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export const hosts: Host[] = [
name: 'Ben Lambert',
title: 'Senior Engineer',
company: 'Spotify',
kubecon: 'Salt Lake City',
kubecon: 'Salt Lake City 2024',
imagePath: '/img/avatars/avatar-ben-lambert.jpg',
linkedinUrl: 'https://www.linkedin.com/in/benlambert1/',
},
Expand Down Expand Up @@ -57,6 +57,14 @@ export const hosts: Host[] = [
imagePath: '/img/avatars/avatar-heikki-hellgren.jpg',
linkedinUrl: 'https://www.linkedin.com/in/heikkihellgren/',
},
{
name: 'Hope Hadfield',
title: 'Software Engineer',
company: 'Red Hat',
kubecon: 'Salt Lake City 2026',
imagePath: '/img/avatars/avatar-hope-hadfield.jpg',
linkedinUrl: 'https://www.linkedin.com/in/hope-hadfield/',
},
{
name: 'Kurt King',
title: 'Senior Software Engineer',
Expand All @@ -69,15 +77,15 @@ export const hosts: Host[] = [
name: 'Patrik Oldsberg',
title: 'Senior Engineer',
company: 'Spotify',
kubecon: 'Salt Lake City, London, Atlanta',
kubecon: 'Salt Lake City 2024, London, Atlanta',
imagePath: '/img/avatars/avatar-patrik-oldsberg.jpg',
linkedinUrl: 'https://www.linkedin.com/in/patrik-oldsberg/',
},
{
name: 'Paul Schultz',
title: 'Senior Software Engineer',
company: 'Red Hat',
kubecon: 'Salt Lake City',
kubecon: 'Salt Lake City 2024',
imagePath: '/img/avatars/avatar-paul-schultz.jpg',
linkedinUrl: 'https://www.linkedin.com/in/schultzp2020/',
},
Expand All @@ -89,6 +97,14 @@ export const hosts: Host[] = [
imagePath: '/img/avatars/avatar-peter-macdonald.jpg',
linkedinUrl: 'https://www.linkedin.com/in/peter-j-macdonald/',
},
{
name: 'Stephen Glass',
title: 'Lead Software Engineer',
company: 'AT&T',
kubecon: 'Salt Lake City 2026',
imagePath: '/img/avatars/avatar-stephen-glass.jpg',
linkedinUrl: 'https://www.linkedin.com/in/stephen-glass/',
},
{
name: 'Vincenzo Scamporlino',
title: 'Senior Engineer',
Expand All @@ -101,15 +117,15 @@ export const hosts: Host[] = [
name: 'Yi Cai',
title: 'Senior Software Engineer',
company: 'Red Hat',
kubecon: 'Salt Lake City',
kubecon: 'Salt Lake City 2024',
imagePath: '/img/avatars/avatar-yi-cai.jpg',
linkedinUrl: 'https://www.linkedin.com/in/yi-cai/',
},
{
name: 'Andre Wanlin',
title: 'Customer Success Engineer',
company: 'Spotify',
kubecon: 'Salt Lake City, London, Atlanta, Amsterdam',
kubecon: 'Salt Lake City 2024, London, Atlanta, Amsterdam, Salt Lake City 2026',
imagePath: '/img/avatars/avatar-andre-wanlin.jpg',
linkedinUrl: 'https://www.linkedin.com/in/andr%C3%A9-wanlin-31a00a16a/',
},
Expand Down
12 changes: 10 additions & 2 deletions lib/sessions.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
import type { ContribFestSession } from './types';

export const sessions: ContribFestSession[] = [
{
location: 'Salt Lake City',
subtitle: 'KubeCon + CloudNativeCon North America',
date: 'November 2026',
blogUrl:
'https://kubecon-cloudnativecon-north-america-2026.sessionize.com/session/1294770',
comingSoon: true,
linkText: 'View Session',
},
{
location: 'Amsterdam',
subtitle: 'KubeCon + CloudNativeCon Europe',
date: 'March 2026',
blogUrl:
'https://kccnceu2026.sched.com/event/2EF7v/contribfest-supercharge-your-open-source-impact-backstage-contribfest-live-andre-wanlin-emma-indal-spotify-heikki-hellgren-op-financial-group-elaine-bezerra-db-systel-gmbh?iframe=no',
comingSoon: true,
linkText: 'Add to Schedule',
linkText: 'View on Sched',
},
{
location: 'Atlanta',
Expand Down
Binary file not shown.
Binary file added public/img/avatars/avatar-hope-hadfield.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/img/avatars/avatar-stephen-glass.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading