Repository navigation
v0.2.0: On Ansible Automation Platform 2.7 and the automation orchestrator
The project runs on Ansible Automation Platform 2.7 and drives the
automation orchestrator: ten rulebook activations, eighteen job templates,
the controller-tier approval workflow and seven orchestrator workflows,
exercised against the two Purity//FA 6.10.6 arrays, a 2.7 installation and
a live orchestrator; the Prometheus path is exercised against the arrays'
native exporters. docs/VERIFICATION.md has the
ledger.
Collection and decision environment
- The repository is the collection
sdodsley.flasharray_eda(galaxy.yml,
meta/runtime.yml,make collection); the rulebooks name their sources
by FQCN (sdodsley.flasharray_eda.purefa_events,
sdodsley.flasharray_eda.purefa_syslog) and CI builds and installs the
collection before the unit tests. - The decision environment builds and installs the collection at image
build time, so activations resolve the sources without--source-dir;
ANSIBLE_COLLECTIONS_PATHin the image also names the base image's
ansible.edadirectory (docs/PACKAGING.md).
Ansible Automation Platform
FlashArray fleetcredential type: one credential carries every array as
a JSON list, injected aspurefa_fleet_json(controller) and
purefa_arrays(EDA).playbooks/tasks/resolve_array.ymlpicks the
target array's URL and token in every array-facing playbook, and both
plugins acceptarraysas a JSON or YAML string.- Platform rulebooks under
extensions/eda/rulebooks/platform/, generated
bytools/platform_rulebooks.pyand checked by a unit test: every
run_playbookbecomesrun_job_templateinaap_organization; the
webhook rulesets are left out. The config sources fall back to the fleet
list whenconfig_arraysis unset. aap/seed.yml: seven more job templates (eighteen, one per playbook;
FlashArray - post orchestrator eventis nowFlashArray - orchestrator post), thePlatform user - flasharray-edaEDA credential (the built-in
Red Hat Ansible Automation Platform type) for therun_job_template
actions, one activation per platform rulebook with the fleet credential
and the site vars laid over the example file, enabled ten seconds apart
whenaap_eda_activations_enabledis true;aap_eda_de_pull_policy.
aap/README.md covers the image stores of a containerized
platform.
Orchestrator
- Four more definitions:
day2_qos_cap.json,day2_protect_now.json,
day2_identify_led.jsonanddr_failover_test.json, an ActiveDR
failover test behind two approvals (playbooks/dr_promote.yml,
playbooks/dr_demote.yml). - All seven definitions follow the contract of the 2026.8 release:
unwrapped trigger bodies (${trigger.event...}),credential_names,
approver_groups,decision_window,schedule_typewithcronand
missed_schedule_policy.tools/ao_lint.pychecks the parameter keys
of every trigger and node type (parameter_keys).
Monitoring
prometheus/flasharray.rules.ymlfollows the names and labels of the
array's native OpenMetrics exporter on Purity//FA 6.10.6
(namespace=purefa, status as a label,array_nameas a target label);
prometheus/prometheus.example.ymland
prometheus/alertmanager.example.ymlare the scrape and routing
configurations.