Skip to content

docs: a host's result details open at any verbosity - #229

Merged
blaipr merged 1 commit into
mainfrom
docs/details-any-verbosity
Oct 31, 2026
Merged

blaipr merged 1 commit into
mainfrom
docs/details-any-verbosity

Conversation

@blaipr

@blaipr blaipr commented Oct 31, 2026

Copy link
Copy Markdown
Member

What this changes

From 7.5.0 a host's result line opens its whole result (the JSON, YAML and output tabs) whatever the job's verbosity, as on AWX; an RTE older than 7.5.0 still stores it only in verbose mode. The jobs page now says so, and what is left out or masked (no_log censored by Ansible, invocation and _ansible* keys left out, secret-looking keys masked, 64 KB cap), in English and in every translation, each translation re-stamped. Documents ansibleforms/ansibleforms#1299.

Checklist

  • Branch is named <type>/<description> and the title is a Conventional Commit
  • Previewed with bundle exec jekyll serve --source source, or the Build check is enough for this change
  • source/_reference/changelog.md and source/_data/help.yaml are NOT edited - they come from the app repository

From 7.5.0 a host's result line opens its whole result (JSON, YAML and
output tabs) whatever the job's verbosity, as on AWX; an RTE older than
7.5.0 still stores it only in verbose mode. The jobs page now says so,
and what is left out or masked, in English and in every translation.
blaipr added a commit to ansibleforms/ansibleforms that referenced this pull request Oct 31, 2026
…ity, as on AWX (#1299)

## What this changes

On a playbook job, clicking a host's result line (or a loop item's) now
always opens that result's details, whatever the job's verbosity, as on
AWX and Ascender. The RTE's `af_events` callback plugin now stores the
whole module result next to the summary on every run; before, it did so
only when ansible-playbook got a `-v` flag. The `AF_EVENTS_FULL`
variable and the RTE code that set it are removed.

## Why

Keeping the whole result only for verbose jobs was a deliberate rule
from #1180: a normal run showed a summary and nothing more to open. AWX
always keeps a host's result, and with the protections already in place
it is safe to do the same:
- a task with `no_log` has its result censored by Ansible before the
plugin sees it;
- the invocation (the module's arguments as the task passed them) and
Ansible's own `_ansible*` keys are left out;
- secret-looking keys (built-in pattern plus `MASK_EXTRAVARS_REGEX`) are
masked by the plugin, then masked again when stored, with the job's own
masked values;
- results are capped in size;
- only users who can see the job can read its events.

## How it was verified

`server/tests/job-events-privacy.test.mjs` now checks that at verbosity
0 the plugin keeps the whole result, without invocation or `_ansible*`
keys and with secrets masked, that large results are cut, and that the
RTE no longer sets `AF_EVENTS_FULL`. With the source files reverted to
main, 4 of these tests fail; with the change, all 12 pass. The plugin
probe stubs ansible's `CallbackBase` when ansible is not installed, so
these tests now run in CI instead of being skipped.

- [ ] `cd client && npm run lint:check && npm run format:check && npm
run test && npm run build` (no client changes)
- [x] `cd server && npm run lint:check && npm run test`

## Website

Website PR: ansibleforms/website#229

## Checklist

- [x] Branch is named `<type>/<description>` and the title is a
Conventional Commit that reads well as a changelog line
- [x] `CHANGELOG.md` is NOT edited - it is generated from the title on
release
- [ ] UI strings added to **all** locale files (no UI strings)
- [ ] New page has a router entry with a `beforeEnter` guard, and a
matching sidebar `permission:` (no new page)
- [ ] New database column is in **both** the schema patch and
`create_schema_and_tables.sql`, plus `SCHEMA_MANIFEST` (no database
change)
- [ ] A new or changed table or column that holds configuration is
covered by the config seed (no database change)
- [ ] New environment variable has a `server/help.yaml` entry (none
added; the internal `AF_EVENTS_FULL` is removed)
@blaipr
blaipr merged commit 35af067 into main Oct 31, 2026
4 checks passed
@blaipr
blaipr deleted the docs/details-any-verbosity branch October 31, 2026 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant