initial commit, carputer ansible role
This commit is contained in:
76
tasks/cosmos_autologin.yaml
Normal file
76
tasks/cosmos_autologin.yaml
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
|
||||
###############################################
|
||||
# Install KDE and other additional packages
|
||||
|
||||
# Install Packages
|
||||
- name: prereqs - install packages including KDE, will be slow
|
||||
apt:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop: "{{ packages }}"
|
||||
|
||||
# Set sddm as def
|
||||
- name: prereqs - enable sddm in xdm
|
||||
debconf:
|
||||
name: sddm
|
||||
question: shared/default-x-display-manager
|
||||
value: sddm
|
||||
vtype: select
|
||||
|
||||
# enable sddm service
|
||||
- name: prereqs - enable sddm
|
||||
systemd:
|
||||
name: sddm
|
||||
enabled: yes
|
||||
state: started
|
||||
|
||||
# Configure Autologin
|
||||
- name: prereqs - configure autologin et. al.
|
||||
template:
|
||||
src: sddm.conf.j2
|
||||
dest: /etc/sddm.conf
|
||||
mode: 0644
|
||||
|
||||
###############################################
|
||||
# Install Chrome
|
||||
- name: prereqs - Chrome - Check if installed
|
||||
command: dpkg -l google-chrome-stable
|
||||
register: chrome_installed
|
||||
ignore_errors: true
|
||||
|
||||
- name: prereqs - Chrome - Set chrome_present variable
|
||||
set_fact:
|
||||
chrome_present: "{{ chrome_installed.rc == 0 }}"
|
||||
|
||||
- name: prereqs - Install Chrome
|
||||
include_tasks: /var/jenkins_home/ansible/roles/install_apps/tasks/chrome.yaml
|
||||
when: not chrome_present | bool
|
||||
|
||||
###############################################
|
||||
# Apply Profile
|
||||
# Create Cosmos user folder
|
||||
- name: prereqs - create cosmos user profile folder
|
||||
file:
|
||||
path: /home/cosmos
|
||||
owner: cosmos
|
||||
group: cosmos
|
||||
state: directory
|
||||
mode: '0700'
|
||||
|
||||
# Extract profile
|
||||
- name: prereqs - extract cosmos user profile
|
||||
unarchive:
|
||||
src: /var/jenkins_home/ansible-files/lldp_scan/cosmos.tar.gz
|
||||
dest: /home
|
||||
owner: cosmos
|
||||
group: cosmos
|
||||
mode: 0700
|
||||
|
||||
# Restart sddm to initialize user profile
|
||||
- name: prereqs - restart sddm
|
||||
systemd:
|
||||
name: sddm
|
||||
state: restarted
|
||||
|
||||
...
|
||||
61
tasks/kiosk.yaml
Normal file
61
tasks/kiosk.yaml
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
###############################################
|
||||
# Chrome Kiosk Config
|
||||
# This creates the service and configures the user profile
|
||||
###############################################
|
||||
|
||||
- name: lldp - apache - clear www
|
||||
command: rm -R /var/www/html
|
||||
# Copy Web Server Files
|
||||
|
||||
- name: lldp - apache - web - copy files
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: /var/www/html/
|
||||
owner: www-data
|
||||
mode: 0755
|
||||
with_fileglob:
|
||||
- "/var/jenkins_home/ansible/roles/lldp_scan/files/www/*"
|
||||
|
||||
- name: Chrome Kiosk - Create User Service Folder
|
||||
file:
|
||||
path: /home/cosmos/.config/systemd/user
|
||||
state: directory
|
||||
owner: cosmos
|
||||
group: cosmos
|
||||
mode: '0700'
|
||||
|
||||
- name: Chrome Kiosk - user stop service
|
||||
command: systemctl --user -M cosmos@ stop chrome.service
|
||||
register: user_start_chrome
|
||||
ignore_errors: true
|
||||
|
||||
- name: Chrome Kiosk - Kill chrome if running otherwise
|
||||
command: pkill chrome
|
||||
ignore_errors: true
|
||||
|
||||
- name: Chrome Kiosk - Copy chrome service file
|
||||
template:
|
||||
src: chrome-app.service.j2
|
||||
dest: /home/cosmos/.config/systemd/user/chrome.service
|
||||
owner: cosmos
|
||||
group: cosmos
|
||||
mode: 0600
|
||||
|
||||
- name: Chrome Kiosk - user daemon reload
|
||||
command: systemctl --user -M cosmos@ daemon-reload
|
||||
register: user_daemon_reload
|
||||
ignore_errors: true
|
||||
|
||||
- name: Chrome Kiosk - user enable service
|
||||
command: systemctl --user -M cosmos@ enable chrome.service
|
||||
register: user_enable_chrome
|
||||
ignore_errors: true
|
||||
|
||||
- name: Chrome Kiosk - user start service
|
||||
command: systemctl --user -M cosmos@ start chrome.service
|
||||
register: user_start_chrome
|
||||
ignore_errors: true
|
||||
|
||||
|
||||
...
|
||||
23
tasks/main.yaml
Normal file
23
tasks/main.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
---
|
||||
|
||||
###########################################################
|
||||
# Playbook for configuring GOLE as Road Trip Carputer
|
||||
###########################################################
|
||||
# Steps:
|
||||
### uStreamer
|
||||
### Timelapse Service
|
||||
### Sharing Page
|
||||
### Cosmos Autologin
|
||||
### Top Cam Feed Kiosk
|
||||
### Bottom Service Control Panel
|
||||
|
||||
# select display_name, city, state, postcode from addresses order by id desc limit 1;
|
||||
# curl -s http://10.18.1.1:8184/wheres_gali?api_key=srJraFFprHadzQTDZf5hrmXh
|
||||
|
||||
- name: Carputer Early Tasks
|
||||
include_tasks:
|
||||
- ustreamer.yaml
|
||||
- timelapse.yaml
|
||||
- php_site.yaml
|
||||
|
||||
...
|
||||
0
tasks/php_site.yaml
Normal file
0
tasks/php_site.yaml
Normal file
15
tasks/timelapse.yaml
Normal file
15
tasks/timelapse.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
- name: Create user
|
||||
user:
|
||||
name: "timelapse"
|
||||
state: present
|
||||
shell: /bin/bash
|
||||
groups: video
|
||||
|
||||
|
||||
|
||||
...
|
||||
34
tasks/ustreamer.yaml
Normal file
34
tasks/ustreamer.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
|
||||
- name: Install Packages
|
||||
apt:
|
||||
name:
|
||||
- ustreamer
|
||||
state: present
|
||||
register: apt_result
|
||||
ignore_errors: true
|
||||
|
||||
- name: Create user
|
||||
user:
|
||||
name: "ustreamer"
|
||||
state: present
|
||||
shell: /bin/bash
|
||||
groups: video
|
||||
|
||||
- name: create service file
|
||||
template:
|
||||
src: ustreamer.service.j2
|
||||
dest: /etc/systemd/system/ustreamer.service
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Enable and start service
|
||||
become: true
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
state: started
|
||||
enabled: yes
|
||||
name: ustreamer
|
||||
|
||||
...
|
||||
Reference in New Issue
Block a user