ETCD Direct Query
This guide shows how to query ETCD directly using etcdctl for debugging and troubleshooting purposes.
Prerequisites
You need a client certificate and key signed by the Conduit internal CA. See the Generating Certificates guide for details on creating these credentials.
ETCD Key Organization
Conduit organizes data in ETCD using a hierarchical prefix structure:
transfers/- Root prefix for all transferstransfers/<transfer-id>/- Individual transfer datatransfers/<transfer-id>/<field>- Specific transfer fields (state, error, errorMessage, etc.)
Common Queries
Set up environment variables for convenience:
export ETCD_CERT=/etc/conduit/keys/etcd-client-cert.pem
export ETCD_KEY=/etc/conduit/keys/etcd-client-key.pem
export ETCD_CA=/etc/conduit/keys/conduit-internal-ca.pem
export ETCD_ENDPOINTS=192.168.0.254:2379
Get a Specific Transfer Field
# Get the state of a transfer
etcdctl get --cert $ETCD_CERT --key $ETCD_KEY --cacert $ETCD_CA \
--endpoints=$ETCD_ENDPOINTS \
transfers/ebb444e4-48d8-4fc1-bc31-c8c6816f2b0d/state
Get All Data for a Transfer
# Get all key-value pairs for a specific transfer
etcdctl get --cert $ETCD_CERT --key $ETCD_KEY --cacert $ETCD_CA \
--endpoints=$ETCD_ENDPOINTS \
--prefix transfers/ebb444e4-48d8-4fc1-bc31-c8c6816f2b0d
List All Transfers
# List all transfer IDs
etcdctl get --cert $ETCD_CERT --key $ETCD_KEY --cacert $ETCD_CA \
--endpoints=$ETCD_ENDPOINTS \
--prefix --keys-only transfers/