You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Variable names in the collection follow no single documented schema. Same concept, different
words (_pass / _pw / _password / _passphrase), mixed boolean forms (_enable 6x vs _enabled 2x), negative booleans (no_*, disable_*), a typo (indicies), and names that do
not say what the value is (elasticstack_password is the elastic user's password, elasticstack_initial_passwords is a file path). Without a written schema, every issue that
renames a variable has to re-decide the rules.
Want
Agree on one naming schema and document it in CONTRIBUTING. This issue only defines and
documents the rules; applying them is a separate issue.
Schema (proposed)
Prefix - <role>_ for role-owned variables, elasticstack_ for stack-wide ones (read by
Credentials - _password for an account credential, _passphrase for something that
protects a key or keystore. Never _pw, never _pass.
Booleans - positive polarity only, no no_* / disable_*.
Boolean suffix - _enable everywhere. It is an instruction to the role, consistent with
the existing manage_* family.
Word order - <prefix>_<subject>_<attribute>, e.g. ..._repos_enable, not ..._enable_repos.
Paths - the name carries _file / _dir / _path.
Spelling - correct English (indices, not indicies).
Units - put a unit in the name only when type: and the description in argument_specs.yml do not already carry it. Example: *_cert_expiration_buffer needs no _days suffix because the spec declares type: int and the description says "in days".
Problem
Variable names in the collection follow no single documented schema. Same concept, different
words (
_pass/_pw/_password/_passphrase), mixed boolean forms (_enable6x vs_enabled2x), negative booleans (no_*,disable_*), a typo (indicies), and names that donot say what the value is (
elasticstack_passwordis theelasticuser's password,elasticstack_initial_passwordsis a file path). Without a written schema, every issue thatrenames a variable has to re-decide the rules.
Want
Agree on one naming schema and document it in
CONTRIBUTING. This issue only defines anddocuments the rules; applying them is a separate issue.
Schema (proposed)
<role>_for role-owned variables,elasticstack_for stack-wide ones (read by__<role>_<name>forregister/set_fact,_<role>_<name>forvars/(see Adopt an internal-variable naming convention (_ / __) and keep internals out of argument_specs #495).
_passwordfor an account credential,_passphrasefor something thatprotects a key or keystore. Never
_pw, never_pass.no_*/disable_*._enableeverywhere. It is an instruction to the role, consistent withthe existing
manage_*family.<prefix>_<subject>_<attribute>, e.g...._repos_enable, not..._enable_repos._file/_dir/_path.indices, notindicies).type:and the description inargument_specs.ymldo not already carry it. Example:*_cert_expiration_bufferneeds no_dayssuffix because the spec declarestype: intand the description says "in days".Scope
CONTRIBUTING