Skip to content

Document the execserver slot broker (6.35) - #9

Open
martinrode wants to merge 33 commits into
mainfrom
v6.35
Open

Document the execserver slot broker (6.35)#9
martinrode wants to merge 33 commits into
mainfrom
v6.35

Conversation

@martinrode

Copy link
Copy Markdown
Contributor

Updates the execserver documentation for the fylr 6.35 slot broker. Held on the v6.35 branch — do not merge until 6.35.0 is released, since docs.fylr.io tracks main and these pages still correctly describe the released 6.34 behaviour.

Pages

  • for-developers/execserver.md — replaces the removed GET /token + PUT /job polling model with the broker protocol (new mermaid), pipe endpoints, and the auto-balance note.
  • for-system-administrators/configuration/performance-tuning.md — auto-balance keys (cpus, fastReserve, heavyThreshold, unknownShare, drainTimeoutSec); explicit waitgroups is now the opt-out.
  • concepts/white-papers/execserver-slot-broker.md — brought in line with what shipped: legacy transport removed in 6.35 (not a later release), no polling fallback (upgrade together), + auto-balance and graceful-drain sections.

Config mirror pages (fylr.default.yml.md / fylr.example.yml.md) still show the old keys — a follow-up.

martinrode and others added 30 commits July 16, 2026 11:46
Rewrite the execserver + performance-tuning pages for the fylr 6.35 slot
broker, replacing the removed GET /token + PUT /job polling model and the
parallel/parallelHigh/waitgroups defaults with the broker protocol and
auto-balancing. Bring the slot-broker white paper in line with what
shipped: the legacy transport is removed in 6.35 (not a later release),
there is no polling fallback (execserver and fylr upgrade together), and
add the auto-balance and graceful-drain sections.

Held on the v6.35 branch until 6.35.0 is released, since docs.fylr.io
tracks main and these pages still describe the released 6.34 behaviour.
… license capabilities

