Skip to content

docs: Fixes and new guides from quick-start beta testing - #238

Merged
mike-scott merged 7 commits into
mainfrom
playtest-doc-changes
Aug 26, 2026
Merged

docs: Fixes and new guides from quick-start beta testing#238
mike-scott merged 7 commits into
mainfrom
playtest-doc-changes

Conversation

@mike-scott

@mike-scott mike-scott commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Doc fixes and new guides from walking the quick start as a new user.

  • quick-start — clarify the tuf-init/auth-init ordering, and add device enrollment via
    fio-device-register (and mention fioup).
  • migration (new) — FoundriesFactory-specific setup moved out of the
    quick start: factory-PKI signing, TUF root import, repointing devices.
  • container (new) — run the server in Docker: image build, init,
    serve, compose quick launch; contrib/README.md becomes an index.
  • advanced (new) — listen-address flags, certificate lifetimes, and
    manual device registration against POST /v1/devices.
  • run-locally — link the local auth provider guide.

Comment thread docs/build-an-update.md Outdated
Comment thread docs/build-an-update.md Outdated
Comment thread docs/quick-start.md Outdated
Comment thread docs/quick-start.md
Comment thread README.md Outdated
## Migrating from FoundriesFactory
Have an existing factory with provisioned devices? The
[migration guide](./docs/migration.md) covers signing with your factory PKI,
importing your fleet's TUF root, and repointing devices at this server.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this should somehow be part of "quick-start" section. Otherwise it implies you could do a quick-start and then migrate from a FoundriesFactory which won't work.

or - we leave it like this and assume that while our initial users will mostly be FF users, eventually that will be the exception.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Leaving for now and we can move this if needed in a later PR.

Comment thread docs/container.md
docker compose run --rm server --datadir=/data pki-init --dnsname <HOSTNAME> --factory <FACTORY>
docker compose run --rm server --datadir=/data auth-init --test
docker compose run --rm server --datadir=/data tuf-init
docker compose up -d

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

this is probably the right way. However, we could introduce an entrypoint.sh script that detects an unprovisioned /data directory and run these command automagically.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I didn't want to hard-code the Dockerfile to a "development" container. In theory, a user can provision the datadir whichever way they want it and then spin the same container. I also wasn't sure what the e2e section and our CI were using the container for and didn't wan to break them.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

doesn't have to be in the Dockerfile - the entrypoint can be mounted via your compose yml

Comment thread docs/quick-start.md
Comment thread docs/advanced.md Outdated
Comment thread docs/container.md Outdated
@mike-scott

Copy link
Copy Markdown
Contributor Author

@doanac @kprosise I split off 2 easy fixes into PR#241

@mike-scott
mike-scott force-pushed the playtest-doc-changes branch from ea8c9e1 to dec4984 Compare August 26, 2026 03:21
@mike-scott

Copy link
Copy Markdown
Contributor Author

Rebased on main and doesn't include the rename changes in PR#238

@mike-scott
mike-scott force-pushed the playtest-doc-changes branch 2 times, most recently from 818fff4 to 0474031 Compare August 26, 2026 03:48

@kprosise kprosise left a comment

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.

Syntax and style suggestions provided. There are other issues with these pages, such as the frequency of pointing readers to other pages.
There needs to be a balance between not repeating content, and having a focused flow; directing a reader to a different page breaks the flow adding to their cogitative load.

Links can also frequently be combined with the first mention of the content, rather than a "…see link".

That said, these issues can be worked on in follow up PRs.

Comment thread docs/advanced.md Outdated
Comment thread contrib/README.md Outdated
Comment thread contrib/README.md Outdated
Comment thread contrib/README.md Outdated
Comment thread contrib/README.md Outdated
Comment thread docs/quick-start.md Outdated
Comment thread docs/run-locally.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md

@kprosise kprosise left a comment

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.

Syntax and style suggestions provided. There are other issues with these pages, such as the frequency of pointing readers to other pages.
There needs to be a balance between not repeating content, and having a focused flow; directing a reader to a different page breaks the flow adding to their cogitative load.

Links can also frequently be combined with the first mention of the content, rather than a "…see link".

That said, these issues can be worked on in follow up PRs.

@doanac doanac left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I only have a couple nits. I think we should go ahead and get this merged soon as its an overall improvement. We can circle back and start to think more about bigger usability topics.

Comment thread docs/quick-start.md Outdated
Comment thread docs/quick-start.md
@mike-scott
mike-scott force-pushed the playtest-doc-changes branch from 0474031 to 2d0ca69 Compare August 26, 2026 20:05
@mike-scott

Copy link
Copy Markdown
Contributor Author

Rebase to main first.

Next I'll apply comments

@mike-scott
mike-scott force-pushed the playtest-doc-changes branch from 2d0ca69 to 466bde8 Compare August 26, 2026 21:10
@mike-scott

mike-scott commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

This was a really nice clean up. Thank you for the reviews!

I applied mostly all of the changes requested (those that weren't applied, I didn't resolve) and reflowed the docs around those edits so that we keep our typical 80-char width in the .md files. Hopefully that doesn't make this too hard to re-review.

I added a STYLE.md to #235 based on the findings here.
And I realized later that I should have just used: https://github.com/foundriesio/fio-style/blob/main/style-guide.md

mike-scott and others added 7 commits August 26, 2026 15:19
The note framed the auth-init dependency as import-specific, but a
plain tuf-init also fails without the HMAC secret, and the root-key
backup warning applies to both paths.

Signed-off-by: Michael Scott <mike@foundries.io>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The guide ended by naming sota.toml settings without their values and
never explained how a device obtains its mTLS client certificate. Show
enrollment with fio-device-register pointed at this server.

Signed-off-by: Michael Scott <mike@foundries.io>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Factory-PKI signing flow and the TUF root import only apply to
users bringing an existing FoundriesFactory fleet to this server, yet
the quick-start walked every reader through them. Collect them in
docs/migration.md, organized as a migration: sign the server TLS
certificate with the Factory PKI, import the fleet's TUF root, and
repoint provisioned devices at the new gateway — the last giving the
sota.toml server settings their actual values. While moving the
content: document the local sign-csr signing alternative, correct the
roots tarball command to download-roots, and fix a heading typo. Link
the guide from README.md, the quick-start, and run-locally's
limitations.

Signed-off-by: Michael Scott <mike@foundries.io>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Document standing up an evaluation server in Docker: build the image
from contrib/server/Dockerfile, initialize the datadir through the
container, and serve — including the docker compose quick launch, the
existing-Factory-PKI variant, and a warning that the published ports
listen on all host interfaces. The image build fails when the embedded
UI assets are Git-LFS pointer stubs, and a server built from such a
checkout refuses to start; describe that behavior and the git lfs pull
recovery.

Signed-off-by: Michael Scott <mike@foundries.io>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The compose instructions ran a bare auth-init, which configures no
auth provider and leaves serve unable to start; index the directory
contents and defer setup steps to the container guide.

Signed-off-by: Michael Scott <mike@foundries.io>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Document the serve listen-address flags, the certificate lifetime
options, and manual device registration against POST /v1/devices —
the flow behind fio-device-register, for devices without it. The
gateway port is baked into enrollment sota.toml files, so it must be
chosen before enrolling devices.

Signed-off-by: Michael Scott <mike@foundries.io>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The --auth mode wraps the local provider documented in docs/auth.md;
point readers at it.

Signed-off-by: Michael Scott <mike@foundries.io>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mike-scott
mike-scott force-pushed the playtest-doc-changes branch from 466bde8 to 84b9cd7 Compare August 26, 2026 22:24
@mike-scott

Copy link
Copy Markdown
Contributor Author

Re-re-based on main

@mike-scott

Copy link
Copy Markdown
Contributor Author

Merging on @doanac approval. We can pickup the loose ends in a new PR (or as needed).

@mike-scott
mike-scott merged commit d53b66d into main Aug 26, 2026
@kprosise

Copy link
Copy Markdown
Contributor

This was a really nice clean up. Thank you for the reviews!

I applied mostly all of the changes requested (those that weren't applied, I didn't resolve) and reflowed the docs around those edits so that we keep our typical 80-char width in the .md files. Hopefully that doesn't make this too hard to re-review.

I added a STYLE.md to #235 based on the findings here. And I realized later that I should have just used: https://github.com/foundriesio/fio-style/blob/main/style-guide.md

FYI, per our style guidelines, we use 100-char as a suggestion, and semantic line breaks are strongly encouraged (not strongly enforced as a lot of folks have struggled with the idea in the past)

@doanac
doanac deleted the playtest-doc-changes branch August 27, 2026 14:51
@doanac

doanac commented Aug 27, 2026

Copy link
Copy Markdown
Member

FYI, per our style guidelines, we use 100-char as a suggestion, and semantic line breaks are strongly encouraged (not strongly enforced as a lot of folks have struggled with the idea in the past)

These docs are kind of messy with regards to that. Its been more written around 72ish character line break.

I think some big change for doing semantic lines would be nice; but it might take some effort to fix unless claude can do it easily.

@kprosise

Copy link
Copy Markdown
Contributor

FYI, per our style guidelines, we use 100-char as a suggestion, and semantic line breaks are strongly encouraged (not strongly enforced as a lot of folks have struggled with the idea in the past)

These docs are kind of messy with regards to that. Its been more written around 72ish character line break.

I think some big change for doing semantic lines would be nice; but it might take some effort to fix unless claude can do it easily.

I have a task to teach claude to do just that…first few attempts have failed hilariously however.

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.

3 participants