{{ layer.layer_info.name }}

{% if layer.layer_info.category %}{{ layer.layer_info.category }}{% endif %} {% if layer.layer_info.version %}v{{ layer.layer_info.version }}{% endif %}

{{ layer.layer_info.description or 'No description available' }}

{%- if layer.companion_html %}

Additional Documentation

{{ layer.companion_html|safe }}
{%- endif %} {%- if layer.dependencies.static_dep or layer.dependencies.dyn_dep or layer.reverse_dependencies or layer.layer_info.provides or layer.layer_info.provider_requires or layer.layer_info.after_provider %}

Relationships

{%- if layer.dependencies.static_dep or layer.dependencies.dyn_dep %}

Depends on:

{%- for dep in layer.dependencies.static_dep %} {{ dep }} {%- endfor %} {%- for dep in layer.dependencies.dyn_dep %} {{ dep }} {%- endfor %}
{%- endif %} {%- if layer.reverse_dependencies %}

Required by:

{% for dep in layer.reverse_dependencies %} {{ dep }} {% endfor %}
{%- endif %} {%- if layer.layer_info.provides %}

Provides: {{ layer.layer_info.provides|join(', ') }}

{%- endif %} {%- if layer.layer_info.provider_requires %}

Requires Provider: {{ layer.layer_info.provider_requires|join(', ') }}

{%- endif %} {%- if layer.layer_info.after_provider %}

After Provider: {{ layer.layer_info.after_provider|join(', ') }}

{%- endif %}
{%- endif %} {%- if layer.variables or layer.required_variables %}

Configuration Variables

{%- if layer.required_variables %}

References: {%- for var_ref in layer.required_variables %} {{ var_ref }}{% if not loop.last %}, {% endif %} {%- endfor %}

{%- endif %} {%- if layer.variables %}

Declares{% if layer.variable_prefix %} (prefix: {{ layer.variable_prefix }}){% endif %}:

{%- for var_name, var in layer.variables.items() %} {%- endfor %}
Variable Description Default Validation Policy
{{ var.name }} {{ var.description or 'No description' }} {%- if var.original_value %} {%- if var.original_value|length > 25 %} {{ var.original_value }} {%- else %} {{ var.original_value }} {%- endif %} {%- elif var.set_policy == 'skip' %} <disabled> {%- elif var.validation_description and 'empty' in var.validation_description.lower() %} <empty> {%- else %} <not set> {%- endif %} {{ var.validation_description or 'None' }} {{ var.set_policy }}
{%- endif %}
{%- endif %} {%- if layer.anchors %}

Anchors

{%- for anchor in layer.anchors %} {%- endfor %}
Anchor Variable Description
{{ anchor.name }} {{ anchor.variable }} {{ anchor.description or 'No description' }}
{%- endif %} {%- if ( layer.mmdebstrap.get('packages') or layer.mmdebstrap.get('mirrors') or layer.mmdebstrap.get('suite') or layer.mmdebstrap.get('variant') or layer.mmdebstrap.get('architectures') or layer.mmdebstrap.get('dpkgopts') or layer.mmdebstrap.get('aptopts') ) %}

mmdebstrap

{%- if layer.mmdebstrap.get('suite') %} {% set suite = layer.mmdebstrap.suite %}

Suite

{%- if suite is string %} {%- else %} {%- endif %} {%- endif %} {%- if layer.mmdebstrap.get('variant') %} {% set variant = layer.mmdebstrap.variant %}

Variant

Installs package set:

{%- if variant is string %} {%- else %} {%- endif %} {%- endif %} {%- if layer.mmdebstrap.get('architectures') %} {% set architectures = layer.mmdebstrap.architectures %}

Architectures

{%- if architectures is string %} {%- else %} {%- endif %} {%- endif %} {%- if layer.mmdebstrap.get('packages') %} {% set packages = layer.mmdebstrap.packages %}

Packages

Installs:

{%- endif %} {%- if layer.mmdebstrap.get('mirrors') %} {% set mirrors = layer.mmdebstrap.mirrors %}

Mirrors

{%- endif %} {%- if layer.mmdebstrap.get('dpkgopts') %} {% set dpkgopts = layer.mmdebstrap.dpkgopts %}

dpkgopts

{%- endif %} {%- if layer.mmdebstrap.get('aptopts') %} {% set aptopts = layer.mmdebstrap.aptopts %}

aptopts

{%- endif %}
{%- endif %} {%- if layer.env %}

Environment

Sets the following variables:

{%- for env_var, env_value in layer.env.items() %} {%- endfor %}
Variable Value
{{ env_var }} {{ env_value }}
{%- endif %} {%- if layer.phases|selectattr('overlay')|list %}

Overlays

{%- for p in layer.phases if p.overlay %} {%- endfor %}
Phase Overlay
{{ p.phase }} {{ p.overlay }}
{%- endif %} {%- if layer.phases|selectattr('hooks')|list %}

Hooks

{%- for p in layer.phases if p.hooks %} {%- endfor %}
Phase Hooks
{{ p.phase }} {{ p.hooks|join(', ') }}
{%- endif %} {%- if layer.phases|selectattr('late_hooks')|list %}

Late Hooks

{%- for p in layer.phases if p.late_hooks %} {%- endfor %}
Phase Hooks
{{ p.phase }} {{ p.late_hooks|join(', ') }}
{%- endif %}

Attributes

File: {{ layer.file_path }}

Type: {{ layer.layer_info.type }}

{%- if layer.layer_info.type == 'dynamic' and layer.layer_info.generator %}

Generator: {{ layer.layer_info.generator }}

{%- endif %} {%- if layer.layer_info.conflicts %}

Conflicts: {{ layer.layer_info.conflicts|join(', ') }}

{%- endif %}