Regenerated from a pristine fylr on main (34c58b676): GET /plugin/marketplace + /plugin/marketplace/{name}/readme, the plugin-manage license capability/not_licensed/encrypted fields, and default-cookbook recipe description updates. 3.0 from /inspect/apidocs/spec/spec-gitbook.yml, 3.1 datamodel-generic from spec.json (Go-style HTML escaping preserved).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rface for db_pre_save callbacks (#80077)"

This reverts commit 98568cc.
…mark api_tx_url

Plugin Manager: the plus button now opens the marketplace (categories, README view, dependency resolution, sealed delivery); new license-gated plugins section. License management: the license's plugin capability map (named+granted / named+refused / unnamed). callbacks.md: mark api_tx_url as available from 6.35.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…6.35.0)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…c into the new layout

The api_tx_url documentation (#80077, reapplied on this branch against the old monolithic callbacks.md) moves into the new pages: the info-map row and the 'Writing inside the save transaction' section live in callbacks/contract.md, with a pointer from callbacks/db-pre-save.md.

While porting, the hook family was corrected against the fylr code: api_tx_url is present for db_pre_save, transition_db_pre_save and the collection-upload objects callback (any callback whose tokens are minted inside the open write TX, oauth/plugin_user.go leasePluginTX), and absent for extensions, exports and workflow webhooks — webhooks never go through PluginLoginUser, so the earlier 'webhook_db_pre_save' mention was wrong.

see #80334

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… claim

The doc stated writes join the save's transaction via a savepoint; per Martin there is no savepoint. The author-facing contract is unchanged and stated implementation-free: writes run inside the save's own transaction, are immediately visible to it, and commit or roll back with it.

see #80334

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…estriction

A failed write on the transactional surface fails the save as a whole — refused at commit, nothing durable, further writes refused — even if the callback swallows the error; failed reads are harmless. await_index is not available there (index jobs only become visible once the save commits). Matches the landed fylr 6.35.0 behavior (fylr 2011b1984, sqlpro 78698e7) and the write_db_tx fail_swallowed apitest.

see #80077

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Spherical videos and panoramic images carry a projection_type key in their technical metadata from 6.35.0. Adds the key to both OpenAPI spec assets (surgical edit, no full resync) and a paragraph to the metadata-extraction section explaining the sources and why only the original carries the marker.

Same change as ced2898 on main, applied to the 6.35 docs branch.

see #80367

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
POST /eas/produce accepts video parents from 6.35.0: trim, mute, rotate in steps of 90 degrees, mirror, crop, scale to a height and the color grading controls, with mp4/mov/m4v as target formats. Adds the new request fields to both OpenAPI spec assets (surgical edit of the /eas/produce path, no full resync) and a section to the endpoint page that splits the options by parent class and states the async pending/done/failed contract; the file-worker page's modified-original bullet mentions the video options.

Also from 6.35.0, the produce recipe's extension list is the only gate on what can be produced, which makes webp sources producible.

see #79791

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…te on loginAllowRedirects)

From 6.35.0, origins matching loginAllowRedirects are also trusted for credentialed CORS (reflected in Access-Control-Allow-Origin together with Access-Control-Allow-Credentials), like the fylr.externalURL origin and the redirect-URI origins of registered OAuth2 clients. Mirrors the fylr.example.yml comment added on fylr main (75146265d).

see #79575

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…(6.35 execserver config)

Syncs the inlined config pages to the fylr 6.35 sources for the execserver slot-broker/auto-balance rework: the tuning keys cpus, fastReserve, heavyThreshold, unknownShare and drainTimeoutSec replace parallel/parallelHigh, the per-service waitgroup defaults (fast/medium/slow) are gone, tokenResponseSendServerIP is removed and the optional callbackBackendOwnURL is added. Mirrors fylr dc23ded29 (#80119) and the parallel deprecation (#80133).

see #80119

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mirrors the apidocs change on fylr main (1baae56a2): GET /api/v1/user/session stops echoing the caller's token.

see #79573

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ed fylr.example.yml

The top-level fylr.s3 storage config has not existed in the code since 2022; storage is configured per location under fylr.db.init.locations. Mirrors the fylr.example.yml cleanup on fylr main (d19999afb).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The download dialog's file name section, "include file variants" option and
custom rendition section are gated per user/group by the new frontend_features
"Download Options" right from 6.35.0. Version-marked so readers on older
versions know it isn't theirs yet.

see #80363
…(6.35.0)

The audio convert recipe's format (m4a, mp3, aac) and bitrate params are documented in the recipe-configuration table, the default-version table names the M4A container and corrects the audio preview description (cover art, not waveform).

see #80318

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…eenshots, settings + API reference

New chapter for the fylr supervisor (#76257): overview/architecture, installation (systemd, bootstrap config, first-boot env seeding), instances (create/copy with consent, hibernation, logs incl. client-IP column), storage locations (explicit disk location, S3, read-only attach), backups & copies, router/TLS/rate limits/abuse shield, binaries registry + managed branch instances with provisioning presets, central licenses, infrastructure pages, a full settings reference and the management-API endpoint reference. Screenshots come from a generic demo fleet, not from any real deployment.

see #76257

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mermaid architecture diagram

see #76257

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
see #79583

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…y explanation, clearer settings reference

The Introduction gains a quick start that secures the management API right after the first boot. Installation explains what `fylr+:` merges into (the embedded default configuration — a plain `fylr:` would replace the whole block). The settings reference now separates the bootstrap file (dot-notated `fylr.supervisor.db.*` keys) from the runtime settings, grouped and strictly one key per row with explicit defaults.

see #76257

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…de scope notes (fylr 6.35)

see #79583

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…e scope notes (fylr 6.35)

see #79583

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…sh (fylr 6.35)

/eas/produce and /eas/download format enums gain heic (and the download enum the missing webp); the "format unchanged" description documents the fallback to the recipe's default output format for extensions that can be read but not written (e.g. jfif).

see #80418

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…resh (fylr 6.35)

The /schema/user/HEAD and /schema/commit 400 descriptions and the DatamodelError TypeChangeUnsupported bullet now document that type changes are validated against the committed datamodel regardless of data — the save applies the same checks as the commit, uncommitted columns can still take any type.

see #80049

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nder

The spec assets are re-rendered below from fylr main (6.35); the
file-worker page keeps this branch's 6.35 produce-options bullet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… the triggering client's address (fylr 6.35.0)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
see #80431
…s (fylr 6.35)

The section still told readers to secure an open management API by PUTting basic_auth_user/basic_auth_pass. That pair is retired: the API and UI authenticate against management users in the control DB, always, and the first boot seeds root/admin with a forced password change.

New page "Management access" covering the first login, the three credential paths (session cookie, API token, basic auth as the transition path), user administration, TOTP, tokens, the abuse-shield coupling and the locked-out procedure. The quick start, the installation page, the settings reference and the API page follow, and the API page gains the /login, /session, /users and /tokens endpoints.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
see #76257
…rings, ISO form, years, B.C., ranges (fylr 6.35.0)

see #79873

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…(fylr 6.35.0)

A failed automatic update now retries every 10 seconds under every policy and cleans up after itself (the broken download and the superseded zip are removed); the installed version keeps running untouched. New timestamps table for the General tab: Updated At moves only when the stored plugin content changed — a settings-only save (Active, update policy) no longer touches it; Last Checked At counts completed checks only. The Daily policy wording follows the implementation (once a day, not every 24 hours).

Surgical spec refresh: the PluginManageApi created_at/updated_at/last_checked_at descriptions.

see #80400

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The manifest reference did not mention the new server-level plugin.dependencies key: named dependencies gate install/enable (PluginDependencyNotInstalled, PluginDependencyNotEnabled), protect depended-on plugins from disable/delete (PluginRequiredByOthers) and order the frontend bundles. A hint marks the webfrontend-level dependencies list as still honoured but deprecated.

see #80102

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
martinrode and others added 3 commits July 30, 2026 10:34
Transcoding no longer loses projection_type: the production re-adds the Spherical Video V1 box to MP4 renditions and the XMP GPano tags to image renditions (even with strip) when the full equirectangular frame is preserved. Prose on the file-worker page plus the projection_type description in both spec files (surgical edit).

see #80367

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rror (fylr 6.35.0)

see #80419

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
HTTP basic auth against the user table — the transition path — was removed; the credential table shrinks to two rows and the adoption note points to API tokens for automation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
see #76257
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.

1 participant