Skip to content

Improve the documentation of logstash role#473

Merged
afeefghannam89 merged 27 commits into
mainfrom
logstash_role_docs
Jul 13, 2026
Merged

Improve the documentation of logstash role#473
afeefghannam89 merged 27 commits into
mainfrom
logstash_role_docs

Conversation

@afeefghannam89

@afeefghannam89 afeefghannam89 commented Jun 29, 2026

Copy link
Copy Markdown
Member

Migrates the logstash role's documentation to a single source of truth:
its meta/argument_specs.yml. Variable docs are no longer hand-maintained in
docs/role-logstash.md, instead Ansible validates the variables at runtime and
ansible-docsmith generates the
variable table in roles/logstash/README.md from the spec.

Part of #234, #218.

Changes

Documentation source & output

  • roles/logstash/meta/argument_specs.yml — documents all role variables
    (incl. nested logstash_pipelines sub-options and output condition/congestion).
  • roles/logstash/README.md — generated, compact variable table + hand-written
    intro, requirements, example, Tags section.
  • .docsmith/readme.md.j2 — shared compact README template for all roles.
  • roles/logstash/docs/pipelines.md — fixed examples to the correct list
    format and queue_type/queue_max_bytes; merged the duplicate
    docs/logstash-pipelines.md (removed).

Wiring & cleanup

  • README.md / docs/getting-started.md — link to the role README.
  • docs/role-logstash.md — slim pointer to the role README.
  • README.md — Contributing note describing the argument_specs/README workflow.
  • galaxy.yml — ignore .docsmith/ in the build.
  • roles/logstash/defaults/main.ymllogstash_config_backup now an explicit
    boolean (false instead of no).
  • Removed two unused variables: logstash_reset_writer_role (role/user management
    is handled by the netways.elasticstack.elasticsearch_role module) and
    logstash_queue_type (never wired into any template or any task)

CI

  • .github/workflows/test_docs.yml — new docs gate (validate + README freshness).
  • test_roles_pr.yml / test_role_logstash.yml — documentation-only changes no
    longer trigger the heavy molecule matrix.

@afeefghannam89 afeefghannam89 changed the title improve the documentation of logstash role Improve the documentation of logstash role Jun 29, 2026
Saeid-Abadi
Saeid-Abadi previously approved these changes Jul 1, 2026
This was referenced Jul 10, 2026
@afeefghannam89
afeefghannam89 merged commit 77a44fb into main Jul 13, 2026
11 checks passed
@afeefghannam89
afeefghannam89 deleted the logstash_role_docs branch July 13, 2026 08:09
afeefghannam89 added a commit that referenced this pull request Jul 13, 2026
Documents the **beats** role the same way as logstash (#473):
`meta/argument_specs.yml`
as the single source of truth, a generated `README.md`, plus a Filebeat
inputs doc.

- Add `meta/argument_specs.yml` for all `beats_*` variables
- Add `README.md` with the generated variable table
- Add `docs/filebeat-inputs.md` for the Filebeat input structures
- Point `docs/role-beats.md`, the main README and getting-started at the
role README
- Skip the beats molecule for docs-only changes

Part of #472. Stacked on #473 we merge that first in main
afeefghannam89 added a commit that referenced this pull request Jul 13, 2026
Documents the **repos** role the same way as logstash (#473):
`meta/argument_specs.yml`
as the single source of truth and a generated `README.md`.

The repos role has no role-specific variables — it is configured through
the shared
`elasticstack_*` variables — so the generated table renders "No
variables are defined
for this role" and the README points to the central shared-variable
docs.

- Add `meta/argument_specs.yml` (main entry point, no options)
- Add `README.md` with the generated variable section
- Point `docs/role-repos.md`, the main README and getting-started at the
role README
- Skip the repos molecule for docs-only changes

Part of #472. Stacked on #473 — merge that first.
afeefghannam89 added a commit that referenced this pull request Jul 13, 2026
Documents the **kibana** role the same way as logstash (#473):
`meta/argument_specs.yml`
as the single source of truth and a generated `README.md`.

- Add `meta/argument_specs.yml` for all `kibana_*` variables
- Add `README.md` with the generated variable table
- Point `docs/role-kibana.md`, the main README and getting-started at
the role README
- Skip the kibana molecule for docs-only changes

Part of #472. Stacked on #473 — merge that first.
afeefghannam89 added a commit that referenced this pull request Jul 13, 2026
Documents the **elasticsearch** role the same way as logstash (#473):
`meta/argument_specs.yml`
as the single source of truth and a generated `README.md`.

- Add `meta/argument_specs.yml` for all `elasticsearch_*` variables
(dropping three dead
ones: `elasticsearch_pamlimits`, `elasticsearch_java_home`,
`elasticsearch_user`)
- Add `README.md` with the generated variable table
- Keep `docs/role-elasticsearch.md` as the interim home for the shared
`elasticstack_*`
variables, now pointing to the role README for the role's own variables
- Point the main README and getting-started at the role README
- Skip the elasticsearch molecule for docs-only changes

Anomalies found while documenting are tracked separately: #490
(owner/group),
#491 (cleanups), #492 (heap `| bool`).

Part of #472. Stacked on #473 — merge that first.
afeefghannam89 added a commit that referenced this pull request Jul 13, 2026
Documents the **elasticstack** meta role the same way as logstash
(#473):
`meta/argument_specs.yml` as the single source of truth and a generated
`README.md`.

Being the shared base role, its README becomes the **central reference
for the
collection-wide `elasticstack_*` variables** — the goal of #475.

- Add `meta/argument_specs.yml` for the shared variables: the 26 role
defaults plus
two widely-shared optionals (`elasticstack_version`,
`elasticstack_cert_pass`).
Types were verified against actual code usage (e.g.
`elasticstack_release` is `int`
  because templates compare `== 7`).
- Add `README.md` with the generated variable table (the central
shared-variable reference).
- Guard the computed `elasticstack_ca_host` default (`…[0] |
default('')`) so argument-spec
validation does not fail on standalone plays that have no
`elasticsearch` group.
- Point the "Global variables" section of the main README and
getting-started at the role README.

Internal/register variables and single-role misfits (`kibana_host`,
`temperature`) are
intentionally excluded — tracked in #485 / #491. No prose doc (no nested
config) and no CI
change (the role has no dedicated workflow; `test_roles_pr.yml` already
skips docs/spec).

Fully closing #475 is a follow-up: repoint the other roles' "Shared
variables" sections to
this README once the docs branches are in `main`.

Part of #472. Stacked on #473 — merge that first.
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