Ansible Playbook: manage_office_nodes

Purpose

Provision office productivity applications.

Supported features in the current version:

  • Configure operating system for using the FlatHub package repository
  • Install office productivity applications:
    • Google Chrome
    • Darktable
    • DrawIO
    • GIMP
    • InkScape
    • KeePassXC
    • Kryta
    • LibreOffice
    • MS Teams
    • OBS
    • ShotCut
    • Skype
    • Spotify
    • Zoom
  • Deploy user configuration for:
    • KeePassXC

Use Cases

Deploy office productivity applications

  • Verify that target nodes are registered in the inventory file: office_nodes.ini
  • Verify that target apps are selected in the playbook endstate file: manage_office_nodes.yml
  • Run the playbook. Use the -s <SITE> parameter to select the target site.
/opt/aplatform64/bin/ap64.sh -n -p manage_office_nodes -s <SITE>

Playbook Parameters

Inventory

Register the hosts that will consume the service in the Ansible Inventory file:

  • File: inventories/<SITE>/office_nodes.ini
  • Host Group: office_nodes

End State

A dedicated group_vars directory is used to store end-state configuration settings for both the playbook and related Ansible Roles.

Set playbook specific settings in the file: inventories/<SITE>/group_vars/office_nodes/manage_office_nodes.yml

office_nodes_apps:
  chrome:
  darktable:
  drawio:
  gimp:
  inkscape:
  keepassxc:
  kryta:
  libreoffice:
  msteams:
  obs:
  shotcut:
  skype:
  spotify:
  zoom:
Parameter Required? Type Default Purpose / Value
office_nodes_apps yes dictionary Define what applications will be deployed
office_nodes_apps.chrome no boolean false Deploy the application?
office_nodes_apps.darktable no boolean false Deploy the application?
office_nodes_apps.drawio no boolean false Deploy the application?
office_nodes_apps.gimp no boolean false Deploy the application?
office_nodes_apps.inkscape no boolean false Deploy the application?
office_nodes_apps.keepassxc no boolean false Deploy the application?
office_nodes_apps.kryta no boolean false Deploy the application?
office_nodes_apps.libreoffice no boolean false Deploy the application?
office_nodes_apps.msteams no boolean false Deploy the application?
office_nodes_apps.obs no boolean false Deploy the application?
office_nodes_apps.shotcut no boolean false Deploy the application?
office_nodes_apps.skype no boolean false Deploy the application?
office_nodes_apps.spotify no boolean false Deploy the application?
office_nodes_apps.zoom no boolean false Deploy the application?

Additional role specific settings are available to further customize the playbook:

A:Platform64 role group_vars file
serdigital64.application.app_keepassxc inventories/<SITE>/group_vars/office_nodes/app_keepassxc.yml
serdigital64.system.sys_repository inventories/<SITE>/group_vars/office_nodes/sys_repository.yml

Deployment

OS Compatibility

OS compatibility is role dependant. Please refer to the respective role documentation.

Dependencies

Dependencies in this section are automatically solved during the installation of A:Platform64.

  • Ansible Collections:
    • serdigital64.backup
    • serdigital64.system
    • serdigital64.application

Prerequisites

  • Ansible:
    • Control Node: A:Platform64 installed and configured.
    • Managed Nodes: target hosts prepared for A:Platform64 control.

Installation Procedure

The playbook is automatically deployed during the A:Platform64 installation process.

Contributing

Help on implementing new features and maintaining the code base is welcomed.

Please see the guidelines for further details.

Author

License

GPL-3.0-or-later