Skip to content

Initial commit: itential.valkey collection - #2

Merged
Amunagala-itential merged 5 commits into
itential:devfrom
Amunagala-itential:add-valkey-collection
Sep 29, 2026
Merged

Amunagala-itential merged 5 commits into
itential:devfrom
Amunagala-itential:add-valkey-collection

Conversation

@Amunagala-itential

Copy link
Copy Markdown
Collaborator

Summary

Initial scaffold of the standalone itential.valkey Ansible collection: installs Valkey as a Remi-free, EL9/Amazon Linux 2023-only alternative to itential.deployer's redis role.

This collection is transitional — it exists separately from itential.deployer only until roles/redis is retired there, at which point roles/valkey and its playbooks are intended to be merged directly into itential.deployer.

Depends on itential.deployer at runtime for the shared common/offline utility roles (referenced by FQCN).

Contents

  • roles/valkey/ — the role, ported from itential.deployer's in-progress PR (#374 there), with common/offline calls rewritten to FQCN and internal variables renamed with a valkey_ prefix for namespace safety
  • playbooks/valkey.yml, verify_valkey.yml, certify_valkey.yml, download_packages_valkey.yml
  • docs/valkey_guide.md, example_inventories/valkey/
  • CI scaffolding matching itential.deployer's conventions (ansible-lint, role-readme-check, changelog/publish workflows)

Test plan

  • ansible-lint clean (0 failures) with both itential.valkey and itential.deployer registered as collections
  • Live-tested against real AWS-hosted Rocky 9 hosts across HA2 (colocated Sentinel) and ASA (dedicated Sentinel) topologies: certify_valkey.yml passes clean on all hosts, cross-collection FQCN resolution confirmed working end-to-end

Standalone Ansible collection installing Valkey as a Remi-free,
EL9/Amazon Linux 2023-only alternative to itential.deployer's redis
role. Depends on itential.deployer at runtime for the shared common
and offline utility roles.

This collection is transitional: it exists separately from
itential.deployer only until roles/redis is retired there, at which
point roles/valkey and its playbooks are intended to be merged
directly into itential.deployer.
Replaces the "Quick Start" stub (which just linked out to
itential.deployer's own README) with an actual step-by-step flow:
installing both collections, setting up the working directory,
building a combined inventory (Valkey + MongoDB + Platform), and the
verify/install/certify command sequence across both collections.

Also documents a real gap found while writing this: itential.deployer's
os.yml doesn't yet target valkey_master/valkey_replica/valkey_sentinel,
so baseline OS/firewalld setup doesn't run against fresh Valkey hosts
via the normal flow. Tracked as a known limitation for now, not fixed
here since it lives in a different repo.
Comment thread .github/workflows/updateChangelog.yml Resolved
Comment thread roles/valkey/defaults/main/offline.yml Resolved
Comment thread roles/valkey/defaults/main/offline.yml Resolved
Comment thread README.md Resolved
Comment thread README.md Resolved
Comment thread README.md Resolved
- Remove updateChangelog.yml -- redundant with the changelog step
  already inside publish_ansible_collection.yml (same trigger, same
  action)
- Remove dead valkey_offline_*_archives_dir vars -- leftover from
  roles/redis's source-tarball download path, which roles/valkey never
  has (grepped: zero references in roles/valkey/tasks/)
- Add Amazon Linux 2023 to the example inventory's platform-support
  comment, which still said EL9-only from before that support was
  added
- Fix README's incorrect claim that itential.deployer isn't installed
  automatically -- ansible-galaxy does resolve and install galaxy.yml
  dependencies by default
- Trim README's Getting Started section back to Valkey-only scope,
  linking to itential.deployer's own README for the rest of the stack
  instead of re-explaining it inline
- Drop the redundant _valkey suffix from playbook names now that this
  is a standalone single-component collection: verify_valkey.yml ->
  verify.yml, certify_valkey.yml -> certify.yml,
  download_packages_valkey.yml -> download_packages.yml (valkey.yml
  itself is unchanged -- it's named after the component, not a
  suffixed verb)
@Amunagala-itential

Copy link
Copy Markdown
Collaborator Author

Addressed in 061a47e:

  • Removed updateChangelog.yml -- confirmed redundant with the changelog step already inside publish_ansible_collection.yml (identical trigger, identical action).
  • Removed the dead valkey_offline_*_archives_dir vars -- confirmed zero references anywhere in roles/valkey/tasks/, leftover from roles/redis's source-tarball path which this role never has.
  • Fixed the example inventory's platform-support comment to mention Amazon Linux 2023 (was still EL9-only from before that support was added).
  • Fixed the README's incorrect claim that itential.deployer doesn't install automatically -- confirmed ansible-galaxy collection install does resolve and install galaxy.yml dependencies by default, so this collection alone is sufficient.
  • Trimmed the Getting Started section back to Valkey-only scope, linking to itential.deployer's own README for the rest of the stack instead of re-explaining it inline.
  • Dropped the _valkey suffix from playbook names: verify_valkey.yml->verify.yml, certify_valkey.yml->certify.yml, download_packages_valkey.yml->download_packages.yml. Left valkey.yml itself as-is since it's named after the component, not a suffixed verb, and left the internal verify_valkey/verify_sentinel tags inside verify.yml alone since those disambiguate data-node vs. Sentinel checks within that one file, a different (still meaningful) purpose than the file-level suffix.

Same class of issue as both prior review rounds: docs copied from
roles/redis's redis_guide.md weren't fully adapted to this collection.

- "this deployer"/"the deployer" -> "this role" where the text is
  actually describing roles/valkey itself, not itential.deployer
- Two references to `redis_guide.md` (a file that only exists in
  itential.deployer, not in this repo) now link to its real location
  on GitHub instead of a dangling local filename
- The example inventory's TLS comment pointed at a nonexistent
  tls_guide.md; TLS is actually documented inline in this collection's
  own docs/valkey_guide.md, so it now points there instead

Found via a proactive /code-review pass looking specifically for more
instances of the dead-copy-paste-reference pattern the reviewer had
already caught twice.

@Nick-Andreano Nick-Andreano left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing I notices is that some of the documents have
Copyright (c) 2024
Probably should be 2026

@kvelarde-itential

Copy link
Copy Markdown
Contributor

One thing I notices is that some of the documents have Copyright (c) 2024 Probably should be 2026

@Amunagala-itential I agree with Nick. Let's change these copyright lines and then I think this PR is ready to merge.

Per Nick's review comment (via kvelarde-itential): several files still
carried "Copyright (c) 2024" copied forward from roles/redis, even
though every file in this collection was actually authored in 2026.
Fixed all 22 instances for consistency with the 6 files that already
correctly said 2026.
@Amunagala-itential

Copy link
Copy Markdown
Collaborator Author

Copyright year fixed across all 22 affected files, matching the 6 that already said 2026.

@Amunagala-itential
Amunagala-itential merged commit edaa444 into itential:dev Sep 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants