Cluster

The role performs various tasks related to OS configuration, reset and validation.

Role Settings

See the related role settings listed below, defined into main.yaml defaults file.

cluster_vars.device

  • Default value: null
ℹī¸
Read the Storage Devices tutorial, on bare-metal infrastructure.

See the related child settings, listed below.

device.enabled

  • Default value: boolean, true

device.id

  • Default value: string, 2:2

device.name

  • Default value: string, ASMedia Technology

cluster_vars.hardware

  • Default value: null

See the related child settings, listed below.

hardware.architecture

  • Default value: string, aarch64

Hardware architecture used to identify the cluster node hardware architecture. To determine the hardware architecture, run:

arch

Command output:

aarch64

hardware.product

  • Default value: string, Raspberry Pi

Hardware product, used to identify the cluster node hardware model. To determine the hardware product, run:

lshw -class system -quiet | grep product

Command output:

product: Raspberry Pi 4 Model B Rev 1.5

cluster_vars.service

  • Default value: null

See the related child settings, listed below.

service.bluetooth

  • Default value: null

Setup Bluetooth service, on Raspberry Pi hardware. By default, Ubuntu Server LTS 24.04 does not installs the related apt packages.

bluetooth.enabled
  • Default value: boolean, false

service.cloud_init

  • Default value: null

Setup Cloud Init service.

cloud_init.enabled
  • Default value: boolean, false

service.postfix

  • Default value: null

Setup Postfix service, with iCloud mail servers.

postfix.enabled
  • Default value: boolean, true
postfix.protocols
  • Default value: string, ipv4
postfix.relay
  • Default value: null
relay.host
  • Default value: string, smtp.mail.me.com
relay.port
  • Default value: integer, 587
postfix.user
  • Default value: null
user.alias

Mail sent by root user will use this email address.

user.name

Used for login into iCloud servers.

user.password

Encrypt the variable with ansible-vault.

service.snapd

  • Default value: null

Setup Snapd service.

snapd.enabled
  • Default value: boolean, false

service.unattended_upgrades

  • Default value: null

Setup Unattended Upgrades service.

unattended_upgrades.enabled
  • Default value: boolean, true
unattended_upgrades.mail_report
  • Default value: string, on-change
unattended_upgrades.remove_deps
  • Default value: string, true

service.wifi

  • Default value: null

Setup WiFi service, on Raspberry Pi hardware. By default, Ubuntu Server LTS 24.04 does not installs the related apt packages.

wifi.enabled
  • Default value: boolean, false

cluster_vars.ssh

  • Default value: null

See the related child settings, listed below.

ssh.authorized_key

  • Default value: string, /Users/username/.ssh/id_ed25519.pub

Example of setting a different storage location:

cluster_vars:
  ssh:
    authorized_key: /Users/username/keys/id_ed25519.pub

Role Tasks

See the related role tasks, listed below.

Configuration

OS configuration related tasks, see configuration.yaml for details.

Facts

Ansible facts, see facts.yaml for details.

Firewall

Firewall related tasks, can be used to also configure specific firewall rules. See firewall.yaml for details.

Main

Main role related tasks, see main.yaml for details.

Reset

Reset related tasks, see reset.yaml for details.

Upgrade

OS upgrade related tasks, see upgrade.yaml for details.

User

User related tasks, see user.yaml for details.

Validation

Validation related tasks, see validation.yaml for details.