NETWAYS / NETWAYS/ansible-collection-elasticstack

[Feature]: Move single-role variables out of the elasticstack meta role

Open
#485 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

breaking-change component:elasticstack feature
Dominant language
Jinja
Stars
14
Forks
11
Avg merge
1d 47m
Merged PRs (30d)
6

Description

Describe the feature request

Following the naming-convention discussion in #159, role variables should be prefixed with
the role name and live in that role's defaults. Several elasticstack_* variables sit in
the elasticstack meta role but are read by only one role. Decide per variable: if it also
has no stack-wide meaning, move it to the consuming role (and drop the elasticstack_
prefix); if it is single-consumer but conceptually stack-wide, keep it central.

1. Move to the consuming role (single-role, no stack-wide meaning)

  • repos: elasticstack_repo_url, elasticstack_repo_key, elasticstack_enable_repos, elasticstack_rpm_workaround
  • elasticsearch: elasticstack_temperature (also tracked for renaming in #491)

2. Single-consumer but stack-wide — keep central (elasticstack_)

Only the elasticsearch role reads these, but they describe stack-wide concepts, so splitting
them out would be inconsistent and confusing:

  • CA settings (elasticsearch manages the CA, but it secures the whole stack): elasticstack_ca_name, elasticstack_ca_validity_period, elasticstack_ca_expiration_buffer, elasticstack_ca_will_expire_soon
  • elasticstack_kibana_group_name (part of the stack topology, like the other group names)

3. Shared (read by ≥2 roles) — keep central

variant, release, full_stack, ca_dir / ca_host / ca_pass, elasticsearch_group_name,
logstash_group_name, elasticsearch_http_port, no_log, initial_passwords, beats_port,
override_beats_tls, security, cert_pass (elasticsearch + kibana), version (all roles).

The single-role vs. shared classification was verified against the code during the elasticstack
documentation work (#475).

Renaming variables users may already set is a breaking change.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the elasticstack meta role defaults and each consuming role's variable definitions and usages, using the classification verified in #475 as the checklist. Confirm every move or retention decision and its impact on existing user-set variables; done means single-role, non-stack-wide variables are local while shared or stack-wide variables remain central.

Written by the indexing model from the issue text.

Assessment

Tech stack
elasticsearch
Domain
devops, infrastructure
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.