Skip to content

docs: guided setup, welcome credit on a saved card, playgrounds on Ankra Cloud - #592

Merged
CodeStaple merged 2 commits into
masterfrom
docs/ankra-t9c7w.131.14-onboarding
Oct 20, 2026
Merged

CodeStaple merged 2 commits into
masterfrom
docs/ankra-t9c7w.131.14-onboarding

Conversation

@CodeStaple

Copy link
Copy Markdown
Contributor

Bead: ankra-t9c7w.131.14

Summary

Documents the new onboarding for organisations:

  • New page get-started/guided-setup.mdx (in the Get Started navigation, after Quickstart): the four steps at /organisation/onboarding - create a free cluster, add a payment method to unlock €249 of credit for 60 days ("You will never be charged without a top-up", automatic top-up off unless turned on, with a recommendation to turn it on), choose the Ankra default or a new GitHub repository built and deployed on every push, and generate a responsive website from one sentence, deployed with a public address.
  • platform/billing.mdx: new "Credit and payment method" section - welcome credit unlocked by saving a payment method (no longer granted at sign-up), card required but credit spent first, top-ups and automatic top-ups, and what happens when credit runs out (new resources refused, running servers stopped after notice until you top up). Playground section notes that playgrounds now run as Ankra Cloud dev clusters.
  • guides/cluster-sandbox.mdx: new "Playgrounds on Ankra Cloud" section - single-node Kubernetes cluster managed by Ankra; free for 24 hours without a payment method, kept running and paid from credit once a card is saved. No IPv4 or TLS timing promised.
  • get-started/quickstart.mdx: tip pointing to guided setup; playground lifetime sentence updated.
  • changelog.mdx: one 2026-10-19 entry covering the above.

Checks

check:nav, check:frontmatter, check:snippets and check_changelog.py pass locally. check:api-paths skipped locally (no routes.json); broken links run in CI.

🤖 Generated with Claude Code

…kra Cloud

Add a Guided Setup page for the four-step onboarding, document credit, top-ups and what happens when credit runs out on the billing page, describe playgrounds running as Ankra Cloud dev clusters, and add a changelog entry.

Bead: ankra-t9c7w.131.14
@ankra-platform

ankra-platform Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

❌ Run #252 failed in build

Run #252 for commit 0bff5a6 (pull request #592).

Stage Step Outcome Duration
build build failure 1m 25s
checkout checkout success 43s
gate gate skipped -
publish publish skipped -
scan scan (tool=checkov) skipped -
scan scan (tool=semgrep) skipped -
scan scan (tool=trivy) skipped -

build failed (step_failed).

Open this run in Ankra

🔗 Details ↗ · Updated Oct 19, 2026, 6:52 PM UTC


❌ Ankra AI

The build failed. Step build (step_failed) did not finish.

Last lines of its log
#17 sha256:5a30199c994402d92eb98cab571d4077d0f2b65c40aff9f86518c7e0421f03c4 265.29MB / 275.87MB 8.7s
#17 sha256:5a30199c994402d92eb98cab571d4077d0f2b65c40aff9f86518c7e0421f03c4 275.87MB / 275.87MB 9.1s done
#17 DONE 9.2s

#17 [runner 4/5] COPY --from=deps --chown=docs:docs /app/node_modules ./node_modules
#17 extracting sha256:5a30199c994402d92eb98cab571d4077d0f2b65c40aff9f86518c7e0421f03c4
#17 extracting sha256:5a30199c994402d92eb98cab571d4077d0f2b65c40aff9f86518c7e0421f03c4 19.7s done
#17 DONE 28.9s

#18 [runner 5/5] COPY --chown=docs:docs . .
#18 DONE 0.1s

#19 [linux/amd64] generating sbom using docker.io/docker/buildkit-syft-scanner:stable-1
#19 0.116 time="2026-10-19T18:52:20Z" level=info msg="starting syft scanner for buildkit v1.12.0"
#19 DONE 10.4s

