Skip to content

fix(auth): tell a first-run operator where the first certificate comes from - #106

Merged
Bugs5382 merged 1 commit into
mainfrom
fix/70-first-run-bootstrap
Sep 25, 2026
Merged

Bugs5382 merged 1 commit into
mainfrom
fix/70-first-run-bootstrap

Conversation

@Bugs5382

@Bugs5382 Bugs5382 commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

What and why

The web-side part of #70 that stands on its own today.

At first run nobody holds an operator certificate, so pressing Log in lands on the
no-certificate denial, whose help says "your fleet operator issues the certificate".
On a new fleet the reader is that operator and nothing has been issued, so the page
was a dead end.

The certificate install help now ends with a short "Standing up a new fleet?"
section: issue the first admin credential from the operator CA the manager trusts
(operatorCAPath), install it as above, with a link to the manager deployment guide
section that carries the OpenSSL recipe and the level extension bytes.

This does not close #70. The conditional gate -- a first-run screen that skips
the operator-certificate requirement when the fleet is not bootstrapped -- needs the
manager to report bootstrap state and mint the first credential. That contract
(GetBootstrapState / BootstrapOperator on FleetService) is specified in
CryptOS-PKI/cryptos-manager#78 and does not exist in api yet; the web first-run screen is
step 4 of that issue. When it lands, this section is superseded.

Refs #70

Verification

  • Lint clean
  • Tests pass
  • Build succeeds

How this was verified

  • New CertificateHelp test failed before the change and passes after: first-run
    heading, operatorCAPath mention, and a link to deploying-standalone.md#3-...
    in the manager repo.
  • prettier --check ., eslint ., tsc --noEmit, vitest run (288 tests) and
    npm run build all clean locally.
  • The anchor 3-the-operator-ca-does-not-have-to-be-a-cryptos-node confirmed present
    in the rendered manager doc.

…s from

On a fleet nobody has logged in to yet, the no-certificate denial told the
reader their fleet operator issues the certificate. At first run the reader is
the operator and no certificate exists yet, so the landing page was a dead end.

The install help now carries a short first-run section: issue the first admin
credential from the operator CA the manager trusts (operatorCAPath), and a link
to the deployment guide section with the OpenSSL recipe.

Refs #70
@Bugs5382 Bugs5382 added the bug Something isn't working. label Sep 25, 2026
@Bugs5382 Bugs5382 self-assigned this Sep 25, 2026
@github-actions github-actions Bot added the fix Bug fix (fix). Patch. label Sep 25, 2026
@Bugs5382
Bugs5382 merged commit dfe37e3 into main Sep 25, 2026
17 of 18 checks passed
@Bugs5382
Bugs5382 deleted the fix/70-first-run-bootstrap branch September 25, 2026 13:51
Bugs5382 added a commit that referenced this pull request Sep 25, 2026
…s from (#106)

On a fleet nobody has logged in to yet, the no-certificate denial told the
reader their fleet operator issues the certificate. At first run the reader is
the operator and no certificate exists yet, so the landing page was a dead end.

The install help now carries a short first-run section: issue the first admin
credential from the operator CA the manager trusts (operatorCAPath), and a link
to the deployment guide section with the OpenSSL recipe.

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

Labels

bug Something isn't working. fix Bug fix (fix). Patch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(web): first-run bootstrap — do not gate on an operator cert before a signed Root CA exists

1 participant