a bit of cleaning and testing, pipeline successful

This commit is contained in:
2025-07-28 07:56:52 -07:00
parent 211930cde3
commit c36e56f234
10 changed files with 67 additions and 54 deletions

View File

@ -15,6 +15,9 @@ main_packages:
- python-is-python3 - python-is-python3
- apache2 - apache2
- php - php
- docker
- docker-compose
- docker.io
autologin_packages: autologin_packages:
- kde-plasma-desktop - kde-plasma-desktop

View File

@ -2,20 +2,20 @@
############################################### ###############################################
# Install Chrome # Install Chrome
- name: Chrome - Chrome - Check if installed - name: carputer - Chrome - Check if chrome installed
command: dpkg -l google-chrome-stable command: dpkg -l google-chrome-stable
register: chrome_installed register: chrome_installed
ignore_errors: true ignore_errors: true
- name: Chrome - Chrome - Set chrome_present variable - name: carputer - Chrome - Set chrome_present variable
set_fact: set_fact:
chrome_present: "{{ chrome_installed.rc == 0 }}" chrome_present: "{{ chrome_installed.rc == 0 }}"
- name: Chrome - Install Chrome - name: carputer - Chrome - Install Chrome
include_tasks: /var/jenkins_home/ansible/roles/install_apps/tasks/chrome.yaml include_tasks: /var/jenkins_home/ansible/roles/install_apps/tasks/chrome.yaml
when: not chrome_present | bool when: not chrome_present | bool
- name: Chrome - Create User Service Folder - name: carputer - Chrome - Create User Service Folder
file: file:
path: /home/cosmos/.config/systemd/user path: /home/cosmos/.config/systemd/user
state: directory state: directory
@ -23,8 +23,9 @@
group: cosmos group: cosmos
mode: '0700' mode: '0700'
- name: Chrome - clear user cache #- name: carputer - Chrome - clear user cache
shell: "rm -R /home/cosmos/.config/google-chrome" # shell: "rm -R /home/cosmos/.config/google-chrome"
############################################### ###############################################
# Configure Kiosks # Configure Kiosks

View File

@ -3,15 +3,26 @@
############################################### ###############################################
# Install KDE and other additional packages # Install KDE and other additional packages
# Stop SDDM if running
- name: carputer - cosmos autologin - stop sddm
systemd:
name: sddm
enabled: yes
state: stopped
ignore_errors: yes
- name: carputer - cosmos autologin - purge user account
shell: "rm -R /home/cosmos"
# Install Packages # Install Packages
- name: prereqs - install packages including KDE, will be slow - name: carputer - cosmos autologin - install packages including KDE, will be slow
apt: apt:
name: "{{ item }}" name: "{{ item }}"
state: present state: present
loop: "{{ autologin_packages }}" loop: "{{ autologin_packages }}"
# Set sddm as def # Set sddm as def
- name: prereqs - enable sddm in xdm - name: carputer - cosmos autologin - enable sddm in xdm
debconf: debconf:
name: sddm name: sddm
question: shared/default-x-display-manager question: shared/default-x-display-manager
@ -19,14 +30,14 @@
vtype: select vtype: select
# enable sddm service # enable sddm service
- name: prereqs - enable sddm - name: carputer - cosmos autologin - enable sddm
systemd: systemd:
name: sddm name: sddm
enabled: yes enabled: yes
state: started state: started
# Configure Autologin # Configure Autologin
- name: prereqs - configure autologin et. al. - name: carputer - cosmos autologin - configure autologin et. al.
template: template:
src: sddm.conf.j2 src: sddm.conf.j2
dest: /etc/sddm.conf dest: /etc/sddm.conf
@ -35,7 +46,7 @@
############################################### ###############################################
# Apply Profile # Apply Profile
# Create Cosmos user folder # Create Cosmos user folder
- name: prereqs - create cosmos user profile folder - name: carputer - cosmos autologin - create cosmos user profile folder
file: file:
path: /home/cosmos path: /home/cosmos
owner: cosmos owner: cosmos
@ -44,7 +55,7 @@
mode: '0700' mode: '0700'
# Extract profile # Extract profile
- name: prereqs - extract cosmos user profile - name: carputer - cosmos autologin - extract cosmos user profile
unarchive: unarchive:
src: /var/jenkins_home/ansible-files/profile/cosmos.tar.gz src: /var/jenkins_home/ansible-files/profile/cosmos.tar.gz
dest: /home dest: /home
@ -53,7 +64,7 @@
mode: 0700 mode: 0700
# Restart sddm to initialize user profile # Restart sddm to initialize user profile
- name: prereqs - restart sddm - name: carputer - cosmos autologin - restart sddm
systemd: systemd:
name: sddm name: sddm
state: restarted state: restarted

