diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 85e4106d..c9c746f3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -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 diff --git a/app/issues/IssuesPageContent.tsx b/app/issues/IssuesPageContent.tsx index 9646eaae..f7937df4 100644 --- a/app/issues/IssuesPageContent.tsx +++ b/app/issues/IssuesPageContent.tsx @@ -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() @@ -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 diff --git a/app/page.tsx b/app/page.tsx index 729b0aa2..3fed229b 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -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.', }, @@ -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. )} @@ -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{' '} - add it to your schedule + check out the session . diff --git a/lib/hosts.ts b/lib/hosts.ts index e7ac4c15..eb014650 100644 --- a/lib/hosts.ts +++ b/lib/hosts.ts @@ -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/', }, @@ -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', @@ -69,7 +77,7 @@ 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/', }, @@ -77,7 +85,7 @@ export const hosts: Host[] = [ 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/', }, @@ -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', @@ -101,7 +117,7 @@ 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/', }, @@ -109,7 +125,7 @@ export const hosts: Host[] = [ 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/', }, diff --git a/lib/sessions.ts b/lib/sessions.ts index 88058de2..ddeb02b4 100644 --- a/lib/sessions.ts +++ b/lib/sessions.ts @@ -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', diff --git a/public/KubeCon-SLC-Backstage-ContribFest-2026.pdf b/public/KubeCon-SLC-Backstage-ContribFest-2026.pdf new file mode 100644 index 00000000..13ba3d28 Binary files /dev/null and b/public/KubeCon-SLC-Backstage-ContribFest-2026.pdf differ diff --git a/public/img/avatars/avatar-hope-hadfield.jpg b/public/img/avatars/avatar-hope-hadfield.jpg new file mode 100644 index 00000000..bb6fb8c5 Binary files /dev/null and b/public/img/avatars/avatar-hope-hadfield.jpg differ diff --git a/public/img/avatars/avatar-stephen-glass.jpg b/public/img/avatars/avatar-stephen-glass.jpg new file mode 100644 index 00000000..f9780e0f Binary files /dev/null and b/public/img/avatars/avatar-stephen-glass.jpg differ