Skip to content
Open
Show file tree
Hide file tree
Changes from 62 commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
6b242a0
feat(roles/php): update template for RedHat-based systems, Docs (part…
ebuerki-lf May 12, 2026
2aab24c
fix(roles/php): update timestamp in pool template, use 'd()' in accor…
ebuerki-lf May 13, 2026
e827354
Merge branch 'main' into feat/php_fpm_pool
ebuerki-lf May 13, 2026
858e8df
Merge remote-tracking branch 'origin/main' into feat/php_fpm_pool
ebuerki-lf May 13, 2026
c94b7de
feat(roles/php): update template for Debian-based systems, update doc…
ebuerki-lf May 13, 2026
e222cbe
Add roles/repo_google_chrome
danyalberchtoldlf May 12, 2026
d86d699
Add roles/google_chrome
danyalberchtoldlf May 12, 2026
cc9fbad
fix(roles/icingaweb2_module_pdfexport): wire to chrome-headless service
danyalberchtoldlf May 12, 2026
717ebda
docs(roles/google_chrome): explain why systemd-socket-proxyd is neede…
danyalberchtoldlf May 13, 2026
2a58303
fix(roles/google_chrome): also set systemd_socket_proxyd_bind_any boo…
danyalberchtoldlf May 13, 2026
fa0e98e
refactor(roles/google_chrome): drop migration-specific handler logic
danyalberchtoldlf May 13, 2026
bd20c34
feat(roles/repo_google_chrome): add meta/argument_specs.yml
danyalberchtoldlf May 13, 2026
95852fc
refactor(roles/google_chrome): tighten handler flow and tag boundaries
danyalberchtoldlf May 15, 2026
f0332bc
chore(deps): bump step-security/harden-runner from 2.19.1 to 2.19.3 (…
dependabot[bot] May 15, 2026
a75706e
refactor(roles/google_chrome): rename systemd units and wire CRB repo
NavidSassan May 20, 2026
8f25b4b
refactor(roles/chromium_headless): replace google_chrome with EPEL ch…
NavidSassan May 21, 2026
b7dd3c8
fix(roles/chromium_headless): keep Chromium debugging port bound to l…
NavidSassan May 21, 2026
22aa564
style(roles/chromium_headless): align defaults order and internal nam…
NavidSassan May 21, 2026
04b9251
docs(changelog): condense chromium_headless and pdfexport entries
NavidSassan May 21, 2026
fb859d4
docs(contributing): list chromium_headless under roles with special f…
NavidSassan May 21, 2026
dfad123
style(roles/icingaweb2_module_pdfexport): silence risky-file-permissi…
NavidSassan May 21, 2026
09becac
feat(roles/chromium_headless): add Debian support
NavidSassan May 21, 2026
987b9d4
fix(roles/redis): add missing vars for Debian
NavidSassan May 21, 2026
8f2f227
docs(compatibility): correct chromium_headless tested platforms
NavidSassan May 22, 2026
5ca8fe9
feat(roles/graylog_datanode, roles/graylog_server): add template for …
bhatti-lf May 16, 2026
50d00ef
fix(roles/keycloak): run kc.sh build as keycloak user
jihan-lf May 18, 2026
6b85f06
feat(roles/keycloak): auto-remove bootstrap admin credentials after f…
jihan-lf May 18, 2026
7fd7c41
style(roles/keycloak): improve state file handling and variable naming
NavidSassan May 19, 2026
638b1b3
docs(roles/motd): update default value of motd__legal_notice
ebuerki-lf May 18, 2026
f5a1dcc
fix(roles/nodejs): support switching module stream
bhatti-lf May 19, 2026
429eb22
docs(roles/network): hint towards checking connection name
bhatti-lf May 19, 2026
8ac42d2
fix(roles/blocky): ensure blocky service is restarted after updating …
ebuerki-lf May 19, 2026
66255c1
fix(roles/graylog_server): fix input creation failure by removing a d…
bhatti-lf May 20, 2026
de31e97
fix(roles/graylog_server): enforce a key marked as mandatory in the r…
bhatti-lf May 20, 2026
8e485aa
docs(roles/graylog_server): specify where to get input types from
bhatti-lf May 20, 2026
cb0fd10
fix(roles/graylog_server): fix "conditional result was of type str" d…
bhatti-lf May 20, 2026
33a6579
feat(roles/redis): raise net.core.somaxconn default to 4096
markuslf May 18, 2026
f71a94c
docs(roles): standardize role README structure across the fleet
NavidSassan May 21, 2026
4ccc398
docs(roles/acme_sh): fix indentation
NavidSassan May 21, 2026
dca1bf4
fix(roles): enable CRB and EPEL
jihan-lf May 13, 2026
deabc5b
fix(playbooks): address review on CRB/EPEL enablement
NavidSassan May 21, 2026
77ca813
chore(deps): bump actions/dependency-review-action from 4.9.0 to 5.0.0
dependabot[bot] May 15, 2026
e6df15b
chore(deps): bump step-security/harden-runner from 2.19.3 to 2.19.4 (…
dependabot[bot] May 22, 2026
917297d
chore(deps): bump github/codeql-action from 4.35.4 to 4.35.5 (#256)
dependabot[bot] May 22, 2026
77a7e48
docs(roles/alternatives): fix whitespace
NavidSassan May 22, 2026
b0f7eb2
fix(roles/influxdb): always install `curl`
NavidSassan May 22, 2026
197522e
feat(roles/repo_baseos): add Rocky security repo, enabled by default
bhatti-lf May 22, 2026
612cfa7
docs(contributing): improve content
NavidSassan May 22, 2026
5170633
fix(roles/mariadb_server): add mariadb_server__cnf_innodb_snapshot_is…
ebuerki-lf May 22, 2026
90bfd7d
fix(roles/repo_*): only write basic-auth credentials when a custom mi…
NavidSassan May 22, 2026
246fe7a
fix(roles/kernel_settings): actually apply systemd_cpu_affinity setting
markuslf May 24, 2026
76785d8
chore: remove leftover particle/Vagrantfile
markuslf May 25, 2026
0060cf1
Add plugin unit-test infrastructure + combine_lod fixes (#264)
markuslf May 25, 2026
22c33f7
refactor(plugins): unify bitwarden family and add unit tests (#265)
markuslf May 25, 2026
bd178b7
fix(plugins): make ansible-doc render all in-house plugins + add guar…
markuslf May 25, 2026
7912dcd
refactor(plugins): unify uptimerobot family and add unit tests (#268)
markuslf May 25, 2026
b7701b9
refactor(plugins): unify nextcloud/sqlite/gpg_key/ipa_diff + safe fix…
markuslf May 25, 2026
3a7e80c
fix(plugins/modules/sqlite_query): fail the task on a failed query (#…
markuslf May 25, 2026
2170cc8
fix(plugins/modules/bitwarden_item): honor check mode and preserve pa…
markuslf May 25, 2026
1ddef3d
fix(plugins/modules/nextcloud_occ_app_config): compare array values a…
markuslf May 25, 2026
1b08dc0
fix(plugins/modules/gpg_key): refresh vendored python-gnupg and corre…
markuslf May 25, 2026
c69b622
feat(roles/php): update template for RedHat-based systems, Docs (part…
ebuerki-lf May 12, 2026
f51610d
Merge remote-tracking branch 'origin/main' into feat/php_fpm_pool
ebuerki-lf Jun 3, 2026
b54c7fc
fix(roles/php): remove opcache pool parameters as opcache is shared a…
ebuerki-lf Jun 3, 2026
65b2e9a
docs(roles/php): update examples
ebuerki-lf Jun 3, 2026
3bc1aa4
Merge remote-tracking branch 'origin/main' into feat/php_fpm_pool
ebuerki-lf Jun 5, 2026
a29d132
feat(roles/php): create per-pool session/opcache dirs and wire pool d…
NavidSassan Jun 9, 2026
3d06f92
feat(playbooks/php): run repo_sury on the Debian os family
NavidSassan Jun 9, 2026
4f46f1b
refactor(roles/php): use standard Jinja2 delimiters in the pool confi…
NavidSassan Jun 9, 2026
5935f50
refactor(roles/php): drop dead default() fallbacks from the .ini temp…
NavidSassan Jun 9, 2026
aca11de
Merge branch 'main' into feat/php_fpm_pool
NavidSassan Jun 9, 2026
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
8 changes: 4 additions & 4 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,22 @@ jobs:

steps:
- name: 'Harden Runner'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

- name: 'Checkout repository'
uses: 'actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd' # v6.0.2

- name: 'Initialize CodeQL'
uses: 'github/codeql-action/init@68bde559dea0fdcac2102bfdf6230c5f70eb485e' # v4.35.4
uses: 'github/codeql-action/init@9e0d7b8d25671d64c341c19c0152d693099fb5ba' # v4.35.5
with:
languages: '${{ matrix.language }}'

- name: 'Autobuild'
uses: 'github/codeql-action/autobuild@68bde559dea0fdcac2102bfdf6230c5f70eb485e' # v4.35.4
uses: 'github/codeql-action/autobuild@9e0d7b8d25671d64c341c19c0152d693099fb5ba' # v4.35.5

- name: 'Perform CodeQL Analysis'
uses: 'github/codeql-action/analyze@68bde559dea0fdcac2102bfdf6230c5f70eb485e' # v4.35.4
uses: 'github/codeql-action/analyze@9e0d7b8d25671d64c341c19c0152d693099fb5ba' # v4.35.5
with:
category: '/language:${{ matrix.language }}'
4 changes: 2 additions & 2 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
runs-on: 'ubuntu-latest'
steps:
- name: 'Harden Runner'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

- name: 'Checkout repository'
uses: 'actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd' # v6.0.2

- name: 'Dependency Review'
uses: 'actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48' # v4.9.0
uses: 'actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294' # v5.0.0
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: 'ubuntu-latest'
steps:
- name: 'Harden the runner (Audit all outbound calls)'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:
url: '${{ steps.deployment.outputs.page_url }}'
steps:
- name: 'Harden the runner (Audit all outbound calls)'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lf-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
steps:

- name: 'Harden the runner (Audit all outbound calls)'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lf-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
steps:

- name: 'Harden the runner (Audit all outbound calls)'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/lf-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: 'Linuxfabrik: Unit Tests'

on:
push:
branches:
- 'main'
pull_request: {}

permissions:
contents: 'read'

jobs:
controller-plugins:
name: 'Controller plugins (Python ${{ matrix.python-version }})'
runs-on: 'ubuntu-latest'
strategy:
fail-fast: false
matrix:
# Controller-side plugins (filter, lookup). The managed-node tier
# (modules on RHEL 8 / Python 3.6) needs a UBI 8 container and is
# scaffolded in tox.ini, not run here yet.
python-version:
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'
steps:
- name: 'Harden the runner (Audit all outbound calls)'
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

- name: 'Checkout repository'
uses: 'actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd' # v6.0.2

- name: 'Set up Python'
uses: 'actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405' # v6.2.0
with:
python-version: '${{ matrix.python-version }}'

- name: 'Install tox'
run: 'pip install tox'

- name: 'Run tox for this Python (all matching ansible-core envs)'
# `-f pyXYZ` selects every tox env carrying this Python's factor,
# e.g. py311 -> py311-ansible215/216/217/218.
run: 'tox -f py$(echo "${{ matrix.python-version }}" | tr -d ".")'
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit-autoupdate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
pull-requests: 'write'
steps:
- name: 'Harden the runner (Audit all outbound calls)'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

steps:
- name: 'Harden Runner'
uses: 'step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450' # v2.19.1
uses: 'step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411' # v2.19.4
with:
egress-policy: 'audit'

Expand All @@ -42,6 +42,6 @@ jobs:
retention-days: 5

- name: 'Upload to code-scanning'
uses: 'github/codeql-action/upload-sarif@68bde559dea0fdcac2102bfdf6230c5f70eb485e' # v4.35.4
uses: 'github/codeql-action/upload-sarif@9e0d7b8d25671d64c341c19c0152d693099fb5ba' # v4.35.5
with:
sarif_file: 'results.sarif'
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ tests/output/*
playbooks/test.yml
roles/test
context/
particle/.vagrant

# mkdocs documentation
/docs/CHANGELOG.md
Expand Down
21 changes: 20 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,12 @@ repos:
# false-positives on the project's own code style (`shell=dict(...)`
# in argument_spec triggers B604, the literal `'on_create'` sentinel
# triggers B105). Out of scope for in-tree review.
exclude: '^plugins/modules/ipa.*\.py$'
# `plugins/module_utils/gnupg.py` is vendored python-gnupg kept
# byte-identical with upstream; bandit flags its (expected) subprocess
# use (B404/B603) and asserts (B101), which we do not patch out.
# `tests/` holds unit tests whose fixtures use throwaway passwords
# (B105/B106); scanning test fixtures for hardcoded secrets is noise.
exclude: '^(plugins/modules/ipa.*|plugins/module_utils/gnupg|tests/.*)\.py$'
types_or: ['python']

- repo: 'https://github.com/jendrikseipp/vulture'
Expand All @@ -51,3 +56,17 @@ repos:
- id: 'vulture'
args: ['--min-confidence=80']
types_or: ['python']

- repo: 'local'
hooks:
- id: 'pytest-unit'
name: 'pytest (plugin unit tests)'
# Fast single-interpreter run of the controller-plugin unit tests on
# every commit. The full Python x ansible-core matrix runs in CI via
# tox; see tests/README.md.
entry: 'pytest tests/unit'
language: 'python'
additional_dependencies: ['ansible-core', 'pytest', 'pyyaml']
pass_filenames: false
files: '^(plugins/|tests/unit/)'
types_or: ['python']
Loading