kubernetes-sigs/kubespray

eliminate all instances of `default` filter in roles => var should have a default defined only once

Open

#11.822 aberto em 19 de dez. de 2024

Ver no GitHub
 (13 comments) (0 reactions) (1 assignee)HTML (4.419 forks)batch import
good first issuehelp wanted

Métricas do repositório

Stars
 (10.380 stars)
Métricas de merge de PR
 (Mesclagem média 25d) (26 fundiu PRs em 30d)

Description

We have lots of instances of this pattern:

"{{ some_var | d(some_default_value) }}"

Where the same value is repeated multiples places in the code base -> that default should be defined only once.

We should instead define those defaults in roles defaults/ directories, either

  • in the role where it's used
  • in kubespray-defaults (main.yml) if it's used in several roles.

Where possible, the default definition should also be accompanied by a comment defining the use of the variable, and possibly a commented examples for variable with a complex internal structure.

The two benefits:

  • the code is more readable when not littered with default filters
  • variables are defined in one place

(by the way, this also apply to variable which we check with is defined -> we shouldn't have to do that if we define a default) There is no need to tackle every instance at once, but this is pretty good way to start working on the code base for new contributors.

/help /good-first-issue

Guia do colaborador