init commit
This commit is contained in:
42
provision/etcdctl.sh
Normal file
42
provision/etcdctl.sh
Normal file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
#
|
||||
# Helper functions
|
||||
#
|
||||
declare -i term_width=80
|
||||
|
||||
h1() {
|
||||
declare border padding text
|
||||
border='\e[1;34m'"$(printf '=%.0s' $(seq 1 "$term_width"))"'\e[0m'
|
||||
padding="$(printf ' %.0s' $(seq 1 $(((term_width - $(wc -m <<<"$*")) / 2))))"
|
||||
text="\\e[1m$*\\e[0m"
|
||||
echo -e "$border"
|
||||
echo -e "${padding}${text}${padding}"
|
||||
echo -e "$border"
|
||||
}
|
||||
|
||||
h2() {
|
||||
printf '\e[1;33m==>\e[37;1m %s\e[0m\n' "$*"
|
||||
}
|
||||
|
||||
etcd_version="${1:-v3.4.16}"; shift || true
|
||||
|
||||
h1 "Install etcd"
|
||||
h2 "Version: ${etcd_version}"
|
||||
|
||||
# install the binaries.
|
||||
url="https://github.com/etcd-io/etcd/releases/download/$etcd_version/etcd-$etcd_version-linux-amd64.tar.gz"
|
||||
filename="$(basename "$url")"
|
||||
wget -q "$url"
|
||||
rm -rf etcd && mkdir etcd
|
||||
tar xf "$filename" --strip-components 1 -C etcd
|
||||
install etcd/etcdctl /usr/local/bin
|
||||
rm -rf "$filename" etcd
|
||||
|
||||
h2 "Configure envs to access etcd"
|
||||
cat >/etc/profile.d/etcdctl.sh <<'EOF'
|
||||
export ETCDCTL_CACERT=/var/lib/rancher/rke2/server/tls/etcd/server-ca.crt
|
||||
export ETCDCTL_CERT=/var/lib/rancher/rke2/server/tls/etcd/server-client.crt
|
||||
export ETCDCTL_KEY=/var/lib/rancher/rke2/server/tls/etcd/server-client.key
|
||||
EOF
|
Reference in New Issue
Block a user