Skip to content
Closed
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
2 changes: 1 addition & 1 deletion .github/workflows/deploy-gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
# Open Graph URLs point to the production domain.
- name: Build website
env:
SITE_URL: https://castrojo.github.io
SITE_URL: https://cncf.github.io
BASE_URL: /endusers/
run: npm run build:production

Expand Down
13 changes: 7 additions & 6 deletions LAUNCH.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Salt Lake City. **Today (2026-08-08) is 13 weeks out — launch Monday is
labeled, CONTRIBUTING path verified by a non-author, maintainer bus
factor > 1.
3. Have the ownership question (ADR 0001, issue #46) decided before launch so
the announcement points at the site's permanent home.
the announcement points at the site's permanent home (settled: transferred to `cncf/endusers`).

## Non-goals

Expand All @@ -30,7 +30,7 @@ Salt Lake City. **Today (2026-08-08) is 13 weeks out — launch Monday is
| Week | Date | Milestone |
|------|------|-----------|
| W-13 | 2026-08-11 | Merge LICENSE (#40) and close Phase 0; create the four GitHub milestones (#78) so every launch task is tagged |
| W-12 | 2026-08-17 | ADR 0001 ownership decision made (#46/#99) — this gates the announcement target and DNS work |
| W-12 | 2026-08-17 | ADR 0001 ownership decision made (#46/#99) — completed late on 2026-09-16: transferred to `cncf/endusers` (Option A Accepted) |
| W-11 | 2026-08-24 | Metrics refresh workflow landed (#74); events page lists KubeCon NA 2026 co-located end-user events (#75) |
| W-10 | 2026-08-31 | Awards list verified complete against cncf.io announcements (#77) |
| W-9 | 2026-09-07 | Architectures freshness indicator on-page (#80); community/TAB staleness signal (#79) |
Expand Down Expand Up @@ -59,10 +59,11 @@ Baselines are as of 2026-08-08; capture the W-6 baseline snapshot in #100.

## Dependencies and risks

- **Ownership decision (ADR 0001)** is the critical path: without it the
announcement can't say where the site lives permanently. If undecided by
W-9, launch announces the current URL with an explicit "permanent home
pending" note rather than slipping the date.
- **Ownership decision (ADR 0001)**: resolved via transfer to `cncf/endusers`.
The canonical home is established under the CNCF org. Remaining operational
dependency before launch is DNS cutover to `endusers.cncf.io` (Phase 3);
if DNS is still propagating or pending at launch, the announcement links
`cncf.github.io/endusers`.
- **Merge throughput** (#58): the plan assumes the human merge gate keeps its
current burst cadence; the W-13 and W-12 items are all merge-gated, not
work-gated.
Expand Down
2 changes: 1 addition & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ trust for a site that presents itself as a CNCF community property (see issue

| Name | GitHub | Role |
| --- | --- | --- |
| Jorge Castro | [@castrojo](https://github.com/castrojo) | Maintainer (repo owner) |
| Jorge Castro | [@castrojo](https://github.com/castrojo) | Maintainer |

This list intentionally starts with one person. The goal of this document is
the process below, not the roster above.
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,14 @@ npm run docusaurus start -- --host 0.0.0.0 --port 3000 --poll 10000

## Deployment

The site deploys to [endusers.cncf.io](https://endusers.cncf.io/). Site configuration:

- `url: 'https://endusers.cncf.io'`
- `baseUrl: '/'`

The source repository is [castrojo/endusers](https://github.com/castrojo/endusers). The
long-term ownership and CNCF-org cutover path for this site is not yet decided; see
[ADR 0001](./adr/0001-site-ownership-and-cutover-path.md).
The live site currently deploys to GitHub Pages at
[https://cncf.github.io/endusers/](https://cncf.github.io/endusers/).
DNS cutover to the production domain [endusers.cncf.io](https://endusers.cncf.io/)
is pending completion of Phase 3.

The canonical source repository is [cncf/endusers](https://github.com/cncf/endusers).
The repository was transferred to the CNCF organization in September 2026 (see
[ADR 0001](./adr/0001-site-ownership-and-cutover-path.md)).

## Metrics data

Expand Down
15 changes: 7 additions & 8 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ shipped silently. Content completeness alone is not a launch plan.
human contributors immediately before announcing, so launch impact is
measurable rather than assumed. As of 2026-08-08 the baseline is 0 stars,
0 watchers, 1 fork.
- [ ] **DNS cutover dependency**: cutover to `endusers.cncf.io` is gated on the
Phase 2 ownership decision (issue #46, ADR 0001). If undecided by launch,
the announcement links the current GitHub Pages URL instead of slipping
the date.
- [ ] **DNS cutover dependency**: repository ownership is settled under `cncf/endusers`
(ADR 0001 Accepted); remaining cutover to `endusers.cncf.io` is tracked in Phase 3.
If DNS cutover is pending at launch, the announcement links the GitHub Pages staging URL
(`cncf.github.io/endusers`) instead of slipping the date.
- [ ] **30-day check-in**: compare stars/watchers/forks/contributors against the
baseline snapshot and record whether the launch moved the needle.

Expand All @@ -73,15 +73,14 @@ Goal: the project can outlive any single maintainer.
- [x] MAINTAINERS.md with an explicit process for adding maintainers (#55)
- [x] Governance note describing review/merge expectations, including agent-automation policy (GOVERNANCE.md, #60)
- [ ] Good-first-issue curation to recruit human contributors
- [ ] Decide the long-term home of the site (issue #46, ADR 0001): transfer to a CNCF org,
remain a personal staging site, or merge into an existing CNCF property. Decision deadline: 2026-08-17
(see `adr/0001-site-ownership-and-cutover-path.md` for the documented options and path)
- [x] Decide the long-term home of the site (issue #46, ADR 0001): transferred to the
CNCF organization as `cncf/endusers` (Option A Accepted). Remaining DNS cutover tracked in Phase 3.

## Phase 3 — Ecosystem integration

Goal: endusers.cncf.io becomes the authoritative end-user destination.

- [ ] DNS cutover to endusers.cncf.io (depends on Phase 2 ownership decision)
- [ ] DNS cutover to endusers.cncf.io (Phase 2 ownership settled under `cncf/endusers`)
- [ ] Cross-linking with contribute.cncf.io and cncf.io (clear audience
boundaries)
- [ ] Public feedback loop: content-issue templates and a visible changelog
Expand Down
82 changes: 35 additions & 47 deletions adr/0001-site-ownership-and-cutover-path.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,27 @@
# ADR 0001: Site ownership and cutover path for endusers.cncf.io

- **Status**: Proposed
- **Status**: Accepted
- **Date**: 2026-08-08
- **Decision deadline**: 2026-08-17 (LAUNCH.md week W-12; see "Decision" below)
- **Tracking issue**: [#46](https://github.com/castrojo/endusers/issues/46)
- **Decision date**: 2026-09-16
- **Decision deadline**: 2026-08-17 (Missed/superseded by transfer to `cncf` org on 2026-09-16)
- **Tracking issue**: [#46](https://github.com/cncf/endusers/issues/46)

## Context

The README describes this site as "the home of the CNCF End User Community" and
the build deploys content branded `endusers.cncf.io`. In practice today:

- The source repository lives in a personal account (`castrojo/endusers`), not a
CNCF-owned GitHub org.
- The repository's GitHub Pages homepage is `castrojo.github.io/endusers`, not
the `endusers.cncf.io` domain.
- Content is derived from authoritative CNCF sources (cncf/architecture,
cncf/landscape, cncf/tab), so alignment with CNCF is already a stated
requirement (see `AGENTS.md`), but there is no CNCF org ownership, no DNS
cutover, and no documented governance decision.

Until this is resolved, every investment in content, SEO, and metrics
accumulates in a property whose long-term home is undecided. This is a
strategic risk for adoption and for contributor recruitment, and it blocks
Phase 2/3 of the roadmap (see `ROADMAP.md`, PR #50).
the build deploys content branded `endusers.cncf.io`.

Originally, the source repository lived in a personal account (`castrojo/endusers`)
with GitHub Pages deployed to `castrojo.github.io/endusers`.
In September 2026, Option A was enacted: the canonical repository was transferred
to the CNCF organization as [cncf/endusers](https://github.com/cncf/endusers),
with staging GitHub Pages deployed to `cncf.github.io/endusers`.

With CNCF organization ownership established, the project is officially housed
under CNCF infrastructure. The remaining operational milestone is Phase 3:
the DNS cutover to `endusers.cncf.io`.
Resolving ownership removes the strategic risk around repo longevity and contributor
recruitment, fulfilling the Phase 2 milestone (see `ROADMAP.md`).

## Decision drivers

Expand Down Expand Up @@ -73,44 +72,33 @@ contributor-site or cncf.io) instead of standing up a new one.
information architecture.

## Decision
**Accepted (Option A: Transfer to the `cncf` GitHub org).**

Not yet made. This ADR exists to record the options and their tradeoffs so
that CNCF end-user/TAB stakeholders and the repo owner can make an informed
decision. The decision itself belongs to the owner and CNCF stakeholders, not
to automated tooling.
The repository has been transferred to the CNCF organization as
`cncf/endusers` (canonical non-fork repository), and `castrojo/endusers` has
become a personal fork. The default GitHub Pages staging host is now
`cncf.github.io/endusers`.

To keep this from stalling silently (see issue #99), a decision deadline is
recorded above: **2026-08-17**. This date is not a default answer — it is the
point by which the owner and CNCF stakeholders should have picked among
Options A, B, and C (or explicitly extended the deadline in a follow-up PR to
this ADR). `LAUNCH.md` treats this ADR's decision as its W-12 gating
milestone, since the announcement plan cannot name the site's permanent home
until this is resolved.
This resolves the strategic ownership question raised in issue #46: the site
is officially an upstream CNCF property, enabling broader community maintainership
and governance under the CNCF umbrella.

If the deadline passes without a decision, the fallback is Option B (stay
personal) by default, purely to avoid blocking Phase 1/2 content work — this
default does not close the ADR or set Status to Accepted, it just documents
what "no decision yet" means operationally for downstream work.
Remaining work is operational and tracked under Phase 3:
1. DNS cutover to `endusers.cncf.io`.
2. Updating GitHub Pages custom domain / CNAME once DNS verification is complete.

## Proposed next step

1. Open a discussion with CNCF end-user community and TAB stakeholders on the
intended long-term home for this content (see options above). A
ready-to-send outreach draft, with suggested venues and stakeholders, is
available at [0001-stakeholder-outreach-draft.md](./0001-stakeholder-outreach-draft.md)
(proposed in PR #113).
2. Land the prerequisites shared by every option regardless of outcome:
LICENSE (done: #32 / PR #40) and a governance/MAINTAINERS note (#47).
3. By the decision deadline above, update this ADR's Status and Decision
sections, link the outcome from `ROADMAP.md` Phase 2, and open the
follow-up issues/PRs needed to execute it (org transfer, DNS cutover, or
content merge).
1. Transfer to `cncf` org: **Completed**. Canonical repository is `cncf/endusers`.
2. Prerequisites: LICENSE (done: #32 / PR #40) and governance/MAINTAINERS (done: #47, #55, #60).
3. Next: Execute Phase 3 DNS cutover to `endusers.cncf.io` and configure custom domain in Pages.
4. Stakeholder outreach draft (`0001-stakeholder-outreach-draft.md`) is archived/retained for historical context.

## Consequences

- Until a decision is recorded here, roadmap items that depend on ownership
(DNS cutover, cross-linking with contribute.cncf.io/cncf.io) remain blocked
by design.
- Repository ownership is settled under `cncf/endusers`.
- Phase 2 ownership gating milestone is complete.
- Phase 3 (DNS cutover to `endusers.cncf.io` and cross-linking with CNCF properties) is unblocked.
- This ADR should be superseded (not silently edited into a different
decision) if the chosen path changes after being recorded, so the history of
the decision stays auditable.
21 changes: 8 additions & 13 deletions adr/0001-stakeholder-outreach-draft.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
# Stakeholder outreach draft for ADR 0001
# Historical: Stakeholder outreach draft for ADR 0001

This is a ready-to-send draft supporting [ADR 0001](./0001-site-ownership-and-cutover-path.md)
"Proposed next step" #1: opening a discussion with CNCF end-user/TAB
stakeholders on the long-term home for this site. It exists so a maintainer
can act on that step without first having to draft the outreach themselves.
Nothing here commits the project to an option — the decision still belongs to
the repo owner and CNCF stakeholders (see ADR 0001, "Decision").
> **Historical Document**: This outreach draft was prepared prior to the repository's
> transfer to the CNCF organization. On 2026-09-16, Option A (transfer to the `cncf`
> GitHub org) was enacted, establishing `cncf/endusers` as the canonical upstream
> repository and fulfilling ADR 0001 (Accepted). This draft is preserved solely as a
> historical record of the options evaluated during the transition.

## Who to loop in

Expand Down Expand Up @@ -58,9 +57,5 @@ Thanks,

## After the conversation

1. Record the outcome in ADR 0001's "Decision" section (update Status from
"Proposed" to "Accepted", with the chosen option and date).
2. Update `ROADMAP.md` Phase 2/3 to reflect the decision and unblock the
dependent items (DNS cutover, cross-linking, or content-merge plan).
3. Delete or trim this file once the outreach has happened — it is a
one-time aid, not a living document.
*(Historical Note: The transfer was completed on 2026-09-16.
ADR 0001 was updated to Accepted with Option A, and ROADMAP.md Phase 2 was updated.)*
2 changes: 1 addition & 1 deletion adr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ still pending) so future contributors understand why, not just what.

| ADR | Title | Status |
| --- | --- | --- |
| [0001](./0001-site-ownership-and-cutover-path.md) | Site ownership and cutover path for endusers.cncf.io | Proposed |
| [0001](./0001-site-ownership-and-cutover-path.md) | Site ownership and cutover path for endusers.cncf.io | Accepted |
6 changes: 3 additions & 3 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const config = {

// Set the production url of your site here.
// Override with SITE_URL/BASE_URL for non-production deployments such as
// GitHub Pages previews (e.g. SITE_URL=https://castrojo.github.io BASE_URL=/endusers/).
// GitHub Pages previews (e.g. SITE_URL=https://cncf.github.io BASE_URL=/endusers/).
url: siteUrl,
baseUrl,

Expand Down Expand Up @@ -97,15 +97,15 @@ const config = {
docs: {
routeBasePath: '/', // Serve the docs at the site's root
sidebarPath: './sidebars.js',
editUrl: 'https://github.com/castrojo/endusers/tree/main',
editUrl: 'https://github.com/cncf/endusers/tree/main',
},
blog: {
showReadingTime: true,
feedOptions: {
type: ['rss', 'atom'],
xslt: true,
},
editUrl: 'https://github.com/castrojo/endusers/tree/main/',
editUrl: 'https://github.com/cncf/endusers/tree/main/',
// Useful options to enforce blogging best practices
onInlineTags: 'warn',
onInlineAuthors: 'warn',
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/castrojo/endusers.git"
"url": "git+https://github.com/cncf/endusers.git"
},
"author": "CNCF",
"license": "CC-BY-4.0",
Expand Down