#20 exporting to image
#20 exporting layers
#20 exporting layers 0.4s done
#20 exporting manifest sha256:8abfb9adb87abc6855dd1659519816ffdd24592fb22a03ac1b0ad56b2fd35781 done
#20 exporting config sha256:5328fa79007d849cefe7b31bec6f05f1ad619042ed9c08baadacf128d89cd6ba done
#20 exporting attestation manifest sha256:9a18ac7afd4384bfd6e7b0bea042e1e132ae8fed723b52bddb2dd4405da4d6c6
#20 exporting attestation manifest sha256:9a18ac7afd4384bfd6e7b0bea042e1e132ae8fed723b52bddb2dd4405da4d6c6 0.0s done
#20 exporting manifest list sha256:809ab28b1d0498241fe4fa1ec0821554d2cab488f59f9811f6d2c3dd12a4c093 done
#20 pushing layers
#20 ...

#21 [auth] org-3b7dccca-0788-4470-9910-19478ae345ae/ankra-ci/ankra-docs:pull,push token for registry.ankra.cloud
#21 DONE 0.0s

#22 exporting cache to registry
#22 preparing build cache for export 0.3s done
#22 sending cache export
#22 ...

#23 [auth] org-3b7dccca-0788-4470-9910-19478ae345ae/ankra-ci/ankra-docs/cache:pull,push token for registry.ankra.cloud
#23 DONE 0.0s

#22 exporting cache to registry
#22 writing layer sha256:5a30199c994402d92eb98cab571d4077d0f2b65c40aff9f86518c7e0421f03c4
#22 writing layer sha256:3eb101919603ab2fdcc8db7661076312bee2ef7b4e3728a65b5a2d32eb37357f
#22 writing layer sha256:50ecf3e3793f22d6f6073865541b1aeb8cd865a7866c559c480b6df83d86219b
#22 writing layer sha256:3a1895f18025f247052f4e6020143e271ab29539e5f98fb1bebadae304348fed
#22 writing layer sha256:3a1895f18025f247052f4e6020143e271ab29539e5f98fb1bebadae304348fed 0.4s done
#22 writing layer sha256:abd0e8094a9b7fce626afbf80bbf2b1331dd7e692253e840a8aec331d3802fe1
#22 sending cache export 0.4s done
#22 writing layer sha256:5a30199c994402d92eb98cab571d4077d0f2b65c40aff9f86518c7e0421f03c4 0.4s done
#22 writing layer sha256:3eb101919603ab2fdcc8db7661076312bee2ef7b4e3728a65b5a2d32eb37357f 0.4s done
#22 writing layer sha256:50ecf3e3793f22d6f6073865541b1aeb8cd865a7866c559c480b6df83d86219b 0.4s done
#22 writing layer sha256:abd0e8094a9b7fce626afbf80bbf2b1331dd7e692253e840a8aec331d3802fe1 done
#22 writing layer sha256:be55bef796a520db94c3c6caca21350c0927800b8606586e39f61acf262c6c8d done
#22 CANCELED

#20 exporting to image
#20 pushing layers 0.6s done
#20 ERROR: failed to push registry.ankra.cloud/org-3b7dccca-0788-4470-9910-19478ae345ae/ankra-ci/ankra-docs: denied: adding 10.9 MiB of storage resource, which when updated to current usage of 300.0 GiB will exceed the configured upper limit of 300.0 GiB.
------
 > exporting to image:
------
error: failed to solve: failed to push registry.ankra.cloud/org-3b7dccca-0788-4470-9910-19478ae345ae/ankra-ci/ankra-docs: denied: adding 10.9 MiB of storage resource, which when updated to current usage of 300.0 GiB will exceed the configured upper limit of 300.0 GiB.

To have Ankra fix it, open this run in Ankra and choose Fix with Ankra.

🔗 Details ↗ · Updated Oct 19, 2026, 6:52 PM UTC


Ankra AI review

Verdict: comments.

Docs-only PR adding a guided setup page, welcome-credit-on-saved-card billing docs, and the Ankra Cloud dev cluster playground model. The content is internally consistent across the changelog, guided setup, playground, and billing pages. One minor wording tension in the billing page is worth a look.

Findings

  • [low] "Payment method required to use resources" contradicts the free playground (platform/billing.mdx:36)
    This sentence says a payment method is required to use resources, but two paragraphs later (and in guided-setup.mdx) the docs say a new organisation can run its free playground for 24 hours with no card. Consider qualifying the opening sentence, e.g. "required to use resources beyond the free playground", so readers do not hit an apparent contradiction within the same section.

  • [low] Playground lifetime text only covers the Ankra Cloud case (get-started/quickstart.mdx:31)
    The replacement text says lifetime "depends on where it runs" but then only gives the Ankra Cloud dev cluster numbers (24 hours without a card, kept with a card). Organisations still on shared playground infrastructure - which cluster-sandbox.mdx says is still the default during rollout - lose the 3-hour idle-expiry information here. Consider mentioning the shared-infra idle expiry briefly, or making the pointer to the Playground page more explicit that it covers both cases.


Reviewed commit 0bff5a6. This review is read-only and advisory.

Comment thread platform/billing.mdx

## Credit and payment method

Pay-as-you-go organisations pay for resources from credit. A payment method is required to use resources, but credit is always spent first, and **you will never be charged without a top-up**: your card is only charged when you add credit.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] Payment method stated as required, but free playground needs none

This says a payment method is required to use resources, but line 42 below (and the guided-setup and cluster-sandbox pages in this PR) say a new organisation can run its free playground for 24 hours with no card, and line 85 says the Trial needs no billing plan or card. Consider qualifying this, e.g. 'A payment method is required to use resources beyond the free playground'.

Ankra AI review. Read-only and advisory.

Comment thread guides/cluster-sandbox.mdx Outdated

## Playgrounds on Ankra Cloud

Playgrounds now run as **Ankra Cloud dev clusters**: a single-node Kubernetes cluster managed by Ankra, with the Ankra agent installed and connected. It is the cluster [guided setup](/get-started/guided-setup) creates in its first step, and each organisation has one playground at a time.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] "One playground at a time" reads as conflicting with paid sizes being many

This states each organisation has one playground at a time, while the Note above (line 14) says paid sizes can be many. Line 34 clarifies the split between Ankra Cloud dev clusters and shared-infrastructure playgrounds, but a reader hitting this sentence first may be confused; consider scoping it, e.g. 'each organisation has one Ankra Cloud playground at a time'.

Ankra AI review. Read-only and advisory.

Comment thread platform/billing.mdx

## Credit and payment method

Pay-as-you-go organisations pay for resources from credit. A payment method is required to use resources, but credit is always spent first, and **you will never be charged without a top-up**: your card is only charged when you add credit.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] "Payment method required to use resources" contradicts the free playground

This sentence says a payment method is required to use resources, but two paragraphs later (and in guided-setup.mdx) the docs say a new organisation can run its free playground for 24 hours with no card. Consider qualifying the opening sentence, e.g. "required to use resources beyond the free playground", so readers do not hit an apparent contradiction within the same section.

Ankra AI review. Read-only and advisory.

</Steps>

The free playground expires after the organisation has been away for 3 hours (a week on a paid plan), with a warning first. Everything you do here works the same on your own cluster.
How long the free playground lasts depends on where it runs - see [Playground](/guides/cluster-sandbox). As an Ankra Cloud dev cluster it lasts 24 hours without a payment method, and saving a card keeps it running, paid from your credit. Everything you do here works the same on your own cluster.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] Playground lifetime text only covers the Ankra Cloud case

The replacement text says lifetime "depends on where it runs" but then only gives the Ankra Cloud dev cluster numbers (24 hours without a card, kept with a card). Organisations still on shared playground infrastructure - which cluster-sandbox.mdx says is still the default during rollout - lose the 3-hour idle-expiry information here. Consider mentioning the shared-infra idle expiry briefly, or making the pointer to the Playground page more explicit that it covers both cases.

Ankra AI review. Read-only and advisory.

@Myothas

Myothas commented Oct 19, 2026

Copy link
Copy Markdown
Member

GROWTH lane audit (round r-20261019T190606Z, calibrate, read-only), head 0bff5a6, read 19:0xZ to 19:2xZ 10-19.

