Valkey With A Password, A Limit And A Log
Valkey, the Redis successor EL 10 ships in place of a redis package that no longer exists. The package sets no password, no maxmemory and no append-only log; this role sets all three, on loopback, with the drop-in given the last word over the package configuration. Original role, live-tested on Rocky Linux 10.
Verification
Live-testedReally deployed to a container sandbox, proven idempotent (a second run changes nothing), verified against the role’s assertions, then torn down.
Conformance
- Static validation (yamllint · ansible-lint)
Provenance
- SHA-256 checksum
- Signature (pending)
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-09-19 · podman 4.9.3 · ansible 2.21.4 · how we verify
Documentation
valkey-server
Valkey - the Redis successor Enterprise Linux 10 ships in place of Redis - on loopback, with a password, a memory limit and an append-only log. Original role for EL 10, live-tested with podman on Rocky Linux 10.
There is no redis package on EL 10. dnf install redis finds nothing;
valkey 8 is the drop-in, protocol-compatible and driven by valkey-cli. Any
playbook still installing redis on EL 10 fails at the first task.
The package sets no password, no memory limit, and no durability. Out of the
box any process on the host can read and flush every key; maxmemory is unset,
so the dataset grows until the kernel kills something; and appendonly is off,
so a restart loses everything written since the last snapshot. This role sets
requirepass, a maxmemory with noeviction (writes fail at the limit rather
than keys quietly vanishing - switch to allkeys-lru for a pure cache), and
turns the append-only log on with everysec fsync.
The drop-in has the last word. Valkey applies directives in order and later ones win, so the role includes its file from the END of the package configuration rather than editing it line by line. The drop-in holds the password and is readable by the service account only.
The password placeholder is refused when you ask. Set
valkey_server_refuse_placeholder_password: true in any real inventory and the
role stops before writing the placeholder into the configuration.
License
Commercial - IaC Bazaar EULA. (c) IaC Bazaar.
Usage code & full reference need an account
The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.
- Variables
- Test
Related modules
ansible-mariadb-server
MariaDB bound to loopback (the package listens everywhere), with the mariadb-secure-installation steps applied by the role: anonymous users, the test database and remote root gone, LOAD DATA LOCAL off, reverse DNS off. Provisions an application database and a user that can see nothing else. Original role, live-tested on Rocky Linux 10.
ansible-postgresql
PostgreSQL server with guarded initdb, SCRAM-SHA-256 auth, managed conf.d drop-in, templated pg_hba, and app database + owner provisioning. Original, live-tested (Molecule/podman) role.