mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 15:06:26 +02:00
Renamed desk roles and added vars/main.yml files where mising
This commit is contained in:
28
roles/desk-firefox/README.md
Normal file
28
roles/desk-firefox/README.md
Normal 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 system’s package manager (`pacman`). It deploys a `policies.json` file to Firefox’s 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)
|
3
roles/desk-firefox/config/main.yml
Normal file
3
roles/desk-firefox/config/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
plugins: # Plugins to be installed in Firefox
|
||||
- "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi" # U-Block Origine Plugin
|
||||
- "https://addons.mozilla.org/firefox/downloads/latest/keepassxc-browser/latest.xpi" # KeepassXC Plugin
|
23
roles/desk-firefox/meta/main.yml
Normal file
23
roles/desk-firefox/meta/main.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: "Kevin Veen-Birchenbach"
|
||||
description: "Automates Firefox installation and enforces Enterprise Policies (auto-install extensions) on Arch Linux."
|
||||
license: "CyMaIS NonCommercial License (CNCL)"
|
||||
license_url: "https://s.veen.world/cncl"
|
||||
company: |
|
||||
Kevin Veen-Birchenbach
|
||||
Consulting & Coaching Solutions
|
||||
https://www.veen.world
|
||||
galaxy_tags:
|
||||
- firefox
|
||||
- enterprise-policy
|
||||
- browser
|
||||
repository: "https://github.com/kevinveenbirkenbach/cymais"
|
||||
issue_tracker_url: "https://github.com/kevinveenbirkenbach/cymais/issues"
|
||||
documentation: "https://github.com/kevinveenbirkenbach/cymais/tree/main/roles/desk-firefox"
|
||||
min_ansible_version: "2.9"
|
||||
platforms:
|
||||
- name: Archlinux
|
||||
versions: [ rolling ]
|
||||
dependencies: []
|
||||
|
25
roles/desk-firefox/meta/main.yml
Normal file
25
roles/desk-firefox/meta/main.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: "Kevin Veen-Birkenbach"
|
||||
description: "Automates the installation and configuration of Firefox with enforced extension policies on 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: []
|
17
roles/desk-firefox/tasks/main.yml
Normal file
17
roles/desk-firefox/tasks/main.yml
Normal 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'
|
13
roles/desk-firefox/templates/policies.json.j2
Normal file
13
roles/desk-firefox/templates/policies.json.j2
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"policies": {
|
||||
"Extensions": {
|
||||
"Install": [
|
||||
{% for plugin in applications[application_id].plugins -%}
|
||||
"{{ plugin }}"{% if not loop.last %},{% endif %}
|
||||
{% endfor %}
|
||||
]
|
||||
},
|
||||
"DisablePasswordManager": true
|
||||
}
|
||||
}
|
||||
|
13
roles/desk-firefox/vars/main.yml
Normal file
13
roles/desk-firefox/vars/main.yml
Normal 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"
|
Reference in New Issue
Block a user