1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-12 11:12:06 +00:00

/etc/iiab/iiab.ini: install / enabled -> ROLE_install / ROLE_enabled

This commit is contained in:
root 2021-04-29 15:03:29 -04:00
parent 004134e0eb
commit a07a684d13
35 changed files with 128 additions and 54 deletions

View file

@ -44,7 +44,7 @@
value: AWStats
- option: description
value: '"AWStats (originally known as Advanced Web Statistics) is a package written in Perl which generates static or dynamic html summaries based upon web server logs."'
- option: install
- option: awstats_install
value: "{{ awstats_install }}"
- option: enabled
- option: awstats_enabled
value: "{{ awstats_enabled }}"

View file

@ -24,7 +24,7 @@
when: bluetooth_installed is undefined
- include_tasks: enable.yml # i.e. enable-or-disable.yml in other roles
- include_tasks: enable-or-disable.yml
- name: Add 'bluetooth' variable values to {{ iiab_ini_file }}
@ -38,6 +38,8 @@
value: Bluetooth
- option: description
value: '"Bluetooth services for pan and terminal."'
- option: bluetooth_install
value: "{{ bluetooth_install }}"
- option: bluetooth_enabled
value: "{{ bluetooth_enabled }}"
- option: bluetooth_term_enabled

View file

@ -59,6 +59,10 @@
value: Calibre-Web
- option: description
value: '"Calibre-Web is a web app providing a clean interface for browsing, reading and downloading e-books."'
- option: calibreweb_install
value: "{{ calibreweb_install }}"
- option: calibreweb_enabled
value: "{{ calibreweb_enabled }}"
- option: calibreweb_url1
value: "{{ calibreweb_url1 }}"
- option: calibreweb_url2
@ -73,5 +77,3 @@
value: "{{ calibreweb_port }}"
- option: calibreweb_database
value: "{{ calibreweb_database }}"
- option: calibreweb_enabled
value: "{{ calibreweb_enabled }}"

View file

@ -39,7 +39,7 @@
value: Captive Portal
- option: description
value: '"Captive Portal tries to open the browser automatically, so users don''t have to type in URL''s like http://box.lan in support of kiosk-like situations, in multilingual and less literate communities."'
- option: install
- option: captiveportal_install
value: "{{ captiveportal_install }}"
- option: enabled
- option: captiveportal_enabled
value: "{{ captiveportal_enabled }}"

View file

@ -8,6 +8,7 @@
src: cupsd.conf
dest: /etc/cups/cupsd.conf
# RECORD CUPS AS INSTALLED
- name: "Set 'cups_installed: True'"

View file

@ -47,7 +47,7 @@
value: CUPS
- option: description
value: '"CUPS (Common UNIX Printing System) is a modular printing system that allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer."'
- option: install
- option: cups_install
value: "{{ cups_install }}"
- option: enabled
- option: cups_enabled
value: "{{ cups_enabled }}"

View file

@ -45,7 +45,9 @@
value: Elgg
- option: description
value: '"Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications."'
- option: path
value: /opt/elgg
- option: elgg_install
value: "{{ elgg_install }}"
- option: elgg_enabled
value: "{{ elgg_enabled }}"
- option: path
value: /opt/elgg

View file

@ -59,9 +59,11 @@
value: Gitea
- option: description
value: '"Gitea is like GitHub for more offline communities: Git with a cup of tea"'
- option: gitea_install
value: "{{ gitea_install }}"
- option: gitea_enabled
value: "{{ gitea_enabled }}"
- option: gitea_run_directory
value: "{{ gitea_run_directory }}"
- option: gitea_url
value: "{{ gitea_url }}"
- option: gitea_enabled
value: "{{ gitea_enabled }}"

View file

@ -51,9 +51,11 @@
value: "KA Lite"
- option: description
value: '"KA Lite downloads Khan Academy videos for offline use, with exercises and accounts if students want to track their own progress."'
- option: kalite_install
value: "{{ kalite_install }}"
- option: kalite_enabled
value: "{{ kalite_enabled }}"
- option: path
value: "{{ kalite_root }}"
- option: port
value: "{{ kalite_server_port }}"
- option: kalite_enabled
value: "{{ kalite_enabled }}"

View file

@ -38,6 +38,10 @@
value: Kiwix
- option: description
value: '"Part of https://github.com/kiwix/kiwix-tools/ -- kiwix-serve is the most used web server for ZIM files."'
- option: kiwix_install
value: "{{ kiwix_install }}"
- option: kiwix_enabled
value: "{{ kiwix_enabled }}"
- option: kiwix_url
value: "{{ kiwix_url }}"
- option: kiwix_url_plus_slash
@ -50,5 +54,3 @@
value: "{{ iiab_zim_path }}"
- option: kiwix_library_xml
value: "{{ kiwix_library_xml }}"
- option: kiwix_enabled
value: "{{ kiwix_enabled }}"

View file

@ -64,11 +64,13 @@
value: Kolibri
- option: description
value: '"Kolibri is an open-source educational platform specially designed to provide offline access to a wide range of quality, openly licensed educational contents in low-resource contexts like rural schools, refugee camps, orphanages, and also in non-formal school programs."'
- option: kolibri_install
value: "{{ kolibri_install }}"
- option: kolibri_enabled
value: "{{ kolibri_enabled }}"
- option: kolibri_url
value: "{{ kolibri_url }}"
- option: kolibri_path
value: "{{ kolibri_exec_path }}"
- option: kolibri_port
value: "{{ kolibri_http_port }}"
- option: kolibri_enabled
value: "{{ kolibri_enabled }}"

View file

@ -75,11 +75,13 @@
- option: description
value: '"Lokole is an email service that works offline, for rural communities. With a 3G/4G modem, you can arrange to batch-upload / batch-download emails once per night -- for almost no cost at all -- depending on mobile data plans in your country."'
#value: '"Lokole is an email service that works offline, for rural communities. In some cases, emails can also be transmitted to/from the Internet, taking advantage of discounted mobile data rates."'
- option: lokole_install
value: "{{ lokole_install }}"
- option: lokole_enabled
value: "{{ lokole_enabled }}"
- option: lokole_run_directory
value: "{{ lokole_run_directory }}"
- option: lokole_url
value: "{{ lokole_url }}"
- option: lokole_full_url
value: "{{ lokole_full_url }}"
- option: lokole_enabled
value: "{{ lokole_enabled }}"

View file

@ -44,6 +44,10 @@
value: MediaWiki
- option: description
value: '"MediaWiki is a blog and web site management application, from the people who create Wikipedia."'
- option: mediawiki_install
value: "{{ mediawiki_install }}"
- option: mediawiki_enabled
value: "{{ mediawiki_enabled }}"
- option: mediawiki_src
value: "{{ mediawiki_src }}"
- option: mediawiki_abs_path
@ -56,5 +60,3 @@
value: "{{ mediawiki_url }}"
- option: mediawiki_full_url
value: "{{ mediawiki_full_url }}"
- option: mediawiki_enabled
value: "{{ mediawiki_enabled }}"

View file

@ -24,7 +24,7 @@
when: minetest_installed is undefined
- include_tasks: enable.yml # i.e. enable-or-disable.yml in other roles
- include_tasks: enable-or-disable.yml
- name: Add 'minetest' variable values to {{ iiab_ini_file }}
@ -38,11 +38,13 @@
value: Minetest Server
- option: description
value: '"Minetest is an open source clone of the Minecraft building blocks game."'
- option: minetest_world_dir
value: "{{ minetest_world_dir }}"
- option: minetest_port
value: "{{ minetest_port }}"
- option: minetest_install
value: "{{ minetest_install }}"
- option: minetest_enabled
value: "{{ minetest_enabled }}"
- option: minetest_world_dir
value: "{{ minetest_world_dir }}"
- option: minetest_port
value: "{{ minetest_port }}"
- option: minetest_world_dir
value: "{{ minetest_world_dir }}"

View file

@ -65,5 +65,7 @@
value: MongoDB
- option: description
value: '"MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling."'
- option: enabled
- option: mongodb_install
value: "{{ mongodb_install }}"
- option: mongodb_enabled
value: "{{ mongodb_enabled }}"

View file

@ -57,7 +57,9 @@
value: Moodle
- option: description
value: '"Access the Moodle learning management system."'
- option: moodle_base
value: "{{ moodle_base }}"
- option: moodle_install
value: "{{ moodle_install }}"
- option: moodle_enabled
value: "{{ moodle_enabled }}"
- option: moodle_base
value: "{{ moodle_base }}"

View file

@ -38,5 +38,7 @@
value: Mosquitto service
- option: description
value: '"Mosquitto (uses the MQTT protocol) is a pub-sub broker for electronics projects and educational Internet of Things (IoT) experiments. It''s designed for TCP/IP with remote locations where a ''small code footprint'' is required or bandwidth is limited. See also: Node-RED"'
- option: mosquitto_install
value: "{{ mosquitto_install }}"
- option: mosquitto_enabled
value: "{{ mosquitto_enabled }}"

View file

@ -59,7 +59,7 @@
value: Munin
- option: description
value: '"Munin is a networked resource monitoring tool that can help analyze resource trends and ''what just happened to kill our performance?'' problems."'
- option: install
- option: munin_install
value: "{{ munin_install }}"
- option: enabled
- option: munin_enabled
value: "{{ munin_enabled }}"

View file

@ -59,5 +59,7 @@
value: MySQL
- option: description
value: '"MySQL is a widely used free and open source (GPLv2) database, offered by most web hosting services, on a diversity of platforms."'
- option: enabled
- option: mysql_install
value: "{{ mysql_install }}"
- option: mysql_enabled
value: "{{ mysql_enabled }}"

View file

@ -48,6 +48,13 @@
state: directory
when: ansible_distribution == "CentOS"
# RECORD DansGuardian AS INSTALLED
- name: "Set 'dansguardian_installed: True'"
set_fact:
dansguardian_installed: True
- name: "Add 'dansguardian_installed: True' to {{ iiab_state_file }}"
lineinfile:
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml

View file

@ -77,15 +77,24 @@
mode: '0750'
state: directory
- include_tasks: roles/network/tasks/dansguardian.yml
when: dansguardian_install
# RECORD Squid AS INSTALLED
- name: "Set 'squid_installed: True'"
set_fact:
squid_installed: True
- name: "Add 'squid_installed: True' to {{ iiab_state_file }}"
lineinfile:
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
regexp: '^squid_installed'
line: 'squid_installed: True'
# {{ proxy }} is normally "squid", but is "squid3" on raspbian-8 & debian-8
- name: Add '{{ proxy }}' variable values to {{ iiab_ini_file }}
ini_file:
@ -98,7 +107,9 @@
value: Squid
- option: description
value: '"Squid caches web pages the first time they are accessed, and pulls them from the cache thereafter."'
- option: enabled
- option: squid_install
value: "{{ squid_install }}"
- option: squid_enabled
value: "{{ squid_enabled }}"
- name: Add 'dansguardian' variable values to {{ iiab_ini_file }}
@ -112,5 +123,7 @@
value: DansGuardian
- option: description
value: '"DansGuardian searches web content for objectionable references and denies access when found."'
- option: enabled
- option: dansguardian_install
value: "{{ dansguardian_install }}"
- option: dansguardian_enabled
value: "{{ dansguardian_enabled }}"

View file

@ -38,12 +38,20 @@
# group: root
state: link
# RECORD Wondershaper AS INSTALLED
- name: "Set 'wondershaper_installed: True'"
set_fact:
wondershaper_installed: True
- name: "Add 'wondershaper_installed: True' to {{ iiab_state_file }}"
lineinfile:
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
regexp: '^wondershaper_installed'
line: 'wondershaper_installed: True'
- name: Add 'wondershaper' variable values to {{ iiab_ini_file }}
ini_file:
dest: "{{ iiab_ini_file }}"
@ -55,5 +63,7 @@
value: wondershaper
- option: description
value: '"Wondershaper is a command line tool to set maximum transfer rates for network adapters."'
- option: enabled
- option: wondershaper_install
value: "{{ wondershaper_install }}"
- option: wondershaper_enabled
value: "{{ wondershaper_enabled }}"

View file

@ -44,6 +44,10 @@
value: Nextcloud
- option: description
value: '"Nextcloud is a local server-based facility for sharing files, photos, contacts, calendars, etc."'
- option: nextcloud_install
value: "{{ nextcloud_install }}"
- option: nextcloud_enabled
value: "{{ nextcloud_enabled }}"
- option: nextcloud_dl_url
value: "{{ nextcloud_dl_url }}"
- option: nextcloud_url
@ -54,5 +58,3 @@
value: "{{ nextcloud_root_dir }}"
- option: nextcloud_data_dir
value: "{{ nextcloud_data_dir }}"
- option: nextcloud_enabled
value: "{{ nextcloud_enabled }}"

View file

@ -43,6 +43,10 @@
- option: description
value: '"OpenVPN enables live/remote support by connecting machines anywhere on the Internet, via a middleman server, using Virtual Private Network (VPN) techniques to create secure connections."'
# openvpn_handle variable can no longer be left completely undefined of August 2018 (EMPTY STRING "" IS TOLERATED, in which case OpenVPN server should use /etc/iiab/uuid in lieu of the handle)
- option: openvpn_install
value: "{{ openvpn_install }}"
- option: openvpn_enabled
value: "{{ openvpn_enabled }}"
- option: openvpn_handle
value: "{{ openvpn_handle }}"
- option: openvpn_cron_enabled
@ -53,5 +57,3 @@
value: "{{ openvpn_server_virtual_ip }}"
- option: openvpn_server_port
value: "{{ openvpn_server_port }}"
- option: openvpn_enabled
value: "{{ openvpn_enabled }}"

View file

@ -32,7 +32,7 @@
value: OSM Vector Maps
- option: description
value: '"OpenStreetMap is like Google Maps but better, for schools especially, as it works offline and avoids all the advertising. Download detailed ''vector maps'' for an entire continent, or the entire world! Also includes 10+ zoom levels of satellite imagery!"'
- option: install
- option: osm_vector_maps_install
value: "{{ osm_vector_maps_install }}"
- option: enabled
- option: osm_vector_maps_enabled
value: "{{ osm_vector_maps_enabled }}"

View file

@ -38,7 +38,9 @@
value: phpMyAdmin
- option: description
value: '"phpMyAdmin is an interface with a MySQL database written in PHP, and available to administer the database engine locally or across the network."'
- option: phpmyadmin_install
value: "{{ phpmyadmin_install }}"
- option: phpmyadmin_enabled
value: "{{ phpmyadmin_enabled }}"
- option: path
value: /opt/phpmyadmin
- option: enabled
value: "{{ phpmyadmin_enabled }}"

View file

@ -58,7 +58,7 @@
value: PostgreSQL
- option: description
value: '"PostgreSQL is a powerful, open source object-relational database system."'
- option: install
- option: postgresql_install
value: "{{ postgresql_install }}"
- option: enabled
- option: postgresql_enabled
value: "{{ postgresql_enabled }}"

View file

@ -38,5 +38,7 @@
value: Samba
- option: description
value: '"Samba is a Microsoft-compatible network file system that re-implements SMB/CIFS (Common Internet File System)."'
- option: enabled
- option: samba_install
value: "{{ samba_install }}"
- option: samba_enabled
value: "{{ samba_enabled }}"

View file

@ -38,7 +38,9 @@
value: sshd
- option: description
value: '"Secure Shell daemon (typically implemented by openssh-server) for remote login using the ''ssh'' low-level protocol."'
- option: sshd_port
value: "{{ sshd_port }}"
- option: sshd_install
value: "{{ sshd_install }}"
- option: sshd_enabled
value: "{{ sshd_enabled }}"
- option: sshd_port
value: "{{ sshd_port }}"

View file

@ -17,5 +17,7 @@
value: Sugarizer
- option: description
value: '"The Sugar Learning Platform began with the famous One Laptop Per Child project, written in Python. Sugarizer is the new HTML/JavaScript implementation of Sugar, usable in most all browsers."'
- option: sugarizer_install
value: "{{ sugarizer_install }}"
- option: sugarizer_enabled
value: "{{ sugarizer_enabled }}"

View file

@ -76,6 +76,7 @@
regexp: "^IIAB_USB_LIB_SHOW_ALL.*"
line: "IIAB_USB_LIB_SHOW_ALL={{ iiab_usb_lib_show_all }}"
- name: Add 'usb_lib' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini

View file

@ -38,7 +38,7 @@
value: vnStat
- option: description
value: '"vnStat is a console-based network traffic monitor for Linux and BSD that keeps a log of network traffic for the selected interface(s)."'
- option: install
- option: vnstat_install
value: "{{ vnstat_install }}"
- option: enabled
- option: vnstat_enabled
value: "{{ vnstat_enabled }}"

View file

@ -50,6 +50,10 @@
value: WordPress
- option: description
value: '"WordPress is a blog and web site management application."'
- option: wordpress_install
value: "{{ wordpress_install }}"
- option: wordpress_enabled
value: "{{ wordpress_enabled }}"
- option: wordpress_src
value: "{{ wordpress_src }}"
- option: wp_abs_path
@ -62,5 +66,3 @@
value: "{{ wp_url }}"
- option: wp_full_url
value: "{{ wp_full_url }}"
- option: wordpress_enabled
value: "{{ wordpress_enabled }}"