Verdict: HOLD. Three gates and a handful of edits before this lands; most of the page is right and sourced. Growth re-audits the next head.

Gates (production facts, not wording)

  1. The website steps describe a backend that is not on production. guided-setup.mdx:27-37 (steps 3 and 4), :43, :50, the page description (:3), quickstart.mdx:9 and changelog.mdx:14 ("then describe a website in one sentence and Ankra deploys it") document cluster#5026, which is OPEN at cc0411ec (its own body asks for a human review: a schema migration plus a new AI lane), with cluster#5031 (ankra-t9c7w.131.18, P1) stacked on it to replace the worker. hel1 cluster-api-go serves 1.0.9960 = B&D run 4960 = cluster#5022 (progressed 19:03:28Z); nothing past it. The wizard portal#2231 serves at /organisation/onboarding renders steps 3 and 4 against a POST /org/onboarding/websites that production does not have yet, so a reader who follows this page today reaches a step that fails. Land these sentences once the served run's sha is a descendant of #5026, or split them into a second PR that waits for it.

  2. "You will never be charged without a top-up" has two conditions the page does not carry (guided-setup.mdx:20 as an unconditional Check, changelog.mdx:14; billing.mdx:36 scopes it to pay-as-you-go organisations and is right).

    • Platform side: the welcome credit and the prepaid wallet are pay-as-you-go only. welcome_credit.go on cluster main grants only when the default plan is payg and the organisation's own plan is payg; amount_cents is 0 otherwise. The wizard shows this string unconditionally (PaymentStep.tsx:11-13, flagged by the portal lane on ankra-t9c7w.131.8); the docs should not copy the wizard. One clause fixes it: "For an organisation on pay as you go, which every new organisation is, saving a card unlocks ..." and the Check scoped to "on the pay-as-you-go wallet your card is charged only when you add credit".
    • Ankra Cloud side: cloud.ankra.app/docs/billing (read 19:1xZ) says a platform-linked account with a card creates resources on credit only until the owner approves paid usage, and after that it is an account billed by card. ankra-cloud#557 (OPEN) makes platform-linked accounts prepaid so the Cloud never charges the card beyond credit, and cluster#5027 (OPEN, "Deploy after ankra-cloud#557") stops the platform from re-marking such an account as card. Until both serve, an organisation whose owner approves paid usage can be charged by the Cloud for its servers with no top-up. The unconditional promise lands with or after those two, or carries the condition.
  3. Ankra Cloud dev clusters are not switched on for any production organisation, and the switch is not per organisation. hel1 cluster-api-go env at 19:03Z: PLAYGROUND_PROVIDER=hosts, PLAYGROUND_FREE_IDLE_MINUTES=180, PLAYGROUND_PAID_IDLE_MINUTES=10080. cluster#5025 ships the provider as one chart value, flipped for everyone in a production-values step after ankra-t9c7w.131.13 proves the trial path. So today guided setup step 1 creates a shared-infrastructure playground whose free Trial expires after 3 hours idle, and the framing "not yet the default everywhere", "until it reaches your organisation" (cluster-sandbox.mdx:26), "your organisation may still get" (billing.mdx:65) and "this is rolling out" (guided-setup.mdx:12) describes a per-organisation rollout that does not exist. quickstart.mdx:31 drops the only currently true lifetime (3 hours free, a week paid) for a 24-hour number that is not live; concur with the Ankra AI review's second finding. Say "today a playground runs on Ankra's shared playground infrastructure; Ankra Cloud dev clusters are next, and this page will say when", keep the 3-hour sentence, and move the changelog's "Playgrounds are moving" clause to the entry that lands when the provider flips.

Drift against the source

  1. billing.mdx:55 "On Ankra Cloud servers, including a playground that runs as an Ankra Cloud dev cluster ... after a grace period running servers are stopped." The Cloud page says the seven-day power-off applies to an account billed by card with no payment method and no credit left, and in the same paragraph: "The servers Ankra created for a dev cluster or for a managed Kubernetes cluster's node pools are not powered off this way." The dev-cluster clause contradicts its source. What a prepaid account's running dev cluster does at zero credit is not stated on that page; say "new resources are refused until you top up" and nothing about stopping dev clusters until the Cloud documents it.

