forked from etcd-io/etcd
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathetcd2-restore.service
More file actions
26 lines (22 loc) · 1020 Bytes
/
etcd2-restore.service
File metadata and controls
26 lines (22 loc) · 1020 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[Unit]
Description=Restore single-node etcd2 node from rclone endpoint
Conflicts=etcd2.service etcd2-backup.service
Before=etcd2.service etcd2-backup.service
[Service]
Type=oneshot
ExecStartPre=/usr/bin/rm -rf ${ETCD_DATA_DIR}/member
ExecStartPre=/usr/bin/mkdir -p ${ETCD_RESTORE_DIR}
ExecStartPre=/usr/bin/rm -rf ${ETCD_RESTORE_DIR}/member
# Copy the last backup from rclone endpoint
ExecStartPre=/usr/bin/docker run --rm \
-v ${RCLONE_CONFIG_PATH}:/etc/rclone.conf \
-v ${ETCD_RESTORE_DIR}:/etcd2backup \
quay.io/coreos/rclone:latest \
--config /etc/rclone.conf --checksum=${RCLONE_CHECKSUM} \
copy ${RCLONE_ENDPOINT}/%m /etcd2backup
ExecStartPre=/usr/bin/ls -R ${ETCD_RESTORE_DIR}
ExecStartPre=/opt/bin/etcd2-restore -etcd-name ${ETCD_NAME} -etcd-peer-urls ${ETCD_INITIAL_ADVERTISE_PEER_URLS}
ExecStartPre=/usr/bin/cp -r ${ETCD_RESTORE_DIR}/member ${ETCD_DATA_DIR}/member
ExecStart=/usr/bin/chown -R etcd:etcd ${ETCD_DATA_DIR}/member
[Install]
WantedBy=multi-user.target