diff --git a/bitnami/etcd/Chart.yaml b/bitnami/etcd/Chart.yaml index e78b0f396..d1616c462 100644 --- a/bitnami/etcd/Chart.yaml +++ b/bitnami/etcd/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: etcd -version: 4.3.7 +version: 4.3.8 appVersion: 3.4.1 description: etcd is a distributed key value store that provides a reliable way to store data across a cluster of machines keywords: diff --git a/bitnami/etcd/templates/scripts-configmap.yaml b/bitnami/etcd/templates/scripts-configmap.yaml index 78ce1830e..d038ee4df 100644 --- a/bitnami/etcd/templates/scripts-configmap.yaml +++ b/bitnami/etcd/templates/scripts-configmap.yaml @@ -51,6 +51,7 @@ data: store_member_id() { while ! etcdctl $AUTH_OPTIONS member list; do sleep 1; done etcdctl $AUTH_OPTIONS member list | grep "$HOSTNAME" | awk '{ print $1}' | awk -F "," '{ print $1}' > "$ETCD_DATA_DIR/member_id" + echo "==> Stored member id: $(cat ${ETCD_DATA_DIR}/member_id)" 1>&3 2>&4 exit 0 } ## Configure RBAC @@ -75,7 +76,7 @@ data: local -r min_endpoints=$((({{ $replicaCount }} + 1)/2)) for e in "${endpoints_array[@]}"; do - if [[ "$e" != "$ETCD_ADVERTISE_CLIENT_URLS" ]] && etcdctl $AUTH_OPTIONS endpoint health --endpoints="$e"; then + if [[ "$e" != "$ETCD_ADVERTISE_CLIENT_URLS" ]] && (unset -v ETCDCTL_ENDPOINTS; exec etcdctl $AUTH_OPTIONS endpoint health --endpoints="$e"); then active_endpoints=$((active_endpoints + 1)) fi done @@ -130,13 +131,15 @@ data: --initial-cluster $ETCD_INITIAL_CLUSTER \ --initial-cluster-token $ETCD_INITIAL_CLUSTER_TOKEN \ --initial-advertise-peer-urls $ETCD_INITIAL_ADVERTISE_PEER_URLS 1>&3 2>&4 - store_member_id & + store_member_id & 1>&3 2>&4 + else echo "==> There was no snapshot to perform data recovery!!" 1>&3 2>&4 exit 1 fi {{- else }} - store_member_id & + store_member_id & 1>&3 2>&4 + configure_rbac {{- end }} else @@ -154,7 +157,8 @@ data: --initial-cluster $ETCD_INITIAL_CLUSTER \ --initial-cluster-token $ETCD_INITIAL_CLUSTER_TOKEN \ --initial-advertise-peer-urls $ETCD_INITIAL_ADVERTISE_PEER_URLS 1>&3 2>&4 - store_member_id & + store_member_id & 1>&3 2>&4 + else echo "==> There was no snapshot to perform data recovery!!" 1>&3 2>&4 exit 1 @@ -169,7 +173,8 @@ data: sed -ie 's/^/export /' "$ETCD_DATA_DIR/new_member_envs" echo "==> Loading env vars of existing cluster..." 1>&3 2>&4 source "$ETCD_DATA_DIR/new_member_envs" 1>&3 2>&4 - store_member_id & + store_member_id & 1>&3 2>&4 + else echo "==> Updating member in existing cluster..." 1>&3 2>&4 etcdctl $AUTH_OPTIONS member update "$(cat "$ETCD_DATA_DIR/member_id")" --peer-urls="{{ $etcdPeerProtocol }}://${HOSTNAME}.{{ $etcdHeadlessServiceName }}.{{ .Release.Namespace }}.{{ $dnsBase }}:{{ $peerPort }}" 1>&3 2>&4