|
| 1 | +--- |
| 2 | +# ------------------------------------------------------------------------- |
| 3 | +# hardbox Ansible role — default variables |
| 4 | +# Override any of these in host_vars, group_vars, or the playbook vars block. |
| 5 | +# ------------------------------------------------------------------------- |
| 6 | + |
| 7 | +# --- Installation --- |
| 8 | +# hardbox release to install. Use "latest" to always fetch the newest release, |
| 9 | +# or pin to a specific tag (e.g. "v0.3.0") for reproducible deployments. |
| 10 | +hardbox_version: "latest" |
| 11 | + |
| 12 | +# Directory where the hardbox binary is installed. |
| 13 | +hardbox_install_dir: /usr/local/bin |
| 14 | + |
| 15 | +# Temporary directory used during download and checksum verification. |
| 16 | +hardbox_tmp_dir: /tmp |
| 17 | + |
| 18 | +# --- Profile --- |
| 19 | +# Compliance profile to apply. Any profile shipped in configs/profiles/ is valid. |
| 20 | +# Common values: cis-level1, cis-level2, pci-dss, stig, hipaa, iso27001, |
| 21 | +# nist-800-53, cloud-aws, cloud-gcp, cloud-azure, |
| 22 | +# production, development |
| 23 | +hardbox_profile: production |
| 24 | + |
| 25 | +# Path to a custom profile YAML to copy to the target host. |
| 26 | +# When set, this file is uploaded and --profile is pointed at it. |
| 27 | +# Leave empty ("") to use one of the built-in profiles. |
| 28 | +hardbox_custom_profile_src: "" |
| 29 | + |
| 30 | +# --- Run mode --- |
| 31 | +# Whether to actually apply hardening (true) or only run an audit (false). |
| 32 | +hardbox_apply: true |
| 33 | + |
| 34 | +# Pass --dry-run to hardbox — show what would change without applying. |
| 35 | +hardbox_dry_run: false |
| 36 | + |
| 37 | +# Pass --non-interactive so hardbox never prompts (required in Ansible). |
| 38 | +hardbox_non_interactive: true |
| 39 | + |
| 40 | +# --- Reporting --- |
| 41 | +# Report output format: html | json | text | markdown |
| 42 | +hardbox_report_format: html |
| 43 | + |
| 44 | +# Directory on the target host where reports are stored. |
| 45 | +hardbox_report_dir: /var/lib/hardbox/reports |
| 46 | + |
| 47 | +# Fetch the generated report back to the Ansible controller. |
| 48 | +hardbox_fetch_report: false |
| 49 | + |
| 50 | +# Local directory on the Ansible controller to store fetched reports. |
| 51 | +hardbox_fetch_report_dest: "{{ playbook_dir }}/hardbox-reports" |
| 52 | + |
| 53 | +# --- Audit thresholds --- |
| 54 | +# Fail the play if hardbox exits with critical/high findings. |
| 55 | +# Mirrors the audit.fail_on_* settings in the profile YAML. |
| 56 | +hardbox_fail_on_critical: true |
| 57 | +hardbox_fail_on_high: true |
| 58 | +hardbox_fail_on_medium: false |
| 59 | + |
| 60 | +# --- Rollback --- |
| 61 | +# Run `hardbox rollback apply --last` on failure (via rescue block). |
| 62 | +hardbox_rollback_on_failure: true |
| 63 | + |
| 64 | +# --- Periodic re-hardening (systemd timer) --- |
| 65 | +# Install a systemd timer that re-runs hardbox apply on a schedule. |
| 66 | +hardbox_timer_enabled: false |
| 67 | + |
| 68 | +# OnCalendar value for the systemd timer (systemd time syntax). |
| 69 | +hardbox_timer_schedule: "daily" |
| 70 | + |
| 71 | +# OnBootSec — delay after boot before the first run. |
| 72 | +hardbox_timer_on_boot_sec: "5min" |
| 73 | + |
| 74 | +# --- Upgrade --- |
| 75 | +# Re-install hardbox even if the binary is already present at the target version. |
| 76 | +hardbox_force_reinstall: false |
0 commit comments