debops.nodejs default variables¶
Sections
Global configuration¶
-
nodejs__distribution_release
¶
Specify the OS distribution release to use for the upstream APT repositories and other configuration.
nodejs__distribution_release: '{{ ansible_local.core.distribution_release | d(ansible_distribution_release) }}'
Node upstream configuration¶
-
nodejs__node_upstream
¶
Enable or disable support for NodeSource APT repositories. On older distribution versions the upstream package will be installed due to no security support.
nodejs__node_upstream: '{{ ansible_local.nodejs.node_upstream
| d(nodejs__distribution_release in ["xenial"]) | bool }}'
-
nodejs__node_upstream_release
¶
Specify the Node.js release to install from the NodeSource APT repository. See https://github.com/nodejs/Release for the current release and maintenance schedule. Available releases:
node_8.x
node_10.x
node_12.x
nodejs__node_upstream_release: '{{ "node_8.x"
if (nodejs__distribution_release in
["stretch", "trusty",
"xenial", "bionic"])
else "node_10.x" }}'
-
nodejs__node_upstream_key_id
¶
GPG fingerprint of APT repository signing key.
nodejs__node_upstream_key_id: '9FD3B784BC1C6FC31A8A0A1C1655A0AB68576280'
-
nodejs__node_upstream_repository
¶
URL of the NodeSource APT repository in sources.list
format.
nodejs__node_upstream_repository: 'deb https://deb.nodesource.com/{{ nodejs__node_upstream_release }} {{ nodejs__distribution_release }} main'
Yarn upstream configuration¶
-
nodejs__yarn_upstream
¶
Enable or disable support for Yarn upstream APT repository.
At the moment the yarnpkg
package in Debian Buster is broken if Node.js
from NodeSource is installed, therefore in that case installation from
upstream will be enabled automatically. Ref: https://bugs.debian.org/933229
nodejs__yarn_upstream: '{{ True
if nodejs__node_upstream | bool
else (ansible_local.nodejs.yarn_upstream
| d(nodejs__distribution_release in
["stretch", "xenial", "bionic"])) }}'
-
nodejs__yarn_upstream_key_id
¶
GPG fingerprint of Yarn APT repository signing key.
nodejs__yarn_upstream_key_id: '72ECF46A56B4AD39C907BBB71646B01B86E50310'
-
nodejs__yarn_upstream_repository
¶
URL of the NodeSource APT repository in sources.list
format.
nodejs__yarn_upstream_repository: 'deb https://dl.yarnpkg.com/debian/ stable main'
APT packages¶
-
nodejs__remove_packages
¶
List of APT packages to remove before installation of Node.js support.
nodejs__remove_packages:
# This package collides with the 'yarn' upstream package
# Ref: https://bugs.debian.org/913997
- 'cmdtest'
# Remove the OS release package if Yarn from upstream should be installed
- '{{ "yarnpkg" if nodejs__yarn_upstream | bool else [] }}'
-
nodejs__base_packages
¶
List of base APT packages to install.
nodejs__base_packages:
- 'nodejs'
- '{{ [] if nodejs__node_upstream | bool else "npm" }}'
- '{{ "yarn"
if nodejs__yarn_upstream | bool
else ([]
if (nodejs__distribution_release in
["stretch", "trusty",
"xenial", "bionic"])
else "yarnpkg") }}'
-
nodejs__packages
¶
List of APT packages to install on all hosts in Ansible inventory.
nodejs__packages: []
-
nodejs__group_packages
¶
List of APT packages to install ona group of hosts in Ansible inventory.
nodejs__group_packages: []
-
nodejs__host_packages
¶
List of APT packages to install on specific hosts in Ansible inventory.
nodejs__host_packages: []
-
nodejs__dependent_packages
¶
List of APT packages to install specified by other Ansible roles.
nodejs__dependent_packages: []
NPM packages¶
You can use the lists below to install NPM packages. Each element of a list
is either a NPM package name, or a YAML dictionary with parameters supported
by the npm
Ansible module. See that module documentation for list of
supported parameters. An example:
nodejs__npm_packages:
- 'bower'
- name: 'gulp'
version: '3'
-
nodejs__npm_packages
¶
List of NPM packages to install on all hosts in Ansible inventory.
nodejs__npm_packages: []
-
nodejs__npm_group_packages
¶
List of NPM packages to install on a group of hosts in Ansible inventory.
nodejs__npm_group_packages: []
-
nodejs__npm_host_packages
¶
List of NPM packages to install on specific hosts in Ansible inventory.
nodejs__npm_host_packages: []
-
nodejs__npm_dependent_packages
¶
List of NPM packages to install specified by other Ansible roles.
nodejs__npm_dependent_packages: []
-
nodejs__npm_production_mode
¶
If production mode is not specified for an NPM package, the default value set
here will be used instead. By default role does no install development
dependencies of a given package. You can override this value using
item.production
parameter.
nodejs__npm_production_mode: True
Configuration for other Ansible roles¶
-
nodejs__apt_preferences__dependent_list
¶
Configuration for the debops.apt_preferences Ansible role.
nodejs__apt_preferences__dependent_list:
- packages: [ 'nodejs', 'nodejs-*', 'node-*', 'libssl1.0.0', 'libssl-dev', 'npm', 'libuv1', 'libuv1-dev' ]
backports: [ 'stretch' ]
reason: 'Unsupported NodeJS version, parity with next Debian release'
by_role: 'debops_nodejs'
filename: 'debops_nodejs.pref'
state: '{{ "absent" if nodejs__node_upstream | bool else "present" }}'
- package: '*'
pin: 'origin "deb.nodesource.com"'
priority: '100'
reason: "Don't upgrade software automatically using packages from external repository"
role: 'debops.nodejs'
suffix: '_deb_nodesource_com'
state: '{{ "present" if nodejs__node_upstream | bool else "absent" }}'
- packages: [ 'nodejs', 'nodejs-*' ]
pin: 'origin "deb.nodesource.com"'
priority: '501'
reason: 'Prefer nodejs packages from the same repository for consistency'
role: 'debops.nodejs'
suffix: '_deb_nodesource_com'
state: '{{ "present" if nodejs__node_upstream | bool else "absent" }}'
-
nodejs__keyring__dependent_apt_keys
¶
Configuration for the debops.keyring Ansible role.
nodejs__keyring__dependent_apt_keys:
- id: '{{ nodejs__node_upstream_key_id }}'
repo: '{{ nodejs__node_upstream_repository }}'
state: '{{ "present" if nodejs__node_upstream | bool else "absent" }}'
- id: '{{ nodejs__yarn_upstream_key_id }}'
repo: '{{ nodejs__yarn_upstream_repository }}'
state: '{{ "present" if nodejs__yarn_upstream | bool else "absent" }}'