playbook working, tidying up task order
This commit is contained in:
@ -13,7 +13,7 @@
|
||||
state: directory
|
||||
mode: '0700'
|
||||
|
||||
- name: autologin - "create {{ autologin_user }} .bashrc"
|
||||
- name: autologin - "create {{ autologin_user }} .bash_aliases"
|
||||
copy:
|
||||
#dest: "/home/{{ autologin_user }}/.bash_aliases"
|
||||
dest: "/home/{{ autologin_user }}/.bash_aliases"
|
||||
@ -39,6 +39,34 @@
|
||||
when: not quick_refresh | bool
|
||||
include_tasks: hello_there.yaml
|
||||
|
||||
- name: autologin - script permission settings
|
||||
when: not service_only | bool
|
||||
block:
|
||||
|
||||
- name: User setup - update permissions on smartctl 1
|
||||
shell: "chmod 755 /usr/sbin/smartctl"
|
||||
|
||||
- name: autologin - User setup - update permissions on smartctl 2
|
||||
shell: "chmod u+s /usr/sbin/smartctl"
|
||||
|
||||
- name: autologin - User setup - update permissions on fdisk
|
||||
shell: "chmod u+s /usr/sbin/fdisk"
|
||||
|
||||
- name: autologin - User setup - create symlink for smartctl
|
||||
ignore_errors: yes
|
||||
shell: "ln /usr/sbin/smartctl /usr/bin/smartctl"
|
||||
|
||||
- name: autologin - User setup - create symlink for fdisk
|
||||
ignore_errors: yes
|
||||
shell: "ln /usr/sbin/fdisk /usr/bin/fdisk"
|
||||
|
||||
- name: autologin - "User setup - allow {{ autologin_user }} to smartctl"
|
||||
copy:
|
||||
dest: /etc/sudoers.d/smartctl
|
||||
content: |
|
||||
{{ autologin_user }} ALL=(ALL) NOPASSWD: /usr/sbin/smartctl
|
||||
{{ autologin_user }} ALL=(ALL) NOPASSWD: /usr/sbin/fdisk
|
||||
|
||||
- name: autologin - Restart getty@tty1 service
|
||||
systemd:
|
||||
name: getty@tty1.service
|
||||
|
||||
@ -3,49 +3,42 @@
|
||||
# This part sets up drive history dashboard
|
||||
###############################################
|
||||
|
||||
- name: drive history dashboard web files
|
||||
- name: drive history dashboard - set docker folder variable
|
||||
set_fact:
|
||||
service_control_web_folder: "{{ service_folder }}/web"
|
||||
|
||||
# Create docker Folder
|
||||
- name: drive history dashboard - create service_control_web_folder folder
|
||||
file:
|
||||
path: "{{ service_control_web_folder }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: drive history dashboard - copy files for docker container
|
||||
copy:
|
||||
src: "dashboard/"
|
||||
dest: "{{ service_control_web_folder }}/html"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: docker container
|
||||
when: not quick_refresh | bool
|
||||
block:
|
||||
|
||||
- name: drive history dashboard - set docker folder variable
|
||||
set_fact:
|
||||
service_control_web_folder: "{{ service_folder }}/web"
|
||||
- name: service_control_website - template docker-compose.yaml
|
||||
template:
|
||||
src: docker-compose-php.yaml
|
||||
dest: "{{ service_control_web_folder }}/docker-compose.yaml"
|
||||
mode: 0644
|
||||
|
||||
# Create docker Folder
|
||||
- name: drive history dashboard - create service_control_web_folder folder
|
||||
file:
|
||||
path: "{{ service_control_web_folder }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: drive history dashboard - copy files for docker container
|
||||
copy:
|
||||
src: "dashboard/"
|
||||
dest: "{{ service_control_web_folder }}/html"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
###############################################
|
||||
# Start service_control_website
|
||||
###############################################
|
||||
|
||||
- name: start drive history dashboard
|
||||
when: not quick_refresh | bool
|
||||
block:
|
||||
|
||||
- name: service_control_website - template config
|
||||
template:
|
||||
src: docker-compose-php.yaml
|
||||
dest: "{{ service_control_web_folder }}/docker-compose.yaml"
|
||||
mode: 0644
|
||||
|
||||
- name: "service_control_website - Start container at 0.0.0.0:{{ container_http_port }}"
|
||||
shell: "docker-compose -f {{ service_control_web_folder }}/docker-compose.yaml up -d"
|
||||
register: docker_output
|
||||
- debug: |
|
||||
msg="{{ docker_output.stdout_lines }}"
|
||||
msg="{{ docker_output.stderr_lines }}"
|
||||
- name: "service_control_website - Start container at {{ container_http_port }}"
|
||||
shell: "docker-compose -f {{ service_control_web_folder }}/docker-compose.yaml up -d"
|
||||
register: docker_output
|
||||
- debug: |
|
||||
msg="{{ docker_output.stdout_lines }}"
|
||||
msg="{{ docker_output.stderr_lines }}"
|
||||
|
||||
...
|
||||
@ -1,15 +1,5 @@
|
||||
---
|
||||
|
||||
- name: Drive Index - Install Packages
|
||||
when: not quick_refresh | bool
|
||||
apt:
|
||||
name:
|
||||
- "{{ ssd_health_packages_item }}"
|
||||
state: present
|
||||
loop: "{{ ssd_health_packages }}"
|
||||
loop_control:
|
||||
loop_var: ssd_health_packages_item
|
||||
|
||||
- name: Drive Index - file and folder handler
|
||||
block:
|
||||
|
||||
@ -90,46 +80,4 @@
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Drive Index - kiosk mode handler
|
||||
when: install_kiosk | bool or service_only | bool
|
||||
block:
|
||||
|
||||
- name: Drive Index - set sleep_time to 1
|
||||
set_fact:
|
||||
sleep_time: "1"
|
||||
|
||||
- name: "Drive Index - template drive_check.sh again"
|
||||
template:
|
||||
src: drive_check.sh
|
||||
dest: "{{ service_folder }}/drive_check.sh"
|
||||
mode: 0755
|
||||
owner: "{{ autologin_user }}"
|
||||
group: "{{ autologin_user }}"
|
||||
|
||||
- name: "Drive Index - {{ kiosk_service_name }}.service - stop service if running"
|
||||
ignore_errors: yes
|
||||
systemd:
|
||||
name: "{{ kiosk_service_name }}.service"
|
||||
state: stopped
|
||||
|
||||
- name: "Drive Index - template {{ kiosk_service_name }}.service"
|
||||
vars:
|
||||
service_name: "{{ kiosk_service_name }}"
|
||||
service_working_folder: "{{ service_folder }}"
|
||||
service_exe: "{{ kiosk_service_exe }}"
|
||||
template:
|
||||
src: "service_template.service"
|
||||
dest: "/etc/systemd/system/{{ kiosk_service_name }}.service"
|
||||
mode: 0644
|
||||
|
||||
- name: "Drive Index - {{ kiosk_service_name }} - daemon reload"
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
|
||||
- name: "Drive Index - {{ kiosk_service_name }} - enable and start service api"
|
||||
systemd:
|
||||
name: "{{ kiosk_service_name }}.service"
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
...
|
||||
30
tasks/initialiaze.yaml
Normal file
30
tasks/initialiaze.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
|
||||
- name: Initialiaze - Install Packages
|
||||
when: not quick_refresh | bool
|
||||
apt:
|
||||
name:
|
||||
- "{{ ssd_health_packages_item }}"
|
||||
state: present
|
||||
loop: "{{ ssd_health_packages }}"
|
||||
loop_control:
|
||||
loop_var: ssd_health_packages_item
|
||||
|
||||
- name: "Initialiaze - create {{ autologin_user }} user"
|
||||
when: not quick_refresh | bool
|
||||
user:
|
||||
name: "{{ autologin_user }}"
|
||||
groups: disk
|
||||
password: "{{ autologin_password | password_hash('sha512') }}"
|
||||
shell: /bin/bash
|
||||
|
||||
- name: "Initialiaze - ensure {{ autologin_user }} home folder exists"
|
||||
when: not quick_refresh | bool
|
||||
file:
|
||||
path: "/home/{{ autologin_user }}"
|
||||
state: directory
|
||||
owner: "{{ autologin_user }}"
|
||||
group: "{{ autologin_user }}"
|
||||
mode: '0700'
|
||||
|
||||
...
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
|
||||
# create and configure user account
|
||||
- name: Drive health - set up user account
|
||||
include_tasks: user_setup.yaml
|
||||
- name: Drive health - initialize early steps
|
||||
include_tasks: initialiaze.yaml
|
||||
|
||||
# create drive index service
|
||||
- name: Drive health - drive_index service
|
||||
include_tasks: drive_index.yaml
|
||||
|
||||
# create drive history dashboard
|
||||
# create drive history web dashboard
|
||||
- name: Drive health - drive history dashboard
|
||||
include_tasks: dashboard.yaml
|
||||
|
||||
@ -17,5 +17,25 @@
|
||||
when: not install_kiosk | bool or not service_only | bool
|
||||
include_tasks: autologin.yaml
|
||||
|
||||
# configure service-mode
|
||||
- name: Drive health - configure autologin
|
||||
when: install_kiosk | bool or service_only | bool
|
||||
include_tasks: service_mode.yaml
|
||||
|
||||
# Install chrome kiosk
|
||||
- name: install chromium kiosk
|
||||
when: install_kiosk | bool and not service_only | bool
|
||||
include_role:
|
||||
name: "chrome_kiosk"
|
||||
vars:
|
||||
refresh_special: "{{ quick_refresh }}"
|
||||
|
||||
# kiosk_service_templates:
|
||||
# - chrome_website: "http://0.0.0.0:8088"
|
||||
# service_name: ssh_dashboard
|
||||
# service_description: "SSH Health History Dashboard"
|
||||
# user_data_dir: ""
|
||||
# extra_service_configs: ""
|
||||
# extra_chrome_configs: ""
|
||||
|
||||
...
|
||||
33
tasks/no_autologin.yaml
Normal file
33
tasks/no_autologin.yaml
Normal file
@ -0,0 +1,33 @@
|
||||
---
|
||||
|
||||
- name: autologin - edit logind to reduce vterms to one
|
||||
lineinfile:
|
||||
dest: /etc/systemd/logind.conf
|
||||
regexp: '^#NAutoVTs='
|
||||
line: 'NAutoVTs=6'
|
||||
backrefs: yes
|
||||
|
||||
- name: autologin - create getty tty1 service folder
|
||||
file:
|
||||
path: /etc/systemd/system/getty@tty1.service.d/
|
||||
state: directory
|
||||
mode: '0700'
|
||||
|
||||
- name: autologin - "delete {{ autologin_user }} .bash_aliases"
|
||||
shell: "rm /home/{{ autologin_user }}/.bash_aliases"
|
||||
|
||||
- name: autologin - remove autologin override to getty tty1 service
|
||||
shell: "rm /etc/systemd/system/getty@tty1.service.d/override.conf"
|
||||
|
||||
- name: autologin - "User setup - allow {{ autologin_user }} to smartctl"
|
||||
shell: "rm /etc/sudoers.d/smartctl"
|
||||
|
||||
- name: autologin - Restart getty@tty1 service
|
||||
systemd:
|
||||
name: getty@tty1.service
|
||||
state: restarted
|
||||
enabled: true
|
||||
masked: false
|
||||
daemon_reload: true
|
||||
|
||||
...
|
||||
44
tasks/service_mode.yaml
Normal file
44
tasks/service_mode.yaml
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
# This will run the drive_check.sh script as a service instead of the autologin
|
||||
- name: Service Mode - set sleep_time to 1
|
||||
set_fact:
|
||||
sleep_time: "1"
|
||||
|
||||
- name: "Service Mode - template drive_check.sh again"
|
||||
template:
|
||||
src: drive_check.sh
|
||||
dest: "{{ service_folder }}/drive_check.sh"
|
||||
mode: 0755
|
||||
owner: "{{ autologin_user }}"
|
||||
group: "{{ autologin_user }}"
|
||||
|
||||
- name: "Service Mode - {{ kiosk_service_name }}.service - stop service if running"
|
||||
ignore_errors: yes
|
||||
systemd:
|
||||
name: "{{ kiosk_service_name }}.service"
|
||||
state: stopped
|
||||
|
||||
- name: "Service Mode - template {{ kiosk_service_name }}.service"
|
||||
vars:
|
||||
service_name: "{{ kiosk_service_name }}"
|
||||
service_working_folder: "{{ service_folder }}"
|
||||
service_exe: "{{ kiosk_service_exe }}"
|
||||
template:
|
||||
src: "service_template.service"
|
||||
dest: "/etc/systemd/system/{{ kiosk_service_name }}.service"
|
||||
mode: 0644
|
||||
|
||||
- name: "Service Mode - {{ kiosk_service_name }} - daemon reload"
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
|
||||
- name: "Service Mode - {{ kiosk_service_name }} - enable and start service api"
|
||||
systemd:
|
||||
name: "{{ kiosk_service_name }}.service"
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Service Mode - remove autologin
|
||||
include_tasks: no_autologin.yaml
|
||||
|
||||
...
|
||||
@ -1,43 +0,0 @@
|
||||
---
|
||||
|
||||
- name: "User setup - create {{ autologin_user }} user"
|
||||
when: not quick_refresh | bool
|
||||
user:
|
||||
name: "{{ autologin_user }}"
|
||||
groups: disk
|
||||
password: "{{ autologin_password | password_hash('sha512') }}"
|
||||
shell: /bin/bash
|
||||
|
||||
- name: "User setup - ensure {{ autologin_user }} home folder exists"
|
||||
when: not quick_refresh | bool
|
||||
file:
|
||||
path: "/home/{{ autologin_user }}"
|
||||
state: directory
|
||||
owner: "{{ autologin_user }}"
|
||||
group: "{{ autologin_user }}"
|
||||
mode: '0700'
|
||||
|
||||
- name: User setup - autologin needed stuff
|
||||
when: not service_only | bool
|
||||
block:
|
||||
|
||||
- name: User setup - update permissions on smartctl & fdisk
|
||||
shell: |
|
||||
chmod 755 /usr/sbin/smartctl
|
||||
chmod u+s /usr/sbin/smartctl
|
||||
chmod u+s /usr/sbin/fdisk
|
||||
|
||||
- name: User setup - create symlink for smartctl & fdisk
|
||||
ignore_errors: yes
|
||||
shell: |
|
||||
ln /usr/sbin/smartctl /usr/bin/smartctl
|
||||
ln /usr/sbin/fdisk /usr/bin/fdisk
|
||||
|
||||
- name: "User setup - allow {{ autologin_user }} to smartctl"
|
||||
copy:
|
||||
dest: /etc/sudoers.d/smartctl
|
||||
content: |
|
||||
{{ autologin_user }} ALL=(ALL) NOPASSWD: /usr/sbin/smartctl
|
||||
{{ autologin_user }} ALL=(ALL) NOPASSWD: /usr/sbin/fdisk
|
||||
|
||||
...
|
||||
Reference in New Issue
Block a user