Solved bugs, restructured and added new functionality for clients/personal computers

This commit is contained in:
2025-04-02 12:27:54 +02:00
parent 500f8b508d
commit 30b138ffa3
33 changed files with 289 additions and 119 deletions

View File

@@ -0,0 +1,28 @@
# Firefox 🦊
## Description
This Ansible role installs and configures Firefox on Arch Linux systems, enforcing Enterprise Policies to automatically install key browser extensions. It ensures that Firefox is installed and set up with policies that force-install uBlock Origin and the KeePassXC Browser extension, delivering a secure and consistent browsing experience.
## Overview
Tailored for Arch Linux, this role handles the installation of Firefox using the systems package manager (`pacman`). It deploys a `policies.json` file to Firefoxs distribution directory, ensuring that critical extensions are automatically installed via Firefox Enterprise Policies.
## Purpose
The role automates the provisioning of a secure Firefox environment, reducing manual configuration and ensuring consistency across deployments. It is ideal for environments where a standardized and secure browsing setup is required.
## Features
- **Installs Firefox:** Uses `pacman` to install the Firefox package.
- **Enforces Enterprise Policies:** Deploys a `policies.json` file that forces the installation of uBlock Origin and the KeePassXC Browser extension.
- **Streamlined Configuration:** Automatically creates necessary directories and applies correct file permissions.
- **Seamless Integration:** Easily integrates with other automation roles for a complete system setup.
## Credits 📝
Developed and maintained by **Kevin Veen-Birkenbach**.
Learn more at [www.veen.world](https://www.veen.world)
Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais)
License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl)

View File

@@ -0,0 +1,25 @@
---
galaxy_info:
author: "Kevin Veen-Birkenbach"
description: "Automates the installation and configuration of Firefox with enforced extension policies on Arch Linux."
license: "CyMaIS NonCommercial License (CNCL)"
license_url: "https://s.veen.world/cncl"
company: |
Kevin Veen-Birkenbach
Consulting & Coaching Solutions
https://www.veen.world
min_ansible_version: "2.9"
platforms:
- name: Archlinux
versions:
- rolling
galaxy_tags:
- firefox
- browser
- enterprise-policy
- security
- automation
repository: https://s.veen.world/cymais
issue_tracker_url: https://s.veen.world/cymaisissues
documentation: https://s.veen.world/cymais
dependencies: []

View File

@@ -0,0 +1,17 @@
---
- name: Install Firefox
package:
name: "{{ firefox_package }}"
state: present
- name: Ensure Firefox distribution policies directory exists
file:
path: "{{ firefox_policy_dir }}"
state: directory
mode: '0755'
- name: Deploy Firefox Enterprise Policies file
template:
src: policies.json.j2
dest: "{{ firefox_policy_file }}"
mode: '0644'

View File

@@ -0,0 +1,13 @@
{
"policies": {
"Extensions": {
"Install": [
{% for plugin in applications[application_id].plugins -%}
"{{ plugin }}"{% if not loop.last %},{% endif %}
{% endfor %}
]
},
"DisablePasswordManager": true
}
}

View File

@@ -0,0 +1,13 @@
---
# Default variables for the pc-firefox role
application_id: "firefox"
# Package name for Firefox on Arch Linux
firefox_package: firefox
# Directory where Firefox expects distribution policies
firefox_policy_dir: "/usr/lib/firefox/distribution"
# Full path to the policies file
firefox_policy_file: "{{ firefox_policy_dir }}/policies.json"