View File

@ -1,7 +1,7 @@
--- ---
# Create service Folder # Create service Folder
- name: gps_service - create photo_refresh folder - name: carputer - gps_service - create photo_refresh folder
file: file:
path: "{{ gps_service_directory }}" path: "{{ gps_service_directory }}"
state: directory state: directory
@ -9,7 +9,7 @@
owner: root owner: root
group: root group: root
- name: gps_service - Enable and start gpsd system service - name: carputer - gps_service - Enable and start gpsd system service
become: true become: true
systemd: systemd:
daemon_reload: yes daemon_reload: yes
@ -18,22 +18,22 @@
name: gpsd name: gpsd
# this should never fail if things are plugged in correctly # this should never fail if things are plugged in correctly
- name: gps_service - check for GPS device - name: carputer - gps_service - check for GPS device
shell: ls /dev/ttyACM0 shell: ls /dev/ttyACM0
register: check_gps_device register: check_gps_device
- name: gps_service - show device - name: carputer - gps_service - show device
debug: debug:
msg: "Device Found: {{ check_gps_device.stdout_lines[0] }}" msg: "Device Found: {{ check_gps_device.stdout_lines[0] }}"
- name: gps_service - copy service script - name: carputer - gps_service - copy service script
template: template:
src: gps_service.sh.j2 src: gps_service.sh.j2
dest: "{{ gps_service_directory }}/gps_service.sh" dest: "{{ gps_service_directory }}/gps_service.sh"
mode: 0755 mode: 0755
# Create gps_service python service # Create gps_service python service
- name: gps_service - create service file - name: carputer - gps_service - create service file
# vars: # vars:
template: template:
src: gps_service.service.j2 src: gps_service.service.j2
@ -41,12 +41,12 @@
mode: 0644 mode: 0644
# daemon reload # daemon reload
- name: gps_service - daemon reload - name: carputer - gps_service - daemon reload
systemd: systemd:
daemon_reload: yes daemon_reload: yes
# Enable and start # Enable and start
- name: gps_service - enable and start api - name: carputer - gps_service - enable and start api
systemd: systemd:
name: gps_service.service name: gps_service.service
state: started state: started

View File

@ -6,7 +6,7 @@
# so i can make a list of variables again # so i can make a list of variables again
############################################### ###############################################
- name: Chrome Kiosk - display info - name: carputer - Chrome Kiosk - display info
debug: debug:
msg: msg:
- "Chrome Kiosk Configuring" - "Chrome Kiosk Configuring"
@ -15,7 +15,7 @@
- "Chrome App Resolution: {{ item.chrome_resolution }}" - "Chrome App Resolution: {{ item.chrome_resolution }}"
# Create user data dir Folder # Create user data dir Folder
- name: timelapse - create working folder - name: carputer - Chrome Kiosk - create working folder
when: create_data_dir | bool when: create_data_dir | bool
file: file:
path: "{{ item.user_data_dir }}" path: "{{ item.user_data_dir }}"
@ -24,15 +24,15 @@
owner: cosmos owner: cosmos
group: cosmos group: cosmos
- name: Chrome Kiosk - user stop service - name: carputer - Chrome Kiosk - user stop service
command: "systemctl --user -M cosmos@ stop {{ item.service_name }}.service" command: "systemctl --user -M cosmos@ stop {{ item.service_name }}.service"
ignore_errors: true ignore_errors: true
# - name: Chrome Kiosk - Kill chrome if running otherwise # - name: carputer - Chrome Kiosk - Kill chrome if running otherwise
# command: pkill chrome # command: pkill chrome
# ignore_errors: true # ignore_errors: true
- name: Chrome Kiosk - Copy chrome service file - name: carputer - Chrome Kiosk - Copy chrome service file
template: template:
src: chrome-app.service.j2 src: chrome-app.service.j2
dest: "/home/cosmos/.config/systemd/user/{{ item.service_name }}.service" dest: "/home/cosmos/.config/systemd/user/{{ item.service_name }}.service"
@ -40,14 +40,14 @@
group: cosmos group: cosmos
mode: 0600 mode: 0600
- name: Chrome Kiosk - user daemon reload - name: carputer - Chrome Kiosk - user daemon reload
command: "systemctl --user -M cosmos@ daemon-reload" command: "systemctl --user -M cosmos@ daemon-reload"
register: user_daemon_reload register: user_daemon_reload
- name: Chrome Kiosk - user enable service - name: carputer - Chrome Kiosk - user enable service
command: "systemctl --user -M cosmos@ enable {{ item.service_name }}.service" command: "systemctl --user -M cosmos@ enable {{ item.service_name }}.service"
- name: Chrome Kiosk - user start service - name: carputer - Chrome Kiosk - user start service
command: "systemctl --user -M cosmos@ start {{ item.service_name }}.service" command: "systemctl --user -M cosmos@ start {{ item.service_name }}.service"
... ...

View File

@ -32,12 +32,12 @@
- name: Install photo refresh site - name: Install photo refresh site
include_tasks: photo_refresh.yaml include_tasks: photo_refresh.yaml
- name: Install cosmos autologin user
include_tasks: cosmos_autologin.yaml
- name: Install timelapse service control - name: Install timelapse service control
include_tasks: service_control.yaml include_tasks: service_control.yaml
- name: Install cosmos autologin user
include_tasks: cosmos_autologin.yaml
- name: Set up Chrome Kiosk Services - name: Set up Chrome Kiosk Services
include_tasks: chrome.yaml include_tasks: chrome.yaml

View File

@ -1,7 +1,7 @@
--- ---
# Create docker Folder # Create docker Folder
- name: photo_refresh - create photo_refresh folder - name: carputer - photo_refresh - create photo_refresh folder
file: file:
path: "{{ photo_refresh_folder }}" path: "{{ photo_refresh_folder }}"
state: directory state: directory
@ -10,7 +10,7 @@
group: root group: root
- name: photo_refresh - copy files for docker container - name: carputer - photo_refresh - copy files for docker container
copy: copy:
src: "image_refresh_php/" src: "image_refresh_php/"
dest: "{{ photo_refresh_folder }}/html" dest: "{{ photo_refresh_folder }}/html"
@ -18,7 +18,7 @@
owner: root owner: root
group: root group: root
# - name: photo_refresh - Build image # - name: carputer - photo_refresh - Build image
# shell: "docker build -t photo_refresh {{ photo_refresh_folder }}/." # shell: "docker build -t photo_refresh {{ photo_refresh_folder }}/."
# docker_image: # docker_image:
@ -36,20 +36,20 @@
- name: start photo_refresh - name: start photo_refresh
block: block:
- name: set container_name - name: carputer - photo_refresh - set container_name
set_fact: set_fact:
container_name: "photo_refresh" container_name: "photo_refresh"
container_http_port: "8080" container_http_port: "8080"
extra_volumes: | extra_volumes: |
- {{ working_folder }}/small_thumbs:/var/www/html/capture - {{ working_folder }}/small_thumbs:/var/www/html/capture
- name: photo_refresh - template config - name: carputer - photo_refresh - template config
template: template:
src: docker-compose-php.yaml.j2 src: docker-compose-php.yaml.j2
dest: "{{ photo_refresh_folder }}/docker-compose.yaml" dest: "{{ photo_refresh_folder }}/docker-compose.yaml"
mode: 0644 mode: 0644
- name: photo_refresh - Start container at 0.0.0.0:8080 - name: carputer - photo_refresh - Start container at 0.0.0.0:8080
shell: "docker-compose -f {{ photo_refresh_folder }}/docker-compose.yaml up -d" shell: "docker-compose -f {{ photo_refresh_folder }}/docker-compose.yaml up -d"
register: local_index_output register: local_index_output
- debug: | - debug: |

View File

@ -11,32 +11,31 @@
############################################### ###############################################
- name: service control api - name: service control api
when: false
block: block:
# Stop service # Stop service
- name: service_control api - stop service api - name: carputer - service_control api - stop service api
systemd: systemd:
name: service_control.service name: service_control.service
state: stopped state: stopped
ignore_errors: yes ignore_errors: yes
# Create API Folder # Create API Folder
- name: service_control api - create api folder - name: carputer - service_control api - create api folder
file: file:
path: "{{ service_control_folder }}" path: "{{ service_control_folder }}"
state: directory state: directory
mode: '0755' mode: '0755'
# Copy API Code # Copy API Code
- name: service_control api - copy api code - name: carputer - service_control api - copy api code
copy: copy:
src: service_control_api/app.py src: service_control_api/app.py
dest: "{{ service_control_folder }}/app.py" dest: "{{ service_control_folder }}/app.py"
mode: 0644 mode: 0644
# Create service_control api service # Create service_control api service
- name: service_control api - create requirement file - name: carputer - service_control api - create requirement file
copy: copy:
dest: "{{ service_control_folder }}/requirements.txt" dest: "{{ service_control_folder }}/requirements.txt"
content: | content: |
@ -48,7 +47,7 @@
mode: 0644 mode: 0644
# build venv # build venv
- name: service_control api - build venv - name: carputer - service_control api - build venv
pip: pip:
virtualenv: "{{ service_control_folder }}/venv" virtualenv: "{{ service_control_folder }}/venv"
requirements: "{{ service_control_folder }}/requirements.txt" requirements: "{{ service_control_folder }}/requirements.txt"
@ -56,7 +55,7 @@
state: present state: present
# Create service_control api service # Create service_control api service
- name: service_control api - create service file - name: carputer - service_control api - create service file
# vars: # vars:
template: template:
src: service_control.service.j2 src: service_control.service.j2
@ -64,12 +63,12 @@
mode: 0644 mode: 0644
# daemon reload # daemon reload
- name: service_control api - daemon reload - name: carputer - service_control api - daemon reload
systemd: systemd:
daemon_reload: yes daemon_reload: yes
# Enable and start # Enable and start
- name: service_control api - enable and start service api - name: carputer - service_control api - enable and start service api
systemd: systemd:
name: service_control.service name: service_control.service
state: started state: started
@ -82,7 +81,6 @@
############################################### ###############################################
- name: service control web interface - name: service control web interface
when: true
block: block:
- name: set docker folder variable - name: set docker folder variable

View File

@ -24,7 +24,7 @@
group: root group: root
mode: 0644 mode: 0644
- name: timelapse - daemon reload - name: timelapse - enable service, leave offline
become: true become: true
systemd: systemd:
daemon_reload: yes daemon_reload: yes

View File

@ -1,13 +1,13 @@
--- ---
- name: ustreamer - Create user - name: carputer - ustreamer - Create user
user: user:
name: "ustreamer" name: "ustreamer"
state: present state: present
shell: /bin/bash shell: /bin/bash
groups: video groups: video
- name: ustreamer - create service file - name: carputer - ustreamer - create service file
template: template:
src: ustreamer.service.j2 src: ustreamer.service.j2
dest: /etc/systemd/system/ustreamer.service dest: /etc/systemd/system/ustreamer.service
@ -15,7 +15,7 @@
group: root group: root
mode: 0644 mode: 0644
- name: ustreamer - Enable and start service - name: carputer - ustreamer - Enable and start service
become: true become: true
systemd: systemd:
daemon_reload: yes daemon_reload: yes