docs: add deployment checklist alongside status report
This commit is contained in:
@@ -0,0 +1,277 @@
|
||||
# KubeCon Campaign & Content Rollout Checklist
|
||||
## March 13-27, 2026
|
||||
|
||||
**Status**: Awaiting GitHub auth resolution
|
||||
**Ready**: 8 feature branches with 12+ social posts, 3 blog posts
|
||||
**Target**: Launch March 14, continuous deployment through March 27
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ BLOCKING ISSUE
|
||||
|
||||
**GitHub authentication not configured**
|
||||
- `get-github-token.sh` requires `GITHUB_APP_ID_HUGH` environment variable
|
||||
- No `gh` CLI available for fallback
|
||||
- **Resolution**: Set env var OR provide GH_TOKEN OR delegate to authenticated machine
|
||||
|
||||
**Once Resolved**: Follow checklist below in order.
|
||||
|
||||
---
|
||||
|
||||
## PHASE 1: Git Operations (30 mins)
|
||||
**Responsible**: DevOps/Engineering
|
||||
**Trigger**: GitHub auth is available
|
||||
|
||||
- [ ] Set `GITHUB_APP_ID_HUGH` env var OR configure GH_TOKEN
|
||||
- [ ] From `/paperclip/privilegedescalation/marketing/samuel/org-repo`:
|
||||
```bash
|
||||
git push origin social/2026-03-12-industry-commentary
|
||||
git push origin social/2026-03-10-why-we-built-these
|
||||
git push origin social/march-9-puretensor-batch
|
||||
git push origin social/2026-03-11-slow-burn-curiosity
|
||||
git push origin social/kubecon-eu-2026
|
||||
git push origin content/2026-03-11-technical-changelog
|
||||
git push origin docs/2026-03-13-status-report
|
||||
```
|
||||
- [ ] Verify all 8 branches appear in origin: `git branch -a | grep origin`
|
||||
|
||||
---
|
||||
|
||||
## PHASE 2: PR Creation (1 hour)
|
||||
**Responsible**: CMO or Samuel (once auth fixed)
|
||||
**Action**: Create PRs in this specific order (dependencies matter)
|
||||
|
||||
| # | PR Title | Branch | Depends On | Timing |
|
||||
|---|----------|--------|-----------|--------|
|
||||
| #14 | [social] batch: Why We Built These — problem-solution narrative | `social/2026-03-10-why-we-built-these` | — | March 17 launch |
|
||||
| #15 | [social] batch: slow-burn curiosity — dashboard discovery angle | `social/2026-03-11-slow-burn-curiosity` | #14 merged | March 20 launch |
|
||||
| #16 | [social] batch: March 9 releases + PureTensor community moment | `social/march-9-puretensor-batch` | #14 merged | March 19 launch |
|
||||
| #17 | [content] changelog: March 9 releases technical deep-dive | `content/2026-03-11-technical-changelog` | — | Anytime |
|
||||
| #18 | [docs] status report: content inventory & deployment plan | `docs/2026-03-13-status-report` | — | CMO review only |
|
||||
| #20 | [social] batch: Industry commentary — ops culture hot takes | `social/2026-03-12-industry-commentary` | — | March 14 launch |
|
||||
| — | KubeCon posts already exist | `social/kubecon-eu-2026` | ready to merge | March 21 launch |
|
||||
|
||||
**PR Creation Steps**:
|
||||
```bash
|
||||
# PR #14
|
||||
gh pr create --title "[social] batch: Why We Built These — problem-solution narrative" \
|
||||
--body "Explains the pain point each of our 6 plugins solves. Serves as context for KubeCon campaign. Ready for immediate posting."
|
||||
|
||||
# PR #15
|
||||
gh pr create --title "[social] batch: slow-burn curiosity — dashboard discovery angle" \
|
||||
--body "Evergreen posts that seed curiosity without answering. Timing: March 20-22 (pre-KubeCon momentum)."
|
||||
|
||||
# PR #16
|
||||
gh pr create --title "[social] batch: March 9 releases + PureTensor community moment" \
|
||||
--body "Celebrates our first organic star (PureTensor lab running Ceph). Ties releases to real adoption."
|
||||
|
||||
# PR #17
|
||||
gh pr create --title "[content] changelog: March 9 releases technical deep-dive" \
|
||||
--body "Technical post for users who want release details. Versioning, breaking changes, upgrade path."
|
||||
|
||||
# PR #20
|
||||
gh pr create --title "[social] batch: Industry commentary — ops culture hot takes" \
|
||||
--body "Establishes voice as operators who understand reality vs aspirations. Posts 1-3 ship immediately. Posts 4-5 risky/discuss. Posts 6-7 evergreen."
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## PHASE 3: Content Review (30 mins - 1 hour)
|
||||
**Responsible**: CMO
|
||||
**Action**: Review PRs and approve for merge
|
||||
|
||||
**What to look for**:
|
||||
- ✅ Voice consistency (irreverent but credible, no corporate language)
|
||||
- ✅ Technical accuracy (verified against release notes)
|
||||
- ✅ Platform formatting (Twitter length, LinkedIn tone, Reddit conversational)
|
||||
- ✅ No legal/trademark issues
|
||||
- ✅ Timing makes sense for KubeCon strategy
|
||||
|
||||
**Merge order**:
|
||||
1. #14 (Why We Built These) — provides context for later posts
|
||||
2. #20 (Industry Commentary) — establishes credibility early
|
||||
3. #16 (Releases + PureTensor) — community moment, timely
|
||||
4. #15 (Slow-Burn Curiosity) — builds momentum into KubeCon
|
||||
5. KubeCon branch — ready when conference approaches
|
||||
|
||||
---
|
||||
|
||||
## PHASE 4: Scheduling Setup (1-2 hours)
|
||||
**Responsible**: Operations/Social Media Manager
|
||||
**Action**: Import posts into scheduling tool
|
||||
|
||||
**Tool Integration** (choose one):
|
||||
- [ ] Buffer
|
||||
- [ ] Hootsuite
|
||||
- [ ] Twitter/X native scheduler
|
||||
- [ ] Manual posting (not recommended for volume)
|
||||
- [ ] Other: ___________
|
||||
|
||||
**Content to Import**:
|
||||
|
||||
**THIS WEEK (March 14-19)**
|
||||
```
|
||||
March 14 (Thu): Industry Commentary Post 1 — Observability Theater
|
||||
March 15 (Fri): Industry Commentary Post 2 — 3-Line PR Bottleneck
|
||||
March 16 (Sat): Industry Commentary Post 3 — README as Docs
|
||||
|
||||
March 17 (Sun): Why We Built These — Post 1 (Rook-Ceph)
|
||||
March 18 (Mon): Why We Built These — Post 2 (Sealed Secrets)
|
||||
March 19 (Tue): Why We Built These — Post 3 (Polaris)
|
||||
+ March 9 Releases Post 1 (Rook release news)
|
||||
March 20 (Wed): Why We Built These — Post 4 (Intel GPU)
|
||||
+ Slow-Burn Post 1 (Dashboard discovery)
|
||||
```
|
||||
|
||||
**KUBECON WEEK (March 21-27)**
|
||||
```
|
||||
March 21 (Thu): Why We Built These — Post 5 (TrueNAS CSI)
|
||||
+ KubeCon Teaser Post
|
||||
|
||||
March 23 (Sat): KubeCon Day 1 — Rook-Ceph deep-dive
|
||||
|
||||
March 24 (Sun): KubeCon Day 2 — Intel GPU hot take
|
||||
|
||||
March 25 (Mon): KubeCon Day 3 — Sealed Secrets UX+Security
|
||||
|
||||
March 26 (Tue): KubeCon Day 4 — Ecosystem Thread (MARQUEE POST)
|
||||
|
||||
March 27 (Wed): KubeCon Recap + CTA (star the repos)
|
||||
```
|
||||
|
||||
**Reddit Post**:
|
||||
- [ ] Schedule `r/kubernetes` post for March 23 (KubeCon Day 1)
|
||||
- [ ] Title: "We built 6 Headlamp plugins for Kubernetes — storage, security, GPU monitoring. All open source."
|
||||
- [ ] Note: Cannot schedule Reddit posts; requires manual posting or thread bot
|
||||
- [ ] Backup: Post manually at 9am PT on March 23
|
||||
|
||||
---
|
||||
|
||||
## PHASE 5: Launch Monitoring (March 14+)
|
||||
**Responsible**: CMO / Samuel
|
||||
**Action**: Monitor initial posts for engagement/issues
|
||||
|
||||
**March 14 Soft Launch**:
|
||||
- [ ] Post Industry Commentary Post #1 (Observability Theater)
|
||||
- [ ] Monitor for:
|
||||
- Reply volume (engagement signal)
|
||||
- Negative sentiment (adjust tone if needed)
|
||||
- Link clicks (traffic to plugins)
|
||||
- Retweets/shares (reach)
|
||||
- [ ] If strong engagement: Consider bumping post frequency
|
||||
- [ ] If low engagement: Debug (wrong platform? wrong time? wrong audience?)
|
||||
- [ ] Document learnings in slack/comment thread
|
||||
|
||||
**March 21-27 KubeCon Monitoring**:
|
||||
- [ ] Monitor #KubeCon hashtag for:
|
||||
- Mentions of our plugins
|
||||
- People asking about dashboard tools
|
||||
- Competitors posting (Lens, Rancher, etc.)
|
||||
- [ ] If someone mentions a pain point we solve:
|
||||
- Consider quick reply with relevant plugin link
|
||||
- CC Samuel for potential follow-up content
|
||||
- [ ] Log all interactions for post-KubeCon report
|
||||
|
||||
---
|
||||
|
||||
## PHASE 6: Post-KubeCon Reflection (March 28+)
|
||||
**Responsible**: CMO / Samuel
|
||||
**Action**: Measure impact and plan next steps
|
||||
|
||||
**Metrics to Track**:
|
||||
- [ ] Social media followers gained (Twitter, LinkedIn, Bluesky, Mastodon)
|
||||
- [ ] GitHub stars added across 6 plugins
|
||||
- [ ] Repository fork growth
|
||||
- [ ] Website traffic (from social links)
|
||||
- [ ] Mentions in r/kubernetes, r/DevOps, etc.
|
||||
- [ ] Plugin adoption signals (issues filed, PRs submitted)
|
||||
- [ ] Community commentary (screenshots, appreciation posts)
|
||||
|
||||
**Content Opportunities Emerging**:
|
||||
- [ ] Did anyone deploy the plugins? (spotlight post candidate)
|
||||
- [ ] Did anyone fork/modify? (community contribution moment)
|
||||
- [ ] Are there feature requests? (product insight)
|
||||
- [ ] Did any Kubernetes influencers mention us? (follow-up engagement)
|
||||
|
||||
**Prepare for Next Cycle**:
|
||||
- [ ] Samuel drafts "KubeCon Reflection" blog post (what we learned)
|
||||
- [ ] Next social batch topic: based on questions received during KubeCon
|
||||
- [ ] Engineering: Review plugin issues/PRs for triage
|
||||
|
||||
---
|
||||
|
||||
## Risk Mitigation
|
||||
|
||||
**If GitHub Auth Remains Blocked Beyond March 15**:
|
||||
- [ ] Delegate push/PR creation to authenticated machine
|
||||
- [ ] Samuel continues drafting on local branches
|
||||
- [ ] CMO manually manages PR sequence
|
||||
|
||||
**If KubeCon News Breaks Before March 21** (e.g., keynote announcement):
|
||||
- [ ] Samuel drafts reactive/tie-in post immediately
|
||||
- [ ] CMO approves and posts within 2 hours
|
||||
- [ ] Works even if PR system is still blocked (emergency posting)
|
||||
|
||||
**If Post Engagement is Low**:
|
||||
- [ ] Check posting time (might be hitting time zone wrong)
|
||||
- [ ] Verify posts went live (scheduler didn't fail)
|
||||
- [ ] Ask: wrong audience? wrong platform? wrong message?
|
||||
- [ ] Adjust March 18+ strategy based on March 14-17 learnings
|
||||
|
||||
**If Mentions Are Negative**:
|
||||
- [ ] Don't delete/argue
|
||||
- [ ] Log the feedback
|
||||
- [ ] Samuel drafts thoughtful reply (can be shared in DM or comment)
|
||||
- [ ] Review whether tone was misinterpreted
|
||||
|
||||
---
|
||||
|
||||
## Success Criteria
|
||||
|
||||
**Minimum**:
|
||||
- All 27+ posts published on schedule
|
||||
- No duplicate posts
|
||||
- No broken links to repos
|
||||
- At least one plugin gains a new star during KubeCon week
|
||||
|
||||
**Ideal**:
|
||||
- 500+ new Twitter followers during KubeCon week
|
||||
- 10+ new stars across plugins
|
||||
- At least one blog post shared by Kubernetes influencer
|
||||
- At least 3 GitHub issues opened with plugin feature requests
|
||||
- r/kubernetes post gets 50+ upvotes
|
||||
|
||||
**Excellent**:
|
||||
- One plugin hits 10+ stars
|
||||
- Headlamp team notices and retweets campaign
|
||||
- One plugin featured in a third-party blog post or newsletter
|
||||
- Real adoption reported (teams running the plugins)
|
||||
|
||||
---
|
||||
|
||||
## Communication Channels
|
||||
|
||||
**If Issues Arise**:
|
||||
- Slack: #social-media (Samuel)
|
||||
- GitHub: Comments on relevant PR
|
||||
- Emergency: Direct message CMO
|
||||
|
||||
**Status Updates**:
|
||||
- Daily: Samuel posts progress in #social-media
|
||||
- End of week: Engagement summary to CMO
|
||||
- Post-KubeCon: Full metrics report
|
||||
|
||||
---
|
||||
|
||||
## Files to Reference
|
||||
|
||||
- `/paperclip/privilegedescalation/marketing/samuel/org-repo/STATUS_REPORT_2026-03-13.md` — Full content inventory
|
||||
- `/paperclip/privilegedescalation/marketing/samuel/org-repo/social/` — All drafted posts
|
||||
- `/paperclip/privilegedescalation/marketing/samuel/org-repo/content/` — Blog posts
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: March 13, 2026
|
||||
**Status**: Ready to execute upon GitHub auth resolution
|
||||
**Owner**: Samuel (drafted), CMO (execution)
|
||||
|
||||
Reference in New Issue
Block a user