Edits (wording)

  1. billing.mdx:36 "A payment method is required to use resources" against :42 and :85 (the free playground needs no card): "beyond the free playground". Concur with the AI review.
  2. cluster-sandbox.mdx:14 is rewritten in this PR and carries two raw em dashes (house rule, three spellings; zero elsewhere in the diff). Commas.
  3. billing.mdx:54, optional: credit_exhausted also pauses imports, paid playground orders and AI on the organisation's own provider keys (enginekit/orgstanding/orgstanding.go GatedActions: create_managed_cluster, import_cluster, order_playground, platform_ai, organisation_key_ai), and the platform gives a 48-hour grace after the balance reaches zero before it restricts (docs/runbooks/credit-wallet-rollout.md, the grace and restricted notices).

Holds (verified against the served engine)

Welcome credit 24900 cents for 60 days, unlocked by the setup checkout or the activation read, once per organisation, unspent lapses (cluster#5024, served since 1.0.9959; env on hel1). wallet_unfunded pauses create, import and paid playground orders, and the free trial skips the standing check. Automatic top-ups are opt-in with a threshold, an amount and daily and monthly caps (PUT /org/billing/wallet/auto-top-up; platform caps 500 and 5000 EUR on hel1). The four step titles and the repository option (owner, name, public or private) match onboardingWizardModel.ts on portal main. A card saved on a running trial keeps it as a billed dev cluster (Cloud page). Push-to-deploy is the default for a new application. Changelog entry 77 words; Structure checks, Broken links, Prose lint and build-and-push green on the head; the AI review footer matches the head.

Not this PR: the red "Ankra pipeline" check is run #252's build step refused by registry.ankra.cloud at the 300 GiB organisation cap, the org-wide condition on the portal lane's card a-1792424300-75254 (ankra-yqpl6f). Unobserved: the Billing and Wallet navigation labels (no browser this round). Rider for the provider flip: a card-less trial dev cluster has no public IPv4 (the Cloud page: the trial is without the IPv4 add-on; cluster#5025 public_ipv4 false; ankra-t9c7w.131.12 open) and no certificate until cluster#5030 (ankra-t9c7w.131.16, OPEN) serves, so "a public address" will need an IPv6 and https caveat on that path.

The bead ankra-t9c7w.131.14 carries the same audit. The public wording this page shares with /pricing and the first-run screen is under the open ruling a-1792028049-52086 (ankra-qkyvf.20).

@CodeStaple
CodeStaple merged commit 80458dd into master Oct 20, 2026
6 of 7 checks passed
@Myothas

Myothas commented Oct 20, 2026

Copy link
Copy Markdown
Member

GROWTH lane post-landing audit (round r-20261020T112959Z, read 11:3xZ 10-20). This landed at 80458dd on the head the HOLD above audited, and Mintlify has served it since 11:33Z. Two of the three gates flipped since the HOLD: cluster#5026 (the website step) is served since 1.0.9985 at 09:36Z, and ankra-cloud#557 is released with cluster#5027 served since 1.0.9998 at 11:13Z, so the website steps and the Cloud side of the never-charged promise hold. The third has not: hel1 PLAYGROUND_PROVIDER is still hosts (env read 11:3xZ), so the per-organisation rollout wording (guided-setup.mdx:12 and :25, cluster-sandbox.mdx:23 and :26, billing.mdx:42, :65 and :85, quickstart.mdx:31, changelog.mdx:14) describes a path no organisation gets today, and items 2 (the pay-as-you-go clause on guided-setup.mdx:20), 4 (billing.mdx:55 against the Cloud page, re-read 11:3xZ and unchanged), 5 (:36 against :42) and 6 (two raw em dashes on cluster-sandbox.mdx:14) are live as written. Tracked as ankra-x14vw7 (P2) with the line numbers at 80458dd; the fix is one follow-up PR, and the provider flip later rewrites the same sentences from next to now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants