Skip to content

Instantly share code, notes, and snippets.

@CermakM
Last active August 31, 2020 14:54
Show Gist options
  • Select an option

  • Save CermakM/d6822926ce53e9fef271f8a2b66f8631 to your computer and use it in GitHub Desktop.

Select an option

Save CermakM/d6822926ce53e9fef271f8a2b66f8631 to your computer and use it in GitHub Desktop.

Revisions

  1. CermakM revised this gist Aug 31, 2020. 1 changed file with 12 additions and 12 deletions.
    24 changes: 12 additions & 12 deletions etcdctl.sh
    Original file line number Diff line number Diff line change
    @@ -19,18 +19,18 @@ ENDPOINTS=()
    # ---

    if [[ "${ETCDCTL_API}" -eq "2" ]]; then
    ETCDCTL_API=2 etcdctl \
    --endpoints=${ENDPOINTS:0:${#ENDPOINTS}-1} \
    --ca-file /etc/ssl/etcd/ssl/ca.pem \
    --cert-file /etc/ssl/etcd/ssl/member-$(hostname).pem \
    --key-file /etc/ssl/etcd/ssl/member-$(hostname)-key.pem \
    "$@"
    ETCDCTL_API=2 etcdctl \
    --endpoints=${ENDPOINTS:0:${#ENDPOINTS}-1} \
    --ca-file /etc/ssl/etcd/ssl/ca.pem \
    --cert-file /etc/ssl/etcd/ssl/member-$(hostname).pem \
    --key-file /etc/ssl/etcd/ssl/member-$(hostname)-key.pem \
    "$@"
    else
    # default to ETCDCTL_API v3 instead of v2
    ETCDCTL_API=3 etcdctl \
    --endpoints=${ENDPOINTS:0:${#ENDPOINTS}-1} \
    --cacert=/etc/ssl/etcd/ssl/ca.pem \
    --cert=/etc/ssl/etcd/ssl/member-$(hostname).pem \
    --key=/etc/ssl/etcd/ssl/member-$(hostname)-key.pem \
    "$@"
    ETCDCTL_API=3 etcdctl \
    --endpoints=${ENDPOINTS:0:${#ENDPOINTS}-1} \
    --cacert=/etc/ssl/etcd/ssl/ca.pem \
    --cert=/etc/ssl/etcd/ssl/member-$(hostname).pem \
    --key=/etc/ssl/etcd/ssl/member-$(hostname)-key.pem \
    "$@"
    fi
  2. CermakM created this gist Aug 31, 2020.
    36 changes: 36 additions & 0 deletions etcdctl.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,36 @@
    #!/bin/bash

    MEMBERS=$(\
    kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="InternalIP")].address}' \
    | tr " " ","
    )

    ETCD_PORT=${ETCD_PORT:-2379}

    ENDPOINTS=()
    {
    IFS=, read -a members <<< "$MEMBERS"
    for m in "${members[@]}"; do
    ENDPOINTS+="https://$m:$ETCD_PORT"
    ENDPOINTS+=","
    done
    }

    # ---

    if [[ "${ETCDCTL_API}" -eq "2" ]]; then
    ETCDCTL_API=2 etcdctl \
    --endpoints=${ENDPOINTS:0:${#ENDPOINTS}-1} \
    --ca-file /etc/ssl/etcd/ssl/ca.pem \
    --cert-file /etc/ssl/etcd/ssl/member-$(hostname).pem \
    --key-file /etc/ssl/etcd/ssl/member-$(hostname)-key.pem \
    "$@"
    else
    # default to ETCDCTL_API v3 instead of v2
    ETCDCTL_API=3 etcdctl \
    --endpoints=${ENDPOINTS:0:${#ENDPOINTS}-1} \
    --cacert=/etc/ssl/etcd/ssl/ca.pem \
    --cert=/etc/ssl/etcd/ssl/member-$(hostname).pem \
    --key=/etc/ssl/etcd/ssl/member-$(hostname)-key.pem \
    "$@"
    fi