ansible/tasks/fas_client.yml

68 lines
1.8 KiB
YAML

---
#
# This task sets up fasClient on a machine.
# It installs the fas-clients package, then the /etc/fas.conf and finally a cron job update.
#
#
# fas-clients is in the infrastructure repo.
# nss_db is needed to store user/group info.
#
- name: install package needed for fas-client
action: yum state=installed name=$item
with_items:
- fas-clients
- cronie
tags:
- packages
- name: install nss_db on rhel hosts only
action: yum state=installed name=nss_db
only_if: "'${ansible_distribution}' == 'RedHat'"
tags:
- packages
#
# setup /etc/nsswitch.conf to use nssdb
#
- name: setup /etc/nsswitch.conf for client use
action: copy src=$files/fas-client/nsswitch.conf dest=/etc/nsswitch.conf owner=root mode=644
tags:
- config
#
# fasClients needs a valid /etc/fas.conf.
# There's vars used in this template:
#
# fas_client_groups = "sysadmin-main"
# fas_client_restricted_app = ""
# fas_client_admin_app = ""
# fas_client_ssh_groups = ""
#
# if desired, set them on a per host/group basis.
#
# Currently the default template is used, but could be modified on a host basis.
#
- name: setup /etc/fas.conf for client use
action: template src=$item dest=/etc/fas.conf owner=root mode=600
with_first_found:
- $files/fas-client/${ansible_fqdn}.fas.conf.j2
- $files/fas-client/${ansible_hostname}.fas.conf.j2
- $files/fas-client/${ansible_hostname}.fas.conf.j2
- $files/fas-client/fas.conf.j2
tags:
- config
#
# setup /etc/cron.d/ file to run sync every 10min
# TODO: use cron module when it's fixed
#
#- name: fas_client cron job
# cron: name="fas client" user=root cron_file=fas-client minute="*/10" job="/usr/bin/fasClient -i"
# tags:
# - config
- name: fas_client cron job
action: copy src=$files/fas-client/fas-client.cron dest=/etc/cron.d/fas-client owner=root mode=700
tags:
- config