feat: add the official website - #818
Draft
Xuanwo wants to merge 1 commit into
Draft
Conversation
Bootstrap the reqsign website under website/: a Docusaurus site that shares the Apache OpenDAL website's design skeleton while carrying reqsign's own brand identity, with docs organized around the user journey and a machine-checked provider capability catalog that fails CI when it drifts from the workspace.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
reqsign's only public product entry today is the root README, and it has already drifted from the code: the supported-services list is missing Volcengine, the Aliyun quick-start example calls
aliyun::default_signer()without the requiredbucketargument, and the README tagline disagrees with the.asf.yamldescription. A README cannot carry provider capability claims, behavior contracts, or a growing provider list without drifting further.This PR bootstraps the official website under
website/so that product positioning, task-oriented docs, and per-provider capability claims have a maintained, verifiable home. Targeted canonical URL ishttps://reqsign.opendal.apache.org/(pending dev@ consensus and an INFRA request;url/baseUrlstay configurable so the documented fallbacks need no code change).Context reviewers may want
website/UPSTREAM_DESIGN.mdrecords the upstream commit, the mechanical rename rules, and which overrides are intentional and never synced.website/data/providers.json. Each entry was verified against the code atcd22149— including the real default-chain slot order from each service'sDefaultCredentialProviderBuilderand the exactpub structnames of all credential providers.scripts/validate-providers.mjschecks the catalog againstcargo metadata(crates exist, facade features exist, every workspace crate claimed, one docs page per provider) and fails CI on drift.scripts/check-external-assets.mjsenforces this after every build), no analytics, staging builds setnoIndex, and the footer carries the trademark attribution.website/pnpm-lock.yamlis excluded from hawkeye since generated files cannot carry license headers.AuthorizedUser/ExternalAccount/ImpersonatedServiceAccount) point to docs.rslatestbut 404 until the next crates.io release, since those types exist only onmaintoday. Landing-page code snippets mirrorreqsign/examples/and in-tree doc tests; wiring the per-provider quickstarts into compiled examples is planned as a follow-up.Local verification:
pnpm build(fails on broken internal links), the two scripts above, and a light/dark visual pass.