The official website, speaker hub, sponsorship prospectus, and content management portal for Cloud Native Peshawar—the official Cloud Native Computing Foundation (CNCF) community group in Khyber Pakhtunkhwa, Pakistan.
- Official Chapter on Open Community Groups: https://ocgroups.dev/cncf/group/6vwk2n4
- Inaugural Event (CNCF Genesis): https://ocgroups.dev/cncf/group/6vwk2n4/event/z7sb6wa · Luma Event
- 100% Free & Zero Maintenance Cost: Hosted on GitHub Pages with automated CI/CD via GitHub Actions.
- Modern-Minimal / Cobalt Design (/hallmark): Clean anti-AI-slop typography (
Space Grotesk,Inter,JetBrains Mono), locked OKLCH color tokens, 8-state interactive components, and responsive mobile layout. - Git-Backed Headless CMS (
/admin): Powered by Sveltia CMS—organizers can visually publish events, speaker profiles, partner logos, and blog recaps directly to GitHub. - Dedicated Sponsor Prospectus (
/sponsors): Sponsorship tiers (Venue Host, Refreshment Partner, Swag Partner, Annual Ecosystem Partner) and sponsor ROI benefits. - Open Call for Proposals (
/speak): Dedicated speaker hub supporting 15-min Lightning Talks, 40-min Deep Dives, and 90-min Hands-on Workshops. - Event Archives (
/events): Complete archive with slides, YouTube recordings, and Open Community Groups RSVP links. - Automated OCG Event Synchronization: Daily bidirectional sync script and scheduled GitHub Actions workflow keeping community events up-to-date.
| Component | Technology | Description |
|---|---|---|
| Framework | Astro 5 | Ultra-fast, zero-JS static HTML by default |
| Styling | Vanilla CSS + OKLCH Tokens | Strict 4-pt grid system, Hallmark design compliance |
| Content Schema | Astro Content Collections (Zod) | Strongly typed Markdown schemas for events, speakers, sponsors, team, and blog |
| Headless CMS | Sveltia CMS | Fast, zero-install SPA located at /admin |
| OAuth Proxy | Cloudflare Workers (Free Tier) | Zero-cost serverless GitHub OAuth proxy (oauth-worker/) |
| CI/CD & Hosting | GitHub Pages + GitHub Actions | Automated build & deploy on push to main |
- Node.js
v20+orv22+ - npm
v10+
git clone https://github.com/cncf-peshawar/cncf-peshawar.github.io.git
cd cncf-peshawar.github.ionpm installnpm run devOpen your browser at http://localhost:4321/.
npm run buildThe repository includes a comprehensive testing and quality assurance pipeline enforcing strict type checking, end-to-end functionality, static build compilation, and link/asset integrity.
| Command | Script / Tool | Purpose |
|---|---|---|
npm test (or npm run test:all) |
node tests/e2e-runner.mjs |
Executes the 4-tier E2E test suite (Feature Coverage, Boundary & Corner Cases, Cross-Feature Integration, Real-World Scenarios). |
npm run check |
astro check |
Validates TypeScript types and Astro content collection Zod schema constraints. |
npm run build |
astro check && astro build |
Performs type check and builds optimized static HTML/CSS/JS artifacts into dist/. |
npm run check:links |
node scripts/check-links.mjs |
Verifies static internal links, anchor hashes (#id), image/script assets, and directory routing in dist/. |
To execute the identical test matrix run by CI:
npm run check && npm test && npm run build && npm run check:linksThe master test runner (tests/e2e-runner.mjs) orchestrates 4 test tiers:
- Tier 1: Feature Coverage: Validates individual components, content schemas, CMS configuration, and sync mechanisms.
- Tier 2: Boundary & Corner Cases: Tests invalid frontmatter, edge timestamps, malformed HTML feeds, and boundary inputs.
- Tier 3: Cross-Feature Integration: Evaluates interactions between OCG sync, schema validation, build output, and link integrity.
- Tier 4: Real-World Scenarios: Simulates full community lifecycle workflows, talk submissions, event additions, and partner onboarding.
Cloud Native Peshawar events are hosted on the official CNCF Open Community Groups (OCG) platform. An automated sync pipeline keeps the static portal in sync with OCG event listings.
Run the sync script manually using Node.js:
# Standard synchronization from live OCG portal
node scripts/sync-ocg-events.mjs
# Dry-run mode (simulates changes without modifying files on disk)
node scripts/sync-ocg-events.mjs --dry-run
# Custom source or custom destination directory
node scripts/sync-ocg-events.mjs --source https://ocgroups.dev/cncf/group/6vwk2n4 --events-dir src/content/events| Flag | Shorthand | Default | Description |
|---|---|---|---|
--source |
-s |
https://ocgroups.dev/cncf/group/6vwk2n4 |
Target OCG group URL, event detail URL, or local HTML fixture path. |
--events-dir |
-d |
src/content/events |
Destination directory for event Markdown files. |
--dry-run |
-n |
false |
Perform dry-run synchronization without modifying files on disk. |
--help |
-h |
— | Display help message and CLI usage guide. |
The synchronization script safely merges remote OCG data with local Markdown files without overwriting manual enhancements:
- Timezone Normalization: Automatically converts UTC ISO timestamps to Pakistan Standard Time (PKT, UTC+5 /
Asia/Karachi). - Preserved Custom Fields: Preserves manual overrides for event titles, venues, cover images (
coverImage), custom summaries, and existing Markdown body text. - Roster & Tag Union: Merges speakers and tags non-destructively, preventing duplicates while preserving manually added speakers.
- Status Lifecycle: Automatically marks past events as
completedwhile keeping future events asupcoming.
The automated sync runs automatically via .github/workflows/event-sync.yml:
- Schedule: Executes daily at 00:00 UTC (
cron: '0 0 * * *'). - Manual Trigger: Can be dispatched on demand via
workflow_dispatch. - Git Commit: Declares
contents: writepermissions to commit updated event files directly to the repository with[skip ci]if changes are detected.
You do not need to edit code to publish new events or blog posts:
- Open
http://localhost:4321/admin/(or the live URL/admin/). - Log in:
- Personal Access Token (Instant): Go to GitHub Settings -> Tokens, create a token with
reposcope, and paste it into the Personal Access Token tab in the CMS login modal. - One-Click GitHub OAuth: If your team has deployed the Cloudflare OAuth worker, click Sign in with GitHub.
- Personal Access Token (Instant): Go to GitHub Settings -> Tokens, create a token with
- Select a collection (Events & Meetups, Speakers & Mentors, Sponsors & Partners, Organizers & Team, Blog & Recaps).
- Create or edit an entry and click Save & Publish.
- The CMS commits the Markdown file directly to GitHub, triggering a fresh build on GitHub Pages in ~45 seconds.
- Push your code to GitHub:
git add . git commit -m "feat: complete Cloud Native Peshawar community portal" git push origin main
- Enable GitHub Pages:
- In your repository on GitHub, navigate to Settings -> Pages.
- Under Build and deployment -> Source, choose GitHub Actions.
- The workflow in
.github/workflows/deploy.ymlwill automatically build and publish your website.
Cloud Native Peshawar follows the official CNCF Community Code of Conduct. We are dedicated to providing a harassment-free and inclusive experience for everyone.
- Join the Official Chapter: https://ocgroups.dev/cncf/group/6vwk2n4
- Submit a Talk (CFP): Visit the Speaker Hub or email
organizers@cncfpeshawar.org - Partner / Sponsor Us: Visit the Sponsorship Prospectus