Skip to content

Instantly share code, notes, and snippets.

@fincd-aws
Forked from finchd/setup-local-k8s-tools.sh
Last active August 28, 2023 22:27
Show Gist options
  • Save fincd-aws/b0bdda615bc4ca5eaf4b467d1e246521 to your computer and use it in GitHub Desktop.
Save fincd-aws/b0bdda615bc4ca5eaf4b467d1e246521 to your computer and use it in GitHub Desktop.

Revisions

  1. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -92,7 +92,7 @@ echo "install eksctl from homebrew"

    # JSON Incremental Digger - interactive jq-ish
    # not available for arm, always amd64
    curl-options -vvO "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_amd64"
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_amd64"
    #jiq isn't a zip
    mv /tmp/jiq_${OS}_amd64 ~/.local/bin/jiq && \
    chmod u+x ~/.local/bin/jiq && echo "installed jiq"
  2. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -92,9 +92,9 @@ echo "install eksctl from homebrew"

    # JSON Incremental Digger - interactive jq-ish
    # not available for arm, always amd64
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_amd64"
    curl-options -vvO "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_amd64"
    #jiq isn't a zip
    mv /tmp/jiq_${OS}_${ARCH} ~/.local/bin/jiq
    mv /tmp/jiq_${OS}_amd64 ~/.local/bin/jiq && \
    chmod u+x ~/.local/bin/jiq && echo "installed jiq"
    echo "jid hasnt updated since 2019, use jiq - It's jid with jq."

  3. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -91,7 +91,8 @@ echo 'install helm 3 from homebrew, docs no longer have initialization for a sta
    echo "install eksctl from homebrew"

    # JSON Incremental Digger - interactive jq-ish
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_${ARCH}"
    # not available for arm, always amd64
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_amd64"
    #jiq isn't a zip
    mv /tmp/jiq_${OS}_${ARCH} ~/.local/bin/jiq
    chmod u+x ~/.local/bin/jiq && echo "installed jiq"
  4. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -77,23 +77,23 @@ pushd /tmp

    # Helm
    # I don't use -O, since tar supports streaming
    #curl-options "https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    #mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    #curl-options "https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-${OS}-amd64.tar.gz" | tar xz -C /tmp
    #mv /tmp/${OS}-amd64/helm ~/.local/bin/
    #echo "installed helm 2"
    #~/.local/bin/helm init --client-only
    echo 'install helm 3 from homebrew, docs no longer have initialization for a standard repo, they point to bitnami... :('

    # eksctl eksctl.io written by weaveworks
    # I don't use -O, since tar supports streaming
    #curl-options "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp
    #curl-options "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${OS}_amd64.tar.gz" | tar xz -C /tmp
    #mv /tmp/eksctl ~/.local/bin
    #echo "installed eksctl"
    echo "install eksctl from homebrew"

    # JSON Incremental Digger - interactive jq-ish
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_${ARCH}"
    #jiq isn't a zip
    mv /tmp/jiq_${opsys}_${ARCH} ~/.local/bin/jiq
    mv /tmp/jiq_${OS}_${ARCH} ~/.local/bin/jiq
    chmod u+x ~/.local/bin/jiq && echo "installed jiq"
    echo "jid hasnt updated since 2019, use jiq - It's jid with jq."

  5. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -91,7 +91,7 @@ echo 'install helm 3 from homebrew, docs no longer have initialization for a sta
    echo "install eksctl from homebrew"

    # JSON Incremental Digger - interactive jq-ish
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${opsys}_${ARCH}"
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${OS}_${ARCH}"
    #jiq isn't a zip
    mv /tmp/jiq_${opsys}_${ARCH} ~/.local/bin/jiq
    chmod u+x ~/.local/bin/jiq && echo "installed jiq"
  6. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -39,7 +39,7 @@ curl-options -O https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    #curl-options -O https://raw.githubusercontent.com/jonmosco/kube-ps1/master/kube-ps1.sh \
    # && chmod 700 kube-ps1.sh \
    # && echo "installed kube-ps1.sh, you must source it in your .bashrc: source ~/.local/bin/kube-ps1.sh"
    echo 'set up https://starship.rs to put k8s cluster in your prompt"
    echo 'set up https://starship.rs to put k8s cluster in your prompt'

    # Kustomize install script
    #OS=linux # or darwin, or windows
    @@ -54,7 +54,7 @@ echo 'set up https://starship.rs to put k8s cluster in your prompt"
    #mv kustomize_*_${OS}_amd64 ~/.local/bin/kustomize
    #chmod u+x ~/.local/bin/kustomize \
    # && echo "installed kustomize"
    echo "kustomive. 'Now, built into kubectl as apply -k.'"
    echo "kustomize. 'Now, built into kubectl as apply -k.'"

    # jq - JSON Query - awk for JSON
    # os names aren't normalized to uname output (darwin vs osx)
  7. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -81,7 +81,7 @@ pushd /tmp
    #mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    #echo "installed helm 2"
    #~/.local/bin/helm init --client-only
    echo "install helm 3 from homebrew, docs no longer have initialization for a standard repo, they point to bitnami... :("
    echo 'install helm 3 from homebrew, docs no longer have initialization for a standard repo, they point to bitnami... :('
    # eksctl eksctl.io written by weaveworks
    # I don't use -O, since tar supports streaming
  8. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 12 additions and 14 deletions.
    26 changes: 12 additions & 14 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -59,20 +59,18 @@ echo "kustomive. 'Now, built into kubectl as apply -k.'"
    # jq - JSON Query - awk for JSON
    # os names aren't normalized to uname output (darwin vs osx)
    # binary name has os and arch embedded, remove it
    #case ${OS} in
    # linux) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${OS}64"
    # ;;
    # darwin) #curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    # echo "install jq with homebrew"
    # ;;
    # # does any of this actually work in windows? WSL vs other bash on windows things?
    # windows) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    # ;;
    #esac
    #chmod u+x ~/.local/bin/jq \
    # && echo "installed jq"
    echo "install jq from homebrew"
    case ${OS} in
    linux) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${OS}64" && \
    chmod u+x ~/.local/bin/jq && \
    echo "installed jq"
    ;;
    darwin) #curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    echo "install jq with homebrew"
    ;;
    # does any of this actually work in windows? WSL vs other bash on windows things?
    windows) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    ;;
    esac
    ## Download archive-based things to /tmp/
    pushd /tmp
  9. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 4 additions and 3 deletions.
    7 changes: 4 additions & 3 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -36,9 +36,10 @@ curl-options -O https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    && echo "installed kubens"

    #kube-ps1
    curl-options -O https://raw.githubusercontent.com/jonmosco/kube-ps1/master/kube-ps1.sh \
    && chmod 700 kube-ps1.sh \
    && echo "installed kube-ps1.sh, you must source it in your .bashrc: source ~/.local/bin/kube-ps1.sh"
    #curl-options -O https://raw.githubusercontent.com/jonmosco/kube-ps1/master/kube-ps1.sh \
    # && chmod 700 kube-ps1.sh \
    # && echo "installed kube-ps1.sh, you must source it in your .bashrc: source ~/.local/bin/kube-ps1.sh"
    echo 'set up https://starship.rs to put k8s cluster in your prompt"
    # Kustomize install script
    #OS=linux # or darwin, or windows
  10. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -95,7 +95,7 @@ echo "install eksctl from homebrew"
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${opsys}_${ARCH}"
    #jiq isn't a zip
    mv /tmp/jiq_${opsys}_${ARCH} ~/.local/bin/jiq
    echo "installed jiq"
    chmod u+x ~/.local/bin/jiq && echo "installed jiq"
    echo "jid hasnt updated since 2019, use jiq - It's jid with jq."

    #kubectl 1.12+ only, install the krew kubectl plugin manager, *exactly* with their published instructions to ~/.krew/bin/
  11. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -109,7 +109,7 @@ echo "jid hasnt updated since 2019, use jiq - It's jid with jq."
    tar zxvf "${KREW}.tar.gz" &&
    ./"${KREW}" install krew
    )
    eho "remember to add ~/.krew/bin to your PATH and add KUBECONFIG variable in ~/.bashrc or equivalent and source it"
    echo "remember to add ~/.krew/bin to your PATH and add KUBECONFIG variable in ~/.bashrc or equivalent and source it"

    #end archive downloads
    popd
  12. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -94,7 +94,7 @@ echo "install eksctl from homebrew"
    # JSON Incremental Digger - interactive jq-ish
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${opsys}_${ARCH}"
    #jiq isn't a zip
    mv /tmp/jiq_${opsys}_${ARCH] ~/.local/bin/jiq
    mv /tmp/jiq_${opsys}_${ARCH} ~/.local/bin/jiq
    echo "installed jiq"
    echo "jid hasnt updated since 2019, use jiq - It's jid with jq."

  13. fincd-aws revised this gist Aug 28, 2023. 1 changed file with 58 additions and 47 deletions.
    105 changes: 58 additions & 47 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -5,24 +5,27 @@ function curl-options(){
    }

    ## pre-configure
    opsys=$(uname -s | tr '[:upper:]' '[:lower:]')
    OS=$(uname -s | tr '[:upper:]' '[:lower:]')
    ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&

    ## Install

    pip install -q --user --upgrade pip awscli aws-shell cfn-flip yamllint \
    && echo "installed user-level pip things: aws-shell awscli cfn-flip yamllint"
    #pip install -q --user --upgrade pip awscli aws-shell cfn-flip yamllint \
    # && echo "installed user-level pip things: aws-shell awscli cfn-flip yamllint"
    # I do this from pipx now, each gets a venv that doesn't overlap

    mkdir ~/.local/bin #doesn't get made by `pip --user` if your python comes from brew?

    pushd ~/.local/bin #now this should work

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    curl-options -O "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/aws-iam-authenticator" \
    && chmod 700 aws-iam-authenticator \
    && echo "installed aws-iam-authenticator"
    curl-options -O "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/kubectl" \
    && chmod 700 kubectl \
    && echo "installed kubectl"
    #curl-options -O "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${OS}/amd64/aws-iam-authenticator" \
    # && chmod 700 aws-iam-authenticator \
    # && echo "installed aws-iam-authenticator"
    #curl-options -O "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${OS}/amd64/kubectl" \
    # && chmod 700 kubectl \
    # && echo "installed kubectl"
    echo "install kubectl with homebrew, aws-iam-authenticator no longer necessary, replaced by aws cli"

    #kubectx/kubens #os independent bash only
    curl-options -O https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx \
    @@ -38,65 +41,75 @@ curl-options -O https://raw.githubusercontent.com/jonmosco/kube-ps1/master/kube-
    && echo "installed kube-ps1.sh, you must source it in your .bashrc: source ~/.local/bin/kube-ps1.sh"

    # Kustomize install script
    #opsys=linux # or darwin, or windows
    #OS=linux # or darwin, or windows
    # //TODO: check for rate-limiting by GitHub API, lol.
    #curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest |\
    # grep browser_download |\
    # grep -i ${opsys} |\
    # grep -i ${OS} |\
    # cut -d '"' -f 4 |\
    # xargs curl -s -O -L
    # NOPE, just doing it my way, w/ explicit versioning
    curl-options -O "https://github.com/kubernetes-sigs/kustomize/releases/download/v2.0.3/kustomize_2.0.3_${opsys}_amd64"
    mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize
    chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"
    #curl-options -O "https://github.com/kubernetes-sigs/kustomize/releases/download/v2.0.3/kustomize_2.0.3_${OS}_amd64"
    #mv kustomize_*_${OS}_amd64 ~/.local/bin/kustomize
    #chmod u+x ~/.local/bin/kustomize \
    # && echo "installed kustomize"
    echo "kustomive. 'Now, built into kubectl as apply -k.'"

    # jq - JSON Query - awk for JSON
    # os names aren't normalized to uname output (darwin vs osx)
    # binary name has os and arch embedded, remove it
    case ${opsys} in
    linux) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${opsys}64"
    ;;
    darwin) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    ;;
    # does any of this actually work in windows? WSL vs other bash on windows things?
    windows) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    ;;
    esac
    chmod u+x ~/.local/bin/jq \
    && echo "installed jq"
    #case ${OS} in
    # linux) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${OS}64"
    # ;;
    # darwin) #curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    # echo "install jq with homebrew"
    # ;;
    # # does any of this actually work in windows? WSL vs other bash on windows things?
    # windows) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    # ;;
    #esac
    #chmod u+x ~/.local/bin/jq \
    # && echo "installed jq"
    echo "install jq from homebrew"


    ## Download archive-based things to /tmp/
    pushd /tmp

    # Helm
    # I don't use -O, since tar supports streaming
    curl-options "https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    echo "installed helm 2"
    ~/.local/bin/helm init --client-only
    #curl-options "https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    #mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    #echo "installed helm 2"
    #~/.local/bin/helm init --client-only
    echo "install helm 3 from homebrew, docs no longer have initialization for a standard repo, they point to bitnami... :("

    # eksctl eksctl.io written by weaveworks
    # I don't use -O, since tar supports streaming
    curl-options "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp
    mv /tmp/eksctl ~/.local/bin
    echo "installed eksctl"
    #curl-options "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp
    #mv /tmp/eksctl ~/.local/bin
    #echo "installed eksctl"
    echo "install eksctl from homebrew"

    # JSON Incremental Digger - interactive jq-ish
    curl-options -O "https://github.com/simeji/jid/releases/download/v0.7.6/jid_${opsys}_amd64.zip"
    unzip "/tmp/jid_${opsys}_amd64.zip" #unzip can't accept a stream on stdin
    mv /tmp/jid ~/.local/bin
    echo "installed jid"
    curl-options -O "https://github.com/fiatjaf/jiq/releases/download/v0.7.2/jiq_${opsys}_${ARCH}"
    #jiq isn't a zip
    mv /tmp/jiq_${opsys}_${ARCH] ~/.local/bin/jiq
    echo "installed jiq"
    echo "jid hasnt updated since 2019, use jiq - It's jid with jq."
    #kubectl 1.12+ only, install the krew kubectl plugin manager, *exactly* with their published instructions to ~/.krew/bin/
    # https://krew.sigs.k8s.io/docs/user-guide/setup/install/
    (
    set -x; cd "$(mktemp -d)" &&
    curl -fsSLO "https://storage.googleapis.com/krew/v0.2.1/krew.{tar.gz,yaml}" &&
    tar zxvf krew.tar.gz &&
    ./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" install \
    --manifest=krew.yaml --archive=krew.tar.gz
    OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
    ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
    KREW="krew-${OS}_${ARCH}" &&
    curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
    tar zxvf "${KREW}.tar.gz" &&
    ./"${KREW}" install krew
    )
    eho "remember to add ~/.krew/bin to your PATH and add KUBECONFIG variable in ~/.bashrc or equivalent and source it"
    #end archive downloads
    popd
    @@ -106,12 +119,10 @@ popd
    if [ ! -d ~/.kube ]; then mkdir ~/.kube; fi
    # **IF** you made the cluster with this user
    # aws eks update-kubeconfig --name cluster_name
    # else
    #echo "export KUBECONFIG=~/.kube/<thing>:$KUBECONFIG" >> ~/.bashrc

    echo "remember to add ~/.krew/bin to your PATH and add KUBECONFIG variable in ~/.bashrc or equivalent and source it"
    echo "**IF** you made the cluster with this user:"
    echo "run: aws eks update-kubeconfig --name cluster_name"
    echo "else"
    echo 'youll have to make and add your context to the kubeconfig manually: echo "export KUBECONFIG=~/.kube/<thing>:$KUBECONFIG" >> ~/.bashrc'
    ## END
    popd
  14. fincd-aws revised this gist Apr 11, 2019. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -32,6 +32,11 @@ curl-options -O https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    && chmod 700 kubens \
    && echo "installed kubens"

    #kube-ps1
    curl-options -O https://raw.githubusercontent.com/jonmosco/kube-ps1/master/kube-ps1.sh \
    && chmod 700 kube-ps1.sh \
    && echo "installed kube-ps1.sh, you must source it in your .bashrc: source ~/.local/bin/kube-ps1.sh"

    # Kustomize install script
    #opsys=linux # or darwin, or windows
    # //TODO: check for rate-limiting by GitHub API, lol.
  15. fincd-aws revised this gist Apr 4, 2019. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -47,13 +47,15 @@ chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"

    # jq - JSON Query - awk for JSON
    # os names aren't normalized to uname output (darwin vs osx)
    # binary name has os and arch embedded, remove it
    case ${opsys} in
    linux) curl-options -O "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${opsys}64"
    linux) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${opsys}64"
    ;;
    darwin) curl-options -O "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    darwin) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    ;;
    # does any of this actually work in windows? WSL vs other bash on windows things?
    windows) curl-options -O "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    windows) curl-options -o jq "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    ;;
    esac
    chmod u+x ~/.local/bin/jq \
  16. fincd-aws revised this gist Apr 4, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -79,7 +79,7 @@ echo "installed eksctl"
    # JSON Incremental Digger - interactive jq-ish
    curl-options -O "https://github.com/simeji/jid/releases/download/v0.7.6/jid_${opsys}_amd64.zip"
    unzip "/tmp/jid_${opsys}_amd64.zip" #unzip can't accept a stream on stdin
    mv /tmp/jiq ~/.local/bin
    mv /tmp/jid ~/.local/bin
    echo "installed jid"

    #kubectl 1.12+ only, install the krew kubectl plugin manager, *exactly* with their published instructions to ~/.krew/bin/
  17. fincd-aws revised this gist Apr 4, 2019. 1 changed file with 10 additions and 1 deletion.
    11 changes: 10 additions & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -82,6 +82,15 @@ unzip "/tmp/jid_${opsys}_amd64.zip" #unzip can't accept a stream on stdin
    mv /tmp/jiq ~/.local/bin
    echo "installed jid"

    #kubectl 1.12+ only, install the krew kubectl plugin manager, *exactly* with their published instructions to ~/.krew/bin/
    (
    set -x; cd "$(mktemp -d)" &&
    curl -fsSLO "https://storage.googleapis.com/krew/v0.2.1/krew.{tar.gz,yaml}" &&
    tar zxvf krew.tar.gz &&
    ./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" install \
    --manifest=krew.yaml --archive=krew.tar.gz
    )

    #end archive downloads
    popd

    @@ -95,7 +104,7 @@ if [ ! -d ~/.kube ]; then mkdir ~/.kube; fi
    # else
    #echo "export KUBECONFIG=~/.kube/<thing>:$KUBECONFIG" >> ~/.bashrc

    echo "remember to source ~/.bashrc"
    echo "remember to add ~/.krew/bin to your PATH and add KUBECONFIG variable in ~/.bashrc or equivalent and source it"

    ## END
    popd
  18. fincd-aws revised this gist Apr 4, 2019. 1 changed file with 17 additions and 11 deletions.
    28 changes: 17 additions & 11 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,9 @@
    #!/usr/bin/env bash

    function curl-options(){
    curl -sL "$@"
    }

    ## pre-configure
    opsys=$(uname -s | tr '[:upper:]' '[:lower:]')

    @@ -13,18 +17,18 @@ mkdir ~/.local/bin #doesn't get made by `pip --user` if your python comes from b
    pushd ~/.local/bin #now this should work

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/aws-iam-authenticator" \
    curl-options -O "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/aws-iam-authenticator" \
    && chmod 700 aws-iam-authenticator \
    && echo "installed aws-iam-authenticator"
    curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/kubectl" \
    curl-options -O "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/kubectl" \
    && chmod 700 kubectl \
    && echo "installed kubectl"

    #kubectx/kubens #os independent bash only
    curl -so kubectx https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx \
    curl-options -O https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx \
    && chmod 700 kubectx \
    && echo "installed kubectx"
    curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    curl-options -O https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    && chmod 700 kubens \
    && echo "installed kubens"

    @@ -37,19 +41,19 @@ curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    # cut -d '"' -f 4 |\
    # xargs curl -s -O -L
    # NOPE, just doing it my way, w/ explicit versioning
    curl -s -O -L "https://github.com/kubernetes-sigs/kustomize/releases/download/v2.0.3/kustomize_2.0.3_${opsys}_amd64"
    curl-options -O "https://github.com/kubernetes-sigs/kustomize/releases/download/v2.0.3/kustomize_2.0.3_${opsys}_amd64"
    mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize
    chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"

    # jq - JSON Query - awk for JSON
    case ${opsys} in
    linux) curl --silent --location "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${opsys}64"
    linux) curl-options -O "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${opsys}64"
    ;;
    darwin) curl --silent --location "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    darwin) curl-options -O "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    ;;
    # does any of this actually work in windows? WSL vs other bash on windows things?
    windows) curl --silent --location "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    windows) curl-options -O "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    ;;
    esac
    chmod u+x ~/.local/bin/jq \
    @@ -60,18 +64,20 @@ chmod u+x ~/.local/bin/jq \
    pushd /tmp

    # Helm
    curl -s -O -L "https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    # I don't use -O, since tar supports streaming
    curl-options "https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    echo "installed helm 2"
    ~/.local/bin/helm init --client-only

    # eksctl eksctl.io written by weaveworks
    curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp
    # I don't use -O, since tar supports streaming
    curl-options "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp
    mv /tmp/eksctl ~/.local/bin
    echo "installed eksctl"

    # JSON Incremental Digger - interactive jq-ish
    curl --silent --location "https://github.com/simeji/jid/releases/download/v0.7.6/jid_${opsys}_amd64.zip"
    curl-options -O "https://github.com/simeji/jid/releases/download/v0.7.6/jid_${opsys}_amd64.zip"
    unzip "/tmp/jid_${opsys}_amd64.zip" #unzip can't accept a stream on stdin
    mv /tmp/jiq ~/.local/bin
    echo "installed jid"
  19. fincd-aws revised this gist Apr 4, 2019. 1 changed file with 5 additions and 7 deletions.
    12 changes: 5 additions & 7 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -13,12 +13,10 @@ mkdir ~/.local/bin #doesn't get made by `pip --user` if your python comes from b
    pushd ~/.local/bin #now this should work

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    #curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/aws-iam-authenticator" \ #docs aren't updated yet
    curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.8/2019-03-13/bin/${opsys}/amd64/aws-iam-authenticator" \
    curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/aws-iam-authenticator" \
    && chmod 700 aws-iam-authenticator \
    && echo "installed aws-iam-authenticator"
    #curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/kubectl" \
    curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.8/2019-03-13/bin/${opsys}/amd64/kubectl" \
    curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.12.7/2019-03-27/bin/${opsys}/amd64/kubectl" \
    && chmod 700 kubectl \
    && echo "installed kubectl"

    @@ -39,7 +37,7 @@ curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    # cut -d '"' -f 4 |\
    # xargs curl -s -O -L
    # NOPE, just doing it my way, w/ explicit versioning
    curl -s -O -L "https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.11/kustomize_1.0.11_${opsys}_amd64"
    curl -s -O -L "https://github.com/kubernetes-sigs/kustomize/releases/download/v2.0.3/kustomize_2.0.3_${opsys}_amd64"
    mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize
    chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"
    @@ -62,7 +60,7 @@ chmod u+x ~/.local/bin/jq \
    pushd /tmp

    # Helm
    curl -s -O -L "https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    curl -s -O -L "https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    echo "installed helm 2"
    ~/.local/bin/helm init --client-only
    @@ -73,7 +71,7 @@ mv /tmp/eksctl ~/.local/bin
    echo "installed eksctl"

    # JSON Incremental Digger - interactive jq-ish
    curl --silent --location "https://github.com/simeji/jid/releases/download/v0.7.5/jid_${opsys}_amd64.zip"
    curl --silent --location "https://github.com/simeji/jid/releases/download/v0.7.6/jid_${opsys}_amd64.zip"
    unzip "/tmp/jid_${opsys}_amd64.zip" #unzip can't accept a stream on stdin
    mv /tmp/jiq ~/.local/bin
    echo "installed jid"
  20. fincd-aws revised this gist Mar 21, 2019. 1 changed file with 30 additions and 6 deletions.
    36 changes: 30 additions & 6 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -38,24 +38,48 @@ curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    # grep -i ${opsys} |\
    # cut -d '"' -f 4 |\
    # xargs curl -s -O -L
    # NOPE, just doing it my way, w/ explicit versioning
    curl -s -O -L "https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.11/kustomize_1.0.11_${opsys}_amd64"
    mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize
    chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"

    # Helm
    pushd ~/
    curl -s -O -L "https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz"
    tar xz -f helm-v2.12.1-${opsys}-amd64.tar.gz -C /tmp
    # jq - JSON Query - awk for JSON
    case ${opsys} in
    linux) curl --silent --location "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-${opsys}64"
    ;;
    darwin) curl --silent --location "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64"
    ;;
    # does any of this actually work in windows? WSL vs other bash on windows things?
    windows) curl --silent --location "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64"
    ;;
    esac
    chmod u+x ~/.local/bin/jq \
    && echo "installed jq"


    ## Download archive-based things to /tmp/
    pushd /tmp

    # Helm
    curl -s -O -L "https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz" | tar xz -C /tmp
    mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    echo "installed helm 2"
    ~/.local/bin/helm init --client-only
    rm -rfv helm-v2.11.0-${opsys}-amd64.tar.gz
    popd

    # eksctl eksctl.io written by weaveworks
    curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp
    mv /tmp/eksctl ~/.local/bin
    echo "installed eksctl"

    # JSON Incremental Digger - interactive jq-ish
    curl --silent --location "https://github.com/simeji/jid/releases/download/v0.7.5/jid_${opsys}_amd64.zip"
    unzip "/tmp/jid_${opsys}_amd64.zip" #unzip can't accept a stream on stdin
    mv /tmp/jiq ~/.local/bin
    echo "installed jid"

    #end archive downloads
    popd


    ## Config Files
  21. fincd-aws revised this gist Mar 19, 2019. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -13,10 +13,12 @@ mkdir ~/.local/bin #doesn't get made by `pip --user` if your python comes from b
    pushd ~/.local/bin #now this should work

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/aws-iam-authenticator" \
    #curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/aws-iam-authenticator" \ #docs aren't updated yet
    curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.8/2019-03-13/bin/${opsys}/amd64/aws-iam-authenticator" \
    && chmod 700 aws-iam-authenticator \
    && echo "installed aws-iam-authenticator"
    curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/kubectl" \
    #curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/kubectl" \
    curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.8/2019-03-13/bin/${opsys}/amd64/kubectl" \
    && chmod 700 kubectl \
    && echo "installed kubectl"

  22. fincd-aws revised this gist Mar 19, 2019. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,9 @@ opsys=$(uname -s | tr '[:upper:]' '[:lower:]')
    pip install -q --user --upgrade pip awscli aws-shell cfn-flip yamllint \
    && echo "installed user-level pip things: aws-shell awscli cfn-flip yamllint"

    pushd ~/.local/bin #gets created by pip
    mkdir ~/.local/bin #doesn't get made by `pip --user` if your python comes from brew?

    pushd ~/.local/bin #now this should work

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/aws-iam-authenticator" \
  23. fincd-aws revised this gist Mar 19, 2019. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,8 @@ curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    && echo "installed kubens"

    # Kustomize install script
    #opsys=linux # or darwin, or windows //TODO: check for rate-limiting by GitHub API, lol.
    #opsys=linux # or darwin, or windows
    # //TODO: check for rate-limiting by GitHub API, lol.
    #curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest |\
    # grep browser_download |\
    # grep -i ${opsys} |\
  24. fincd-aws revised this gist Mar 19, 2019. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -11,14 +11,14 @@ pip install -q --user --upgrade pip awscli aws-shell cfn-flip yamllint \
    pushd ~/.local/bin #gets created by pip

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    curl -so aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/linux/amd64/aws-iam-authenticator \
    curl -so aws-iam-authenticator "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/aws-iam-authenticator" \
    && chmod 700 aws-iam-authenticator \
    && echo "installed aws-iam-authenticator"
    curl -so kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/linux/amd64/kubectl \
    curl -so kubectl "https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/${opsys}/amd64/kubectl" \
    && chmod 700 kubectl \
    && echo "installed kubectl"

    #kubectx/kubens
    #kubectx/kubens #os independent bash only
    curl -so kubectx https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx \
    && chmod 700 kubectx \
    && echo "installed kubectx"
    @@ -33,14 +33,14 @@ curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    # grep -i ${opsys} |\
    # cut -d '"' -f 4 |\
    # xargs curl -s -O -L
    curl -s -O -L https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.11/kustomize_1.0.11_linux_amd64
    curl -s -O -L "https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.11/kustomize_1.0.11_${opsys}_amd64"
    mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize
    chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"

    # Helm
    pushd ~/
    curl -s -O -L https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz
    curl -s -O -L "https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz"
    tar xz -f helm-v2.12.1-${opsys}-amd64.tar.gz -C /tmp

    mv /tmp/${opsys}-amd64/helm ~/.local/bin/
  25. fincd-aws revised this gist Jan 11, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -33,7 +33,7 @@ curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    # grep -i ${opsys} |\
    # cut -d '"' -f 4 |\
    # xargs curl -s -O -L
    curl -s -O -L https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.10/kustomize_1.0.10_linux_amd64
    curl -s -O -L https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.11/kustomize_1.0.11_linux_amd64
    mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize
    chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"
  26. fincd-aws revised this gist Jan 11, 2019. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -11,10 +11,10 @@ pip install -q --user --upgrade pip awscli aws-shell cfn-flip yamllint \
    pushd ~/.local/bin #gets created by pip

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    curl -so aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/$opsys/amd64/aws-iam-authenticator \
    curl -so aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/linux/amd64/aws-iam-authenticator \
    && chmod 700 aws-iam-authenticator \
    && echo "installed aws-iam-authenticator"
    curl -so kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/${opsys}/amd64/kubectl \
    curl -so kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/linux/amd64/kubectl \
    && chmod 700 kubectl \
    && echo "installed kubectl"

    @@ -40,8 +40,8 @@ chmod u+x ~/.local/bin/kustomize \

    # Helm
    pushd ~/
    curl -s -O -L https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-${opsys}-amd64.tar.gz
    tar xz -f helm-v2.11.0-${opsys}-amd64.tar.gz -C /tmp
    curl -s -O -L https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz
    tar xz -f helm-v2.12.1-${opsys}-amd64.tar.gz -C /tmp

    mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    ~/.local/bin/helm init --client-only
  27. fincd-aws revised this gist Jan 11, 2019. 1 changed file with 15 additions and 12 deletions.
    27 changes: 15 additions & 12 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -25,24 +25,27 @@ curl -so kubectx https://raw.githubusercontent.com/ahmetb/kubectx/master/kubectx
    curl -so kubens https://raw.githubusercontent.com/ahmetb/kubectx/master/kubens \
    && chmod 700 kubens \
    && echo "installed kubens"

    # Kustomize install script
    #opsys=linux # or darwin, or windows
    curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest |\
    grep browser_download |\
    grep -i $opsys |\
    cut -d '"' -f 4 |\
    xargs curl -s -O -L
    #opsys=linux # or darwin, or windows //TODO: check for rate-limiting by GitHub API, lol.
    #curl -s https://api.github.com/repos/kubernetes-sigs/kustomize/releases/latest |\
    # grep browser_download |\
    # grep -i ${opsys} |\
    # cut -d '"' -f 4 |\
    # xargs curl -s -O -L
    curl -s -O -L https://github.com/kubernetes-sigs/kustomize/releases/download/v1.0.10/kustomize_1.0.10_linux_amd64
    mv kustomize_*_${opsys}_amd64 ~/.local/bin/kustomize
    chmod u+x ~/.local/bin/kustomize \
    && echo "installed kustomize"

    # Helm
    pushd ~/
    curl -s -O -L https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-${opsys}-amd64.tar.gz
    mv ${opsys}-amd64/helm ~/.local/bin/
    tar xz -f helm-v2.11.0-${opsys}-amd64.tar.gz -C /tmp

    mv /tmp/${opsys}-amd64/helm ~/.local/bin/
    ~/.local/bin/helm init --client-only
    rm -rfv ${opsys}-amd64
    rm -rfv helm-v2.11.0-${opsys}-amd64.tar.gz
    popd

    # eksctl eksctl.io written by weaveworks
    @@ -55,11 +58,11 @@ mv /tmp/eksctl ~/.local/bin
    if [ ! -d ~/.kube ]; then mkdir ~/.kube; fi

    # **IF** you made the cluster with this user
    # aws eks update-kubeconfig --name cluster_name
    # aws eks update-kubeconfig --name cluster_name
    # else
    #echo "export KUBECONFIG=~/.kube/<thing>:$KUBECONFIG" >> ~/.bashrc

    echo "remember to source ~/.bashrc"

    ## END
    popd
    popd
  28. fincd-aws revised this gist Jan 11, 2019. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -11,10 +11,10 @@ pip install -q --user --upgrade pip awscli aws-shell cfn-flip yamllint \
    pushd ~/.local/bin #gets created by pip

    # Getting Started with Amazon EKS - Install and Configure <b>kubectl</b> for Amazon EKS - https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#get-started-kubectl
    curl -so aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/$opsys/amd64/aws-iam-authenticator \
    curl -so aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/linux/amd64/aws-iam-authenticator \
    && chmod 700 aws-iam-authenticator \
    && echo "installed aws-iam-authenticator"
    curl -so kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/${opsys}/amd64/kubectl \
    curl -so kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.11.5/2018-12-06/bin/linux/amd64/kubectl \
    && chmod 700 kubectl \
    && echo "installed kubectl"

    @@ -39,7 +39,7 @@ chmod u+x ~/.local/bin/kustomize \

    # Helm
    pushd ~/
    curl -s -O -L https://storage.googleapis.com/kubernetes-helm/helm-v2.11.0-${opsys}-amd64.tar.gz
    curl -s -O -L https://storage.googleapis.com/kubernetes-helm/helm-v2.12.1-${opsys}-amd64.tar.gz
    mv ${opsys}-amd64/helm ~/.local/bin/
    ~/.local/bin/helm init --client-only
    rm -rfv ${opsys}-amd64
  29. fincd-aws revised this gist Nov 19, 2018. 1 changed file with 0 additions and 0 deletions.
    Empty file modified setup-local-eks-tools.sh
    100644 → 100755
    Empty file.
  30. @finchd finchd revised this gist Nov 19, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-local-eks-tools.sh
    Original file line number Diff line number Diff line change
    @@ -47,7 +47,7 @@ popd

    # eksctl eksctl.io written by weaveworks
    curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_${opsys}_amd64.tar.gz" | tar xz -C /tmp
    sudo mv /tmp/eksctl ~/.local/bin
    mv /tmp/eksctl ~/.local/bin


    ## Config Files