Committer Playbooks¶
The committer playbooks operate Fabric-X committer services and their storage backend. A committer deployment can use PostgreSQL or YugabyteDB depending on the inventory.
Playbooks flow¶
flowchart LR
subgraph SETUP[Setup]
direction LR
BIN[binaries] --> CRYPTO[generate_crypto]
CRYPTO --> CONFIGS[configs]
end
subgraph RUN[Run and cleanup]
direction LR
START[start] --> PING[ping]
PING --> STOP[stop]
STOP --> TEARDOWN[teardown]
TEARDOWN --> WIPE[wipe]
end
CONFIGS --> START
binaries.yaml¶
binaries.yaml prepares committer executables for binary-mode deployments. It handles control-node install/build work, then ensures targeted validator, verifier, coordinator, sidecar, and query-service hosts receive or build the binary they need.
ansible-playbook hyperledger.fabricx.committer.binaries --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
localhostfor control-node build/install decisions, thenfabric_x_committerby default for remote binary setup. - Binary activation: only hosts with
committer_use_bin: truerun the remote binary setup step. - Build location: set
bin_build_on_control_node: truewithcommitter_build_bin: trueto build on the control node and transfer the result to remote hosts. In that case,gomust be installed on the control node. Ifcommitter_build_bin: trueis set withoutbin_build_on_control_node, the build happens on each remote binary host andgois needed there.
generate_crypto.yaml¶
generate_crypto.yaml prepares TLS/MSP material for committer services and whichever database backend the inventory declares. It handles PostgreSQL, YugabyteDB, and Fabric-X committer hosts in one pass so the committer pipeline and storage backend use consistent artifacts.
ansible-playbook hyperledger.fabricx.committer.generate_crypto --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: hosts with
postgres_portare handled by the PostgreSQL role, hosts withyugabyte_component_typeare handled by the YugabyteDB role, and hosts withcommitter_component_typeare handled by the committer role.
configs.yaml¶
configs.yaml transfers database configuration when PostgreSQL or YugabyteDB hosts are present, then renders committer service configuration from the selected inventory. It discovers validators, verifiers, the coordinator, and orderer assemblers so the sidecar/coordinator path can connect to the right services.
ansible-playbook hyperledger.fabricx.committer.configs --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: reads
groups['fabric_x_orderers']to discover assembler endpoints needed by the committer sidecar/coordinator path.
start.yaml¶
start.yaml starts the committer storage backend before the Fabric-X committer services that depend on it. After PostgreSQL or YugabyteDB is running, it starts validators, verifiers, the coordinator, sidecar, and query service according to each host's committer_component_type.
ansible-playbook hyperledger.fabricx.committer.start --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: the database backend is detected from inventory variables: PostgreSQL hosts define
postgres_port, while YugabyteDB hosts defineyugabyte_component_type.
stop.yaml¶
stop.yaml stops committer services before stopping the configured database backend. It leaves generated files and runtime data in place so the same committer deployment can be started again.
ansible-playbook hyperledger.fabricx.committer.stop --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: stops committer services before the database backend while preserving generated files and runtime data.
teardown.yaml¶
teardown.yaml tears down committer services and database runtime state. Use it when you want to remove the running deployment state rather than simply pause services.
ansible-playbook hyperledger.fabricx.committer.teardown --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: removes runtime state for committer services and the configured database backend.
wipe.yaml¶
wipe.yaml removes committer and database artifacts from targeted hosts, including generated configuration, crypto, and role-managed files that should not remain after a full cleanup.
ansible-playbook hyperledger.fabricx.committer.wipe --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: removes role-managed committer and database artifacts, including generated configuration and crypto.
ping.yaml¶
ping.yaml checks committer and database endpoints declared by targeted hosts. It is the quickest post-start validation for sidecar/query access and backend availability.
ansible-playbook hyperledger.fabricx.committer.ping --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: useful as a post-start validation for committer service and backend availability.
get_metrics.yaml¶
get_metrics.yaml queries committer metrics endpoints on targeted hosts and returns the collected metrics through Ansible output.
ansible-playbook hyperledger.fabricx.committer.get_metrics --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: intended for ad hoc metrics inspection; Prometheus is the normal continuous metrics collector in sample inventories.
fetch_crypto.yaml¶
fetch_crypto.yaml fetches committer and database crypto material into the configured artifacts directory for inspection, reuse, or debugging.
ansible-playbook hyperledger.fabricx.committer.fetch_crypto --extra-vars '{"target_hosts": "fabric_x_committer"}'
Properties:
- Target hosts:
fabric_x_committerby default. - Nuance: fetches committer and database crypto for inspection, reuse, or debugging.
fetch_logs.yaml¶
fetch_logs.yaml fetches committer service and database logs from targeted hosts into the configured output directory.
ansible-playbook hyperledger.fabricx.committer.fetch_logs --extra-vars '{"target_hosts": "committer-validator"}'
Properties:
- Target hosts:
fabric_x_committerby default; the example narrows collection tocommitter-validator. - Nuance: intended for troubleshooting committer service and database failures from the control node.