go.etcd.io/etcd@v3.3.27+incompatible/contrib/systemd/etcd2-backup-coreos/etcd2-restore.service (about)

     1  [Unit]
     2  Description=Restore single-node etcd2 node from rclone endpoint
     3  Conflicts=etcd2.service etcd2-backup.service
     4  Before=etcd2.service etcd2-backup.service
     5  
     6  [Service]
     7  Type=oneshot
     8  ExecStartPre=/usr/bin/rm -rf ${ETCD_DATA_DIR}/member
     9  ExecStartPre=/usr/bin/mkdir -p ${ETCD_RESTORE_DIR}
    10  ExecStartPre=/usr/bin/rm -rf ${ETCD_RESTORE_DIR}/member
    11  
    12  # Copy the last backup from rclone endpoint
    13  ExecStartPre=/usr/bin/docker run --rm \
    14  			     -v ${RCLONE_CONFIG_PATH}:/etc/rclone.conf \
    15  			     -v ${ETCD_RESTORE_DIR}:/etcd2backup \
    16  			     quay.io/coreos/rclone:latest \
    17  			        --config /etc/rclone.conf --checksum=${RCLONE_CHECKSUM} \
    18  				   copy ${RCLONE_ENDPOINT}/%m /etcd2backup
    19  
    20  ExecStartPre=/usr/bin/ls -R ${ETCD_RESTORE_DIR}
    21  ExecStartPre=/opt/bin/etcd2-restore -etcd-name ${ETCD_NAME} -etcd-peer-urls ${ETCD_INITIAL_ADVERTISE_PEER_URLS}
    22  ExecStartPre=/usr/bin/cp -r ${ETCD_RESTORE_DIR}/member ${ETCD_DATA_DIR}/member
    23  ExecStart=/usr/bin/chown -R etcd:etcd ${ETCD_DATA_DIR}/member
    24  
    25  [Install]
    26  WantedBy=multi-user.target