Repository navigation
feat: Add an availability block to feature pages - #366
Conversation
A page can declare where a feature is available in its frontmatter: Unikraft Cloud, BYOC, or on-prem, with the plan and the interfaces. A remark plugin inserts the block under the page title. Seven pages use the block in place of their "Limited Access" callouts. Signed-off-by: aabedraba <abdallah@unikraft.com>
jesi-rgb
left a comment
There was a problem hiding this comment.
outstanding idea, great execution
Reviewed-by: Jesús Rascón jesus@unikraft.io
Approved-by: Jesús Rascón jesus@unikraft.io
danielvallance
left a comment
There was a problem hiding this comment.
Reviewed-by: Daniel Vallance daniel@unikraft.com
Approved-by: Daniel Vallance daniel@unikraft.com
danielvallance
left a comment
There was a problem hiding this comment.
this is really cool! once the build passes i will merge
(also maybe later we could set up a data source for this so we dont have to make a PR every time a feature's availability changes)
The first commit regenerated it with a different package manager, which rewrote entries that did not change. This one comes from the pnpm that the README pins, so the diff is the three new packages and two bumps. Signed-off-by: aabedraba <abdallah@unikraft.com>
The page defines Unikraft Cloud, BYOC, and on-prem, and explains how to read the block. Each chip in the "Available on" row links to its section. Signed-off-by: aabedraba <abdallah@unikraft.com>
Zudoku copies the raw page body into the .md exports and llms-full.txt, so the block that the remark plugin inserts never reaches them. A script after the build writes the same facts as a blockquote under the title. Signed-off-by: aabedraba <abdallah@unikraft.com>
The thirteen remaining feature pages get a block. Four callouts about CLI support or preview status move into the block's notes. Signed-off-by: aabedraba <abdallah@unikraft.com>
Signed-off-by: aabedraba <abdallah@unikraft.com>
Active voice for the license sentence, contractions, no undefined acronym, and no list that trips the Oxford comma rule. Signed-off-by: aabedraba <abdallah@unikraft.com>
Signed-off-by: aabedraba <abdallah@unikraft.com>
The Dockerfile installs with --prod before it runs the build, which drops every dev dependency. The remark plugin and the export script import yaml at build time, so it has to be a regular dependency. unist-util-visit was never imported, so it goes away. Signed-off-by: aabedraba <abdallah@unikraft.com>
Vale joins the lines of a paragraph with spaces before it runs a token rule, so the old regex fired on every paragraph that already kept one sentence per line. A script rule walks the raw lines instead, and skips fenced code blocks. Signed-off-by: aabedraba <abdallah@unikraft.com> (cherry picked from commit 1fa7946)
The raw scope keeps the frontmatter, so a note text with two sentences in one YAML value tripped the rule. Signed-off-by: aabedraba <abdallah@unikraft.com>
| |---|---|---| | ||
| | [Unikraft Cloud](#unikraft-cloud) | Unikraft, in the [metros](/platform/metros) | Everyone with an account | | ||
| | [BYOC](#byoc) | Unikraft, in your cloud account | Enterprise customers | | ||
| | [On-prem](#on-prem) | You, in your data center | Enterprise customers | |
There was a problem hiding this comment.
oh, we should also add a "dedicated hosting" section here (and in the availability components)
There was a problem hiding this comment.
Added in 80c6855 - a Dedicated chip on every page, plus a section on the hosting options page.
Dedicated takes the BYOC mark everywhere, since the website puts all three under "full control of the host". I also wrote that a dedicated install is a metro of its own with its own API endpoint, same as BYOC - that's right, yes?
The website lists three enterprise deployments, not two: dedicated hosts, BYOC and on-prem. The block and the hosting options page only knew about two. Dedicated takes the BYOC mark on every page, since both give full control of the host. Signed-off-by: aabedraba <abdallah@unikraft.com>
Every other page sets a status. A missing one renders as GA anyway, so the frontmatter now says so. Signed-off-by: aabedraba <abdallah@unikraft.com>
The other coming-soon notes link to support, and this was the only enterprise page with no support address. Signed-off-by: aabedraba <abdallah@unikraft.com>
danielvallance
left a comment
There was a problem hiding this comment.
Reviewed-by: Daniel Vallance daniel@unikraft.com
Approved-by: Daniel Vallance daniel@unikraft.com


Feature pages get a block under the title that says where the feature runs (Unikraft Cloud, BYOC, on-prem), the plan as a hint on the Unikraft Cloud chip, and which of the API, CLI and SDKs expose it. It comes from the page frontmatter: a remark plugin puts it under the H1, and a post-build script writes the same facts into the
.mdexports andllms-full.txt, since Zudoku copies the raw body there and agents would otherwise never see it.All 18 feature pages use it, mostly instead of their "Limited Access" / "CLI coming soon" callouts. I checked each one against the R10-R14 notes and
prod-stable. Three I'm not sure about: branching, checkpoints and plugins are marked enterprise (R11 says they need a license, the pages never say so), and forking is "coming soon" everywhere because the page says it isn't on stable yet.The chips link to a new
/platform/hosting-optionspage that defines the three options.Not TODO: