Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions roles/firmware_selector/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
firmware_selector_target_host: web-ffsh
firmware_selector_repository: https://github.com/freifunk-gluon/gluon-firmware-selector.git
firmware_selector_path: /var/www/firmware-selector
22 changes: 22 additions & 0 deletions roles/firmware_selector/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
- name: Skip firmware selector on non-target hosts
ansible.builtin.meta: end_role
when: inventory_hostname != firmware_selector_target_host

- name: Install firmware selector dependency
ansible.builtin.apt:
name: git

- name: Clone or update firmware selector
ansible.builtin.git:
repo: "{{ firmware_selector_repository }}"
dest: "{{ firmware_selector_path }}"
version: main
update: true

- name: Install firmware selector configuration
ansible.builtin.template:
src: firmware-selector-config.js
dest: "{{ firmware_selector_path }}/firmware-selector-config.js"
owner: root
group: root
mode: "0644"
63 changes: 63 additions & 0 deletions roles/firmware_selector/templates/firmware-selector-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

var config = {
// list images on console that match no model
listMissingImages: false,
// see devices.js for different vendor model maps
vendormodels: vendormodels,
// set enabled categories of devices (see devices.js)
enabled_device_categories: ["recommended", "ath10k_lowmem", "small_kernel_part", "legacy_target", "4_32", "8_32", "16_32"],
// Display a checkbox that allows to display not recommended devices.
// This only make sense if enabled_device_categories also contains not
// recommended devices.
recommended_toggle: true,
// Optional link to an info page about no longer recommended devices
recommended_info_link: 'https://freifunk-suedholstein.de/hardware/',
// community prefix of the firmware images
community_prefix: 'gluon-ffsh-',
// firmware version regex
version_regex: /-([\d]+\.[\d]+\.[\d]+([+-~][\d]+)?)[.-]/,
// relative image paths and branch
directories: {
//'https://firmware.freifunk-suedholstein.de/dev/factory/': 'dev',
//'https://firmware.freifunk-suedholstein.de/dev/sysupgrade/': 'dev',

'https://firmware.freifunk-suedholstein.de/testing/factory/': 'testing',
'https://firmware.freifunk-suedholstein.de/testing/sysupgrade/': 'testing',

'https://firmware.freifunk-suedholstein.de/rc/factory/': 'rc',
'https://firmware.freifunk-suedholstein.de/rc/sysupgrade/': 'rc',

'https://firmware.freifunk-suedholstein.de/stable/factory/': 'stable',
'https://firmware.freifunk-suedholstein.de/stable/sysupgrade/': 'stable',
},
// page title
title: 'Firmware für Freifunk Südholstein',
// branch descriptions shown during selection
branch_descriptions: {
stable: 'Wurde bereits getestet, sollte zuverlässig und stabil laufen.',
rc: 'Ungetestet, die neueste version, kann Fehler enthalten. Nur für erfahrene Nutzer.',
testing: 'Ungetestet, die neueste version, kann Fehler enthalten. Nur für erfahrene Nutzer.',
},
// recommended branch will be marked during selection
recommended_branch: 'stable',
// experimental branches (show a warning for these branches)
experimental_branches: ['testing', 'rc'],
// path to preview pictures directory
preview_pictures: 'pictures/',
// link to changelog
changelog: 'https://freifunk-suedholstein.de/tag/firmware/'
};
1 change: 1 addition & 0 deletions setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
- {role: batman, tags: "batman-adv"}
- {role: batctl, tags: "batctl"}
- {role: firmware_release, tags: "firmware-release"}
- {role: firmware_selector, tags: "firmware-selector"}

post_tasks:
- name: Check if reboot is required
